diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 0be72a1ef5..2c7fd1a0a9 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -3,7 +3,7 @@
# In contrast with the "production" image (which is based on an Alpine image)
# we use a Debian-based image for the devcontainer
-FROM mcr.microsoft.com/devcontainers/python:3.11-bookworm@sha256:5140e54af7a0399a4932dd4c4653d085fcf451b093d7424867df1828ffbb9b81
+FROM mcr.microsoft.com/devcontainers/python:3.11-bookworm@sha256:e754c29c4e3ffcf6c794c1020e36a0812341d88ec9569a34704b975fa89e8848
# InvenTree paths
ENV INVENTREE_HOME="/home/inventree"
@@ -32,12 +32,17 @@ RUN apt update && apt install -y \
poppler-utils weasyprint
# Install packages required for frontend development
-RUN apt install -y \
- yarn nodejs npm
+RUN apt install -y nodejs npm
# Update to the latest stable node version
RUN npm install -g n --ignore-scripts && n lts
-RUN yarn config set network-timeout 600000 -g
+# Install yarn
+RUN npm install -g yarn
+
+# Ensure node and yarn are available at the command line
+RUN node --version && yarn --version
+
+RUN yarn config set httpTimeout 600000 --home
ENTRYPOINT ["/bin/bash", "./init.sh"]
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 13f45ee645..0000000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-polar: inventree
-github: inventree
-custom: [paypal.me/inventree]
diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml
index b12757b647..3c7526de71 100644
--- a/.github/actions/setup/action.yaml
+++ b/.github/actions/setup/action.yaml
@@ -15,6 +15,10 @@ inputs:
required: false
description: 'Install the InvenTree requirements?'
default: 'false'
+ static:
+ required: false
+ description: 'Should the static files be built?'
+ default: 'false'
dev-install:
required: false
description: 'Install the InvenTree development requirements?'
@@ -41,7 +45,7 @@ runs:
# Python installs
- name: Set up Python ${{ env.python_version }}
- if: ${{ inputs.python == 'true' }}
+ if: ${{ inputs.python == 'true' && env.python_version != '3.14' }}
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # pin@v5.0.0
with:
python-version: ${{ env.python_version }}
@@ -51,6 +55,11 @@ runs:
src/backend/requirements-dev.txt
contrib/container/requirements.txt
contrib/dev_reqs/requirements.txt
+ - name: Setup Python 3.14
+ if: ${{ inputs.python == 'true' && env.python_version == '3.14' }}
+ uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # pin@v5.0.0
+ with:
+ python-version: ${{ env.python_version }}
- name: Install Base Python Dependencies
if: ${{ inputs.python == 'true' }}
shell: bash
@@ -89,12 +98,16 @@ runs:
- name: Install dev requirements
if: ${{ inputs.dev-install == 'true' || inputs.install == 'true' }}
shell: bash
- run: uv pip install --require-hashes -r src/backend/requirements-dev.txt
+ run: invoke install --dev
- name: Run invoke install
if: ${{ inputs.install == 'true' }}
shell: bash
- run: invoke install --uv
+ run: invoke install
- name: Run invoke update
if: ${{ inputs.update == 'true' }}
shell: bash
- run: invoke update --uv --skip-backup --skip-static
+ run: invoke update --skip-backup --skip-static
+ - name: Collect static files
+ if: ${{ inputs.static == 'true' }}
+ shell: bash
+ run: invoke static --skip-plugins
diff --git a/.github/scripts/version_check.py b/.github/scripts/version_check.py
index 74c57b967e..8f657edcd2 100644
--- a/.github/scripts/version_check.py
+++ b/.github/scripts/version_check.py
@@ -264,6 +264,7 @@ def main() -> bool:
# Determine which docker tag we are going to use
docker_tags: Optional[list[str]] = None
+ pkg_channel = None
if GITHUB_REF_TYPE == 'tag':
# GITHUB_REF should be of the form /refs/heads/
@@ -278,10 +279,14 @@ def main() -> bool:
docker_tags = [version_tag, 'stable'] if highest_release else [version_tag]
+ # Add release-line tag
+ pkg_channel = '.'.join(version_tag.split('.')[:2]) + '.x'
+
elif GITHUB_REF_TYPE == 'branch':
# Otherwise we know we are targeting the 'master' branch
docker_tags = ['latest']
highest_release = False
+ pkg_channel = GITHUB_BASE_REF
else:
print('Unsupported branch / version combination:')
@@ -310,6 +315,8 @@ def main() -> bool:
if GITHUB_REF_TYPE == 'tag' and highest_release:
env_file.write('stable_release=true\n')
+
+ env_file.write(f'pkg_channel={pkg_channel}\n')
return True
diff --git a/.github/workflows/check_translations.yaml b/.github/workflows/check_translations.yaml
index 7f3cf46758..5fabe38106 100644
--- a/.github/workflows/check_translations.yaml
+++ b/.github/workflows/check_translations.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout Code
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
index 6eab2a60ed..2344dce7a9 100644
--- a/.github/workflows/docker.yaml
+++ b/.github/workflows/docker.yaml
@@ -39,7 +39,7 @@ jobs:
docker: ${{ steps.filter.outputs.docker }}
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2
@@ -67,7 +67,7 @@ jobs:
steps:
- name: Check out repo
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Test Docker Image
@@ -129,7 +129,7 @@ jobs:
steps:
- name: Check out repo
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Run Migration Tests
@@ -153,11 +153,11 @@ jobs:
steps:
- name: Check out repo
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Set Up Python ${{ env.python_version }}
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # pin@v6.1.0
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v6.2.0
with:
python-version: ${{ env.python_version }}
- name: Version Check
@@ -168,13 +168,13 @@ jobs:
echo "git_commit_date=$(git show -s --format=%ci)" >> $GITHUB_ENV
- name: Set up QEMU
if: github.event_name != 'pull_request'
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # pin@v3.7.0
+ uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # pin@v4.0.0
- name: Set up Docker Buildx
if: github.event_name != 'pull_request'
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # pin@v3.11.1
+ uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # pin@v4.0.0
- name: Set up cosign
if: github.event_name != 'pull_request'
- uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # pin@v4.0.0
+ uses: sigstore/cosign-installer@ba7bc0a3fef59531c69a25acd34668d6d3fe6f22 # pin@v4.1.0
- name: Check if Dockerhub login is required
id: docker_login
run: |
@@ -185,14 +185,14 @@ jobs:
fi
- name: Login to Dockerhub
if: github.event_name != 'pull_request' && steps.docker_login.outputs.skip_dockerhub_login != 'true'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # pin@v3.6.0
+ uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # pin@v4.0.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Log into registry ghcr.io
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # pin@v3.6.0
+ uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # pin@v4.0.0
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -201,16 +201,16 @@ jobs:
- name: Extract Docker metadata
if: github.event_name != 'pull_request'
id: meta
- uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # pin@v5.10.0
+ uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # pin@v6.0.0
with:
images: |
inventree/inventree
ghcr.io/${{ github.repository }}
- - uses: depot/setup-action@b0b1ea4f69e92ebf5dea3f8713a1b0c37b2126a5 # pin@v1
+ - uses: depot/setup-action@15c09a5f77a0840ad4bce955686522a257853461 # pin@v1
- name: Push Docker Images
id: push-docker
if: github.event_name != 'pull_request'
- uses: depot/build-push-action@9785b135c3c76c33db102e45be96a25ab55cd507 # pin@v1
+ uses: depot/build-push-action@5f3b3c2e5a00f0093de47f657aeaefcedff27d18 # pin@v1
with:
project: jczzbjkk68
context: .
diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml
index 7e87cc1577..867b127383 100644
--- a/.github/workflows/qc_checks.yaml
+++ b/.github/workflows/qc_checks.yaml
@@ -39,9 +39,12 @@ jobs:
force: ${{ steps.force.outputs.force }}
cicd: ${{ steps.filter.outputs.cicd }}
requirements: ${{ steps.filter.outputs.requirements }}
+ runner-perf: ${{ steps.runner-perf.outputs.runner }}
+ performance: ${{ steps.performance.outputs.force-performance }}
+ submit-performance: ${{ steps.runner-perf.outputs.submit-performance }}
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2
@@ -74,6 +77,29 @@ jobs:
if: |
contains(github.event.pull_request.labels.*.name, 'dependency') ||
contains(github.event.pull_request.labels.*.name, 'full-run')
+ - name: Is performance testing being forced?
+ run: echo "force-performance=true" >> $GITHUB_OUTPUT
+ id: performance
+ if: |
+ contains(github.event.pull_request.labels.*.name, 'performance-run')
+ - name: Which runner to use?
+ env:
+ GITHUB_REF: ${{ github.ref }}
+ PERFORMANCE: ${{ steps.performance.outputs.force-performance }}
+ id: runner-perf
+ # decide if we are running in inventree/inventree -> use codspeed-macro runner else ubuntu-24.04
+ run: |
+ is_main_push=false
+ if [[ '${{ github.event_name }}' == 'push' && "$GITHUB_REF" == 'refs/heads/master' ]]; then
+ is_main_push=true
+ fi
+ if [[ '${{ github.repository }}' == 'inventree/InvenTree' && ( "$is_main_push" == 'true' || "$PERFORMANCE" == 'true' ) ]]; then
+ echo "runner=codspeed-macro" >> "$GITHUB_OUTPUT"
+ echo "submit-performance=true" >> "$GITHUB_OUTPUT"
+ else
+ echo "runner=ubuntu-24.04" >> "$GITHUB_OUTPUT"
+ echo "submit-performance=false" >> "$GITHUB_OUTPUT"
+ fi
pre-commit:
name: Style [pre-commit]
@@ -82,11 +108,11 @@ jobs:
if: needs.paths-filter.outputs.cicd == 'true' || needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.requirements == 'true' || needs.paths-filter.outputs.force == 'true'
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Set up Python ${{ env.python_version }}
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # pin@v6.1.0
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v6.2.0
with:
python-version: ${{ env.python_version }}
cache: "pip"
@@ -104,7 +130,7 @@ jobs:
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.requirements == 'true' || needs.paths-filter.outputs.force == 'true'
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -116,7 +142,7 @@ jobs:
update: true
- name: Check types
run: |
- ty check --python ${Python_ROOT_DIR}/bin/python3
+ ty check --python ${Python_ROOT_DIR}/bin/python3 src/backend
mkdocs:
name: Style [Documentation]
@@ -126,11 +152,11 @@ jobs:
steps:
- name: Checkout Code
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Set up Python ${{ env.python_version }}
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # pin@v6.1.0
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v6.2.0
with:
python-version: ${{ env.python_version }}
- name: Check Config
@@ -164,7 +190,7 @@ jobs:
version: ${{ steps.version.outputs.version }}
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -176,7 +202,7 @@ jobs:
- name: Export API Documentation
run: invoke dev.schema --ignore-warnings --filename src/backend/InvenTree/schema.yml
- name: Upload schema
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: schema.yml
path: src/backend/InvenTree/schema.yml
@@ -225,17 +251,17 @@ jobs:
- name: Extract settings / tags
run: invoke int.export-definitions --basedir docs
- name: Upload settings
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: inventree_settings.json
path: docs/generated/inventree_settings.json
- name: Upload tags
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: inventree_tags.yml
path: docs/generated/inventree_tags.yml
- name: Upload filters
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: inventree_filters.yml
path: docs/generated/inventree_filters.yml
@@ -249,7 +275,7 @@ jobs:
version: ${{ needs.schema.outputs.version }}
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
name: Checkout Code
with:
repository: inventree/schema
@@ -258,7 +284,7 @@ jobs:
- name: Create artifact directory
run: mkdir -p artifact
- name: Download schema artifact
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # pin@v6.0.0
+ uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # pin@v8.0.0
with:
path: artifact
merge-multiple: true
@@ -275,17 +301,20 @@ jobs:
echo "after move"
ls -la artifact
rm -rf artifact
- - uses: stefanzweifel/git-auto-commit-action@28e16e81777b558cc906c8750092100bbb34c5e3 # pin@v7.0.0
+ - uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # pin@v7.1.0
name: Commit schema changes
with:
commit_message: "Update API schema for ${{ env.version }} / ${{ github.sha }}"
python:
name: Tests - inventree-python
- runs-on: ubuntu-24.04
+ runs-on: ${{ needs.paths-filter.outputs.runner-perf }}
needs: ["pre-commit", "paths-filter"]
- if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
+ if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true' || needs.paths-filter.outputs.performance == 'true'
+ permissions:
+ contents: read
+ id-token: write
env:
WRAPPER_NAME: inventree-python
@@ -300,9 +329,10 @@ jobs:
INVENTREE_SITE_URL: http://127.0.0.1:12345
INVENTREE_DEBUG: true
INVENTREE_LOG_LEVEL: WARNING
+ node_version: '>=20.19.6'
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -311,6 +341,8 @@ jobs:
apt-dependency: gettext poppler-utils
dev-install: true
update: true
+ static: true
+ npm: true
- name: Download Python Code For `${WRAPPER_NAME}`
run: git clone --depth 1 https://github.com/inventree/${WRAPPER_NAME} ./${WRAPPER_NAME}
- name: Start InvenTree Server
@@ -324,6 +356,19 @@ jobs:
cd ${WRAPPER_NAME}
invoke check-server
coverage run -m unittest discover -s test/
+ - name: Prepare environment for performance tests
+ run: |
+ pip uninstall pytest-django -y
+ cd ${WRAPPER_NAME}
+ pip install .
+ if: needs.paths-filter.outputs.submit-performance == 'true'
+ - name: Performance Reporting
+ uses: CodSpeedHQ/action@281164b0f014a4e7badd2c02cecad9b595b70537 # pin@v4
+ # check if we are in inventree/inventree - reporting only works in that OIDC context
+ if: github.repository == 'inventree/InvenTree' && needs.paths-filter.outputs.submit-performance == 'true'
+ with:
+ mode: walltime
+ run: pytest ./src/performance --codspeed
coverage:
name: Tests - DB [SQLite] + Coverage ${{ matrix.python_version }}
@@ -334,8 +379,7 @@ jobs:
continue-on-error: true # continue if a step fails so that coverage gets pushed
strategy:
matrix:
- python_version: [3.11]
- # python_version: [3.11, 3.14] # Disabled due to requirement issues
+ python_version: [3.11, 3.14]
env:
INVENTREE_DB_NAME: ./inventree.sqlite
@@ -346,7 +390,7 @@ jobs:
python_version: ${{ matrix.python_version }}
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -355,6 +399,7 @@ jobs:
apt-dependency: gettext poppler-utils
dev-install: true
update: true
+ static: true
- name: Data Export Test
uses: ./.github/actions/migration
- name: Test Translations
@@ -364,13 +409,13 @@ jobs:
- name: Coverage Tests
run: invoke dev.test --check --coverage --translations
- name: Upload raw coverage to artifacts
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: coverage
path: .coverage
retention-days: 14
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # pin@v5.5.1
+ uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # pin@v5.5.2
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -379,10 +424,11 @@ jobs:
performance:
name: Tests - Performance
- runs-on: ubuntu-24.04
+ runs-on: ${{ needs.paths-filter.outputs.runner-perf }}
needs: ["pre-commit", "paths-filter"]
- if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
+ # check if we are in inventree/inventree - reporting only works in that OIDC context
+ if: (needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true') && github.repository == 'inventree/InvenTree' && needs.paths-filter.outputs.submit-performance == 'true'
permissions:
contents: read
id-token: write
@@ -395,7 +441,7 @@ jobs:
INVENTREE_AUTO_UPDATE: true
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -404,10 +450,13 @@ jobs:
apt-dependency: gettext poppler-utils
dev-install: true
update: true
+ npm: true
+ env:
+ node_version: '>=20.19.0'
- name: Performance Reporting
- uses: CodSpeedHQ/action@346a2d8a8d9d38909abd0bc3d23f773110f076ad # pin@v4
+ uses: CodSpeedHQ/action@281164b0f014a4e7badd2c02cecad9b595b70537 # pin@v4
with:
- mode: simulation
+ mode: walltime
run: inv dev.test --pytest
postgres:
@@ -443,7 +492,7 @@ jobs:
- 6379:6379
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -453,6 +502,7 @@ jobs:
pip-dependency: psycopg django-redis>=5.0.0
dev-install: true
update: true
+ static: true
- name: Run Tests
run: invoke dev.test --check --translations
- name: Data Export Test
@@ -491,7 +541,7 @@ jobs:
- 3306:3306
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -501,6 +551,7 @@ jobs:
pip-dependency: mysqlclient
dev-install: true
update: true
+ static: true
- name: Run Tests
run: invoke dev.test --check --translations
- name: Data Export Test
@@ -533,7 +584,7 @@ jobs:
- 5432:5432
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -546,7 +597,7 @@ jobs:
- name: Run Tests
run: invoke dev.test --check --migrations --report --coverage --translations
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # pin@v5.5.1
+ uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # pin@v5.5.2
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -567,7 +618,7 @@ jobs:
INVENTREE_PLUGINS_ENABLED: false
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
name: Checkout Code
@@ -646,7 +697,7 @@ jobs:
VITE_COVERAGE_BUILD: true
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -667,8 +718,14 @@ jobs:
cd src/frontend && npx playwright install --with-deps
- name: Run Playwright tests
id: tests
- run: cd src/frontend && npx nyc playwright test
- - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ run: |
+ cd src/frontend
+ cp ./tests/fixtures/playwright_custom_logo.png ../backend/InvenTree/InvenTree/static/img/playwright_custom_logo.png
+ cp ./tests/fixtures/playwright_custom_splash.png ../backend/InvenTree/InvenTree/static/img/playwright_custom_splash.png
+ invoke static
+ env INVENTREE_CUSTOM_SPLASH="img/playwright_custom_splash.png" INVENTREE_CUSTOM_LOGO="img/playwright_custom_logo.png" npx nyc playwright test --project=customization
+ npx nyc playwright test --project=chromium --project=firefox
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
if: ${{ !cancelled() && steps.tests.outcome == 'failure' }}
with:
name: playwright-report
@@ -677,7 +734,7 @@ jobs:
- name: Report coverage
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@5a1091511ad55cbe89839c7260b706298ca349f7 # pin@v5.5.1
+ uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # pin@v5.5.2
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: inventree/InvenTree
@@ -696,7 +753,7 @@ jobs:
timeout-minutes: 60
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -706,14 +763,14 @@ jobs:
- name: Install dependencies
run: cd src/frontend && yarn install
- name: Build frontend
- run: cd src/frontend && yarn run compile && yarn run build
+ run: cd src/frontend && yarn run compile && yarn run lib && yarn run build
- name: Write version file - SHA
run: cd src/backend/InvenTree/web/static/web/.vite && echo "$GITHUB_SHA" > sha.txt
- name: Zip frontend
run: |
cd src/backend/InvenTree/web/static
zip -r frontend-build.zip web/ web/.vite
- - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # pin@v5.0.0
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
with:
name: frontend-build
path: src/backend/InvenTree/web/static/web
@@ -729,7 +786,7 @@ jobs:
security-events: write
steps:
- name: Checkout repository
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- uses: hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817 # pin@v2
@@ -738,7 +795,7 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # pin@v3
+ uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # pin@v3
with:
sarif_file: results.sarif
category: zizmor
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 35f2aeea44..9e5563ae36 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -20,7 +20,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout Code
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Version Check
@@ -43,7 +43,7 @@ jobs:
contents: write
attestations: write
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -55,7 +55,7 @@ jobs:
- name: Build frontend
run: cd src/frontend && npm run compile && npm run build
- name: Create SBOM for frontend
- uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # pin@v0
+ uses: anchore/sbom-action@57aae528053a48a3f6235f2d9461b05fbcb7366d # pin@v0
with:
artifact-name: frontend-build.spdx
path: src/frontend
@@ -65,26 +65,33 @@ jobs:
run: cd src/backend/InvenTree/web/static/web/.vite && echo "${REF_NAME}" > tag.txt
env:
REF_NAME: ${{ github.ref_name }}
+ - name: Write version file - SOURCE
+ run: cd src/backend/InvenTree/web/static/web/.vite && echo "GitHub Actions build on $(date --utc +%Y-%m-%dT%H:%M:%SZ)" > source.txt
- name: Zip frontend
run: |
cd src/backend/InvenTree/web/static/web
zip -r ../frontend-build.zip * .vite
- name: Attest Build Provenance
id: attest
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # pin@v1
+ uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # pin@v1
with:
subject-path: "${{ github.workspace }}/src/backend/InvenTree/web/static/frontend-build.zip"
- name: Upload frontend
- uses: svenstaro/upload-release-action@6b7fa9f267e90b50a19fef07b3596790bb941741 # pin@2.11.3
+ uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # pin@2.11.4
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: src/backend/InvenTree/web/static/frontend-build.zip
asset_name: frontend-build.zip
tag: ${{ github.ref }}
overwrite: true
+ - name: Upload frontend to artifacts
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # pin@v7.0.0
+ with:
+ name: frontend-build
+ path: src/backend/InvenTree/web/static/frontend-build.zip
- name: Upload Attestation
- uses: svenstaro/upload-release-action@6b7fa9f267e90b50a19fef07b3596790bb941741 # pin@2.11.3
+ uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # pin@2.11.4
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: frontend-build.intoto.jsonl
@@ -107,7 +114,7 @@ jobs:
INVENTREE_DEBUG: true
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -127,10 +134,120 @@ jobs:
cd docs/site
zip -r docs-html.zip *
- name: Publish documentation
- uses: svenstaro/upload-release-action@6b7fa9f267e90b50a19fef07b3596790bb941741 # pin@2.11.3
+ uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # pin@2.11.4
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: docs/site/docs-html.zip
asset_name: docs-html.zip
tag: ${{ github.ref }}
overwrite: true
+
+ build-pkgr:
+ if: github.repository == 'inventree/InvenTree'
+ name: ${{ matrix.target }}
+ runs-on: ubuntu-latest
+ needs: [build]
+ permissions:
+ contents: write
+ strategy:
+ fail-fast: false
+ matrix:
+ target:
+ - ubuntu:22.04
+ - ubuntu:24.04
+ - debian:12
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
+ with:
+ fetch-depth: 0
+ persist-credentials: false
+
+ - name: Get frontend artifact
+ uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # pin@v8.0.0
+ with:
+ name: frontend-build
+ - name: Setup
+ id: setup
+ env:
+ NODE_ID: ${{ github.event.release.node_id }}
+ BRANCH: ${{ github.event.release.target_commitish }}
+ TARGET: ${{github.event.release.target_commitish}}
+ REPO: ${{ github.repository }}
+ VERSION_REF: ${{ github.ref_name }}
+ GH_TOKEN: ${{ github.token }}
+
+ run: |
+ # Get info
+ gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/$REPO/commits/$TARGET > commit.json
+
+ # Extract info
+ echo "INFO extract | Extracting info from github"
+ DATE=$(jq -r '.commit.committer.date' commit.json)
+ SIGNATURE=$(jq -r '.commit.verification.signature' commit.json)
+ FULL_SHA=$(jq -r '.sha' commit.json)
+ SHA=$(echo "$FULL_SHA" | cut -c1-7)
+
+ echo "INFO write | Write VERSION information"
+ echo "$VERSION" > VERSION
+ echo "INVENTREE_COMMIT_HASH='$SHA'" >> VERSION
+ echo "INVENTREE_COMMIT_SHA='$FULL_SHA'" >> VERSION
+ echo "INVENTREE_COMMIT_DATE='$DATE'" >> VERSION
+ echo "INVENTREE_PKG_INSTALLER='PKG'" >> VERSION
+ echo "INVENTREE_PKG_BRANCH='$BRANCH'" >> VERSION
+ echo "INVENTREE_PKG_TARGET='$TARGET'" >> VERSION
+ echo "NODE_ID='$NODE_ID'" >> VERSION
+ echo "SIGNATURE='$SIGNATURE'" >> VERSION
+
+ echo "INFO write | Written VERSION information"
+ echo "### VERSION ###"
+ cat VERSION
+ echo "### VERSION ###"
+
+ # Move frontend build into place
+ mkdir -p src/backend/InvenTree/web/static
+ unzip -qq frontend-build.zip -d src/backend/InvenTree/web/static/web
+
+ echo "INFO write release_version"
+ echo "VERSION=$VERSION_REF" >> $GITHUB_OUTPUT
+ echo "REF=$GITHUB_REF" >> $GITHUB_OUTPUT
+
+ # Disable before.sh for now - will need to be removed once we switch to go.packager.io fully
+ echo "#!/bin/bash" > contrib/packager.io/before.sh
+
+ echo "calculate release channel"
+ pip install --require-hashes -r contrib/dev_reqs/requirements.txt
+ python3 .github/scripts/version_check.py
+ - name: Package
+ uses: pkgr/action/package@c5666febcd31750da6428042193fc5b2fb765435 # pin@main
+ id: package
+ with:
+ target: ${{ matrix.target }}
+ version: ${{ steps.setup.outputs.version }}
+ debug: true
+ cache_prefix: ${{ github.ref_name }}
+ env: |
+ INVENTREE_DB_ENGINE=sqlite3
+ INVENTREE_DB_NAME=database.sqlite3
+ INVENTREE_PLUGINS_ENABLED=true
+ INVENTREE_MEDIA_ROOT=/opt/inventree/media
+ INVENTREE_STATIC_ROOT=/opt/inventree/static
+ INVENTREE_BACKUP_DIR=/opt/inventree/backup
+ INVENTREE_PLUGIN_FILE=/opt/inventree/plugins.txt
+ INVENTREE_CONFIG_FILE=/opt/inventree/config.yaml
+ APP_REPO=inventree/InvenTree
+ - name: Publish to go.packager.io
+ uses: pkgr/action/publish@3bce081ae512c5020856e237d37b3f5479d4aa71 # pin@main
+ with:
+ target: ${{ matrix.target }}
+ token: ${{ secrets.PACKAGER_RELEASE_TOKEN }}
+ repository: inventree/InvenTree
+ channel: ${{ env.pkg_channel }}
+ file: ${{ steps.package.outputs.package_path }}
+ - name: Publish to artifact
+ uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # pin@2.11.4
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ steps.package.outputs.package_path }}
+ asset_name: ${{ matrix.target }}-{{ steps.setup.outputs.version }}.tar.gz
+ tag: ${{ github.ref }}
+ overwrite: true
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index 167b29bc60..11926cacbc 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -32,7 +32,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -59,7 +59,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: SARIF file
path: results.sarif
@@ -67,6 +67,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
+ uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
with:
sarif_file: results.sarif
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index d8b024b852..fc770c386e 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -16,7 +16,7 @@ jobs:
pull-requests: write
steps:
- - uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # pin@v10.1.1
+ - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # pin@v10.2.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: "This issue seems stale. Please react to show this is still important."
diff --git a/.github/workflows/translations.yaml b/.github/workflows/translations.yaml
index 0cce768eeb..20249055bc 100644
--- a/.github/workflows/translations.yaml
+++ b/.github/workflows/translations.yaml
@@ -32,7 +32,7 @@ jobs:
steps:
- name: Checkout Code
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # pin@v6.0.1
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v6.0.2
with:
persist-credentials: false
- name: Environment Setup
@@ -56,7 +56,7 @@ jobs:
echo "Resetting to HEAD~"
git reset HEAD~ || true
- name: crowdin action
- uses: crowdin/github-action@60debf382ee245b21794321190ad0501db89d8c1 # pin@v2
+ uses: crowdin/github-action@8818ff65bfc4322384f983ea37e3926948c11745 # pin@v2
with:
upload_sources: true
upload_translations: false
diff --git a/.pkgr.yml b/.pkgr.yml
index 228a7d55a3..ac9dc06408 100644
--- a/.pkgr.yml
+++ b/.pkgr.yml
@@ -6,7 +6,7 @@ buildpack: https://github.com/matmair/null-buildpack#master
env:
- INVENTREE_DB_ENGINE=sqlite3
- INVENTREE_DB_NAME=database.sqlite3
- - INVENTREE_PLUGINS_ENABLED
+ - INVENTREE_PLUGINS_ENABLED=true
- INVENTREE_MEDIA_ROOT=/opt/inventree/media
- INVENTREE_STATIC_ROOT=/opt/inventree/static
- INVENTREE_BACKUP_DIR=/opt/inventree/backup
@@ -20,6 +20,7 @@ before:
- contrib/packager.io/before.sh
dependencies:
- curl
+ - poppler-utils
- "python3.11 | python3.12 | python3.13 | python3.14"
- "python3.11-venv | python3.12-venv | python3.13-venv | python3.14-venv"
- "python3.11-dev | python3.12-dev | python3.13-dev | python3.14-dev"
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 8505425941..a4d6e46287 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -18,7 +18,7 @@ repos:
exclude: mkdocs.yml
- id: mixed-line-ending
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.14.8
+ rev: v0.15.1
hooks:
- id: ruff-format
args: [--preview]
@@ -29,27 +29,35 @@ repos:
--preview
]
- repo: https://github.com/astral-sh/uv-pre-commit
- rev: 0.9.16
+ rev: 0.10.2
hooks:
- id: pip-compile
name: pip-compile requirements-dev.in
- args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev.txt, --no-strip-extras, --generate-hashes]
+ args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev.txt, -c, src/backend/requirements.txt]
+ files: src/backend/requirements-dev\.(in|txt)$
+ - id: pip-compile
+ name: pip-compile requirements-dev.in 3.14
+ args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev-3.14.txt, -c, src/backend/requirements-3.14.txt, --python-version=3.14, -c, src/backend/requirements.txt]
files: src/backend/requirements-dev\.(in|txt)$
- id: pip-compile
name: pip-compile requirements.txt
- args: [src/backend/requirements.in, -o, src/backend/requirements.txt, --no-strip-extras, --generate-hashes]
+ args: [src/backend/requirements.in, -o, src/backend/requirements.txt]
+ files: src/backend/requirements\.(in|txt)$
+ - id: pip-compile
+ name: pip-compile requirements.txt 3.14
+ args: [src/backend/requirements.in, -o, src/backend/requirements-3.14.txt, --python-version=3.14, -c, src/backend/requirements.txt]
files: src/backend/requirements\.(in|txt)$
- id: pip-compile
name: pip-compile requirements.txt
- args: [contrib/dev_reqs/requirements.in, -o, contrib/dev_reqs/requirements.txt, --no-strip-extras, --generate-hashes, -b, src/backend/requirements.txt]
+ args: [contrib/dev_reqs/requirements.in, -o, contrib/dev_reqs/requirements.txt, -c, src/backend/requirements.txt]
files: contrib/dev_reqs/requirements\.(in|txt)$
- id: pip-compile
name: pip-compile requirements.txt
- args: [docs/requirements.in, -o, docs/requirements.txt, --no-strip-extras, --generate-hashes, -b, src/backend/requirements.txt]
+ args: [docs/requirements.in, -o, docs/requirements.txt, -c, src/backend/requirements.txt]
files: docs/requirements\.(in|txt)$
- id: pip-compile
name: pip-compile requirements.txt
- args: [contrib/container/requirements.in, -o, contrib/container/requirements.txt, --python-version=3.11, --no-strip-extras, --generate-hashes, -b, src/backend/requirements.txt]
+ args: [contrib/container/requirements.in, -o, contrib/container/requirements.txt, --python-version=3.14, -c, src/backend/requirements.txt]
files: contrib/container/requirements\.(in|txt)$
- repo: https://github.com/Riverside-Healthcare/djLint
rev: v1.36.4
@@ -71,7 +79,7 @@ repos:
src/frontend/vite.config.ts |
)$
- repo: https://github.com/biomejs/pre-commit
- rev: v2.3.8
+ rev: v2.3.15
hooks:
- id: biome-check
additional_dependencies: ["@biomejs/biome@1.9.4"]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index af5b9c2437..0b71fd37a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Changelog
-All notable changes to this project will be documented in this file (starting with 1.0.0).
+All major notable changes to this project will be documented in this file (starting with 1.0.0).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
@@ -9,7 +9,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Breaking Changes
-- [#10699](https://github.com/inventree/InvenTree/pull/10699) removes the `PartParameter` and `PartParameterTempalate` models (and associated API endpoints). These have been replaced with generic `Parameter` and `ParameterTemplate` models (and API endpoints). Any external client applications which made use of the old endpoints will need to be updated.
+- [#11303](https://github.com/inventree/InvenTree/pull/11303) removes the `default_supplier` field from the `Part` model. Instead, the `SupplierPart` model now has a `primary` field which is used to indicate which supplier is the default for a given part. Any external client applications which made use of the old `default_supplier` field will need to be updated.
+- [#11500](https://github.com/inventree/InvenTree/pull/11500) fixes a spelling mistake in the database configuration values, which may affect some users running the PostgreSQL database backend. The `tcp_keepalives_internal` option has been renamed to `tcp_keepalives_interval` to reflect the correct PostgreSQL configuration option name. If you are using PostgreSQL, and have set a custom value for the `tcp_keepalives_internal` option, you will need to update this to `tcp_keepalives_interval` in your configuration (either via environment variable or config file).
+
+### Added
+
+- [#11527](https://github.com/inventree/InvenTree/pull/11527) adds a new API endpoint for monitoring the status of a particular background task. This endpoint allows clients to check the status of a background task and receive updates when the task is complete. This is useful for long-running tasks that may take some time to complete, allowing clients to provide feedback to users about the progress of the task.
+- [#11405](https://github.com/inventree/InvenTree/pull/11405) adds default table filters, which hide inactive items by default. The default table filters are overridden by user filter selection, and only apply to the table view initially presented to the user. This means that users can still view inactive items if they choose to, but they will not be shown by default.
+- [#11222](https://github.com/inventree/InvenTree/pull/11222) adds support for data import using natural keys, allowing for easier association of related objects without needing to know their internal database IDs.
+- [#11383](https://github.com/inventree/InvenTree/pull/11383) adds "exists_for_model_id", "exists_for_related_model", and "exists_for_related_model_id" filters to the ParameterTemplate API endpoint. These filters allow users to check for the existence of parameters associated with specific models or related models, improving the flexibility and usability of the API.
+- [#10887](https://github.com/inventree/InvenTree/pull/10887) adds the ability to auto-allocate tracked items against specific build outputs. Currently, this will only allocate items where the serial number of the tracked item matches the serial number of the build output, but in future this may be extended to allow for more flexible allocation rules.
+- [#11372](https://github.com/inventree/InvenTree/pull/11372) adds backup metadata setter and restore metadata validator functions to ensure common footguns are harder to trigger when using the backup and restore functionality.
+- [#11374](https://github.com/inventree/InvenTree/pull/11374) adds `updated_at` field on purchase, sales and return orders.
+
+### Changed
+
+### Removed
+
+- [#11581](https://github.com/inventree/InvenTree/pull/11581) removes the ability to specify arbitrary filters when performing bulk operations via the API. This functionality represented a significant security risk, and was not required for any existing use cases. Bulk operations now only work with a provided list of primary keys.
+
+## 1.2.0 - 2026-02-12
+
+### Breaking Changes
+
+- [#10699](https://github.com/inventree/InvenTree/pull/10699) removes the `PartParameter` and `PartParameterTemplate` models (and associated API endpoints). These have been replaced with generic `Parameter` and `ParameterTemplate` models (and API endpoints). Any external client applications which made use of the old endpoints will need to be updated.
+- [#11035](https://github.com/inventree/InvenTree/pull/11035) moves to a single endpoint for all metadata operations. The previous endpoints for PartMetadata, SupplierPartMetadata, etc have been removed. Any external client applications which made use of the old endpoints will need to be updated.
### Added
@@ -18,15 +42,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Adds parameter support for multiple new model types in [#10699](https://github.com/inventree/InvenTree/pull/10699)
- Allows report generator to produce PDF input controls in [#10969](https://github.com/inventree/InvenTree/pull/10969)
- UI overhaul of parameter management in [#10699](https://github.com/inventree/InvenTree/pull/10699)
+- Allow input controls within generated PDF reports in [#10969](https://github.com/inventree/InvenTree/pull/10969)
### Changed
--
+- Improved stocktake functionality in [#11257](https://github.com/inventree/InvenTree/pull/11257)
### Removed
- Removed python 3.9 / 3.10 support as part of Django 5.2 upgrade in [#10730](https://github.com/inventree/InvenTree/pull/10730)
- Removed the "PartParameter" and "PartParameterTemplate" models (and associated API endpoints) in [#10699](https://github.com/inventree/InvenTree/pull/10699)
- Removed the "ManufacturerPartParameter" model (and associated API endpoints) [#10699](https://github.com/inventree/InvenTree/pull/10699)
+- Removed individual metadata endpoints for all models ([#11035](https://github.com/inventree/InvenTree/pull/11035))
## 1.1.0 - 2025-11-02
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7c62407f07..c589902e9b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -42,7 +42,6 @@ InvenTree/
├─ CONTRIBUTING.md # Contribution guidelines and overview
├─ Procfile # Process definition for Debian/Ubuntu packages
├─ README.md # General project information and overview
-├─ runtime.txt # Python runtime settings for Debian/Ubuntu packages build
├─ SECURITY.md # Project security policy
├─ tasks.py # Action definitions for development, testing and deployment
```
diff --git a/README.md b/README.md
index 9d1dc34200..792e6e267c 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
Open Source Inventory Management System
-[](https://opensource.org/license/MIT)
+[](https://opensource.org/license/MIT)[](https://artifacthub.io/packages/search?repo=inventree)

[](https://inventree.readthedocs.io/en/latest/?badge=latest)

@@ -56,7 +56,7 @@ InvenTree is designed to be **extensible**, and provides multiple options for **
* [InvenTree API](https://docs.inventree.org/en/latest/api/)
* [Python module](https://docs.inventree.org/en/latest/api/python/)
* [Plugin interface](https://docs.inventree.org/en/latest/plugins/)
-* [Third party tools](https://docs.inventree.org/en/latest/plugins/integrate/)
+* [Third party tools](https://inventree.org/extend/integrate/)
### :space_invader: Tech Stack
@@ -200,6 +200,7 @@ Find a full list of used third-party libraries in the license information dialog
+
diff --git a/contrib/container/.env b/contrib/container/.env
index b07299dc7d..33ffc7e5ee 100644
--- a/contrib/container/.env
+++ b/contrib/container/.env
@@ -12,6 +12,7 @@ INVENTREE_TAG=stable
INVENTREE_SITE_URL="http://inventree.localhost"
#INVENTREE_SITE_URL="http://192.168.1.2" # You can specify a local IP address here
#INVENTREE_SITE_URL="https://inventree.my-domain.com" # Or a public domain name (which you control)
+INVENTREE_WEB_PORT=8000
# InvenTree proxy forwarding settings
INVENTREE_USE_X_FORWARDED_HOST=True
diff --git a/contrib/container/Caddyfile b/contrib/container/Caddyfile
index 6c8d0c973a..d854703722 100644
--- a/contrib/container/Caddyfile
+++ b/contrib/container/Caddyfile
@@ -2,6 +2,7 @@
# The following environment variables may be used:
# - INVENTREE_SITE_URL: The upstream URL of the InvenTree site (default: inventree.localhost)
# - INVENTREE_SERVER: The internal URL of the InvenTree container (default: http://inventree-server:8000)
+# - INVENTREE_WEB_PORT: The port on which the InvenTree web server listens (default: 8000)
#
# Note that while this file is a good starting point, it may need to be modified to suit your specific requirements
#
@@ -20,7 +21,7 @@
header Allow GET,HEAD,OPTIONS
header Access-Control-Allow-Origin *
header Access-Control-Allow-Methods GET,HEAD,OPTIONS
- header Access-Control-Allow-Headers Authorization,Content-Type,User-Agent
+ header Access-Control-Allow-Headers Authorization,Content-Type,User-Agent,traceparent
@cors_preflight{args[0]} method OPTIONS
diff --git a/contrib/container/Dockerfile b/contrib/container/Dockerfile
index b943e52711..b7ee19c4f6 100644
--- a/contrib/container/Dockerfile
+++ b/contrib/container/Dockerfile
@@ -9,7 +9,8 @@
# - Runs InvenTree web server under django development server
# - Monitors source files for any changes, and live-reloads server
-FROM python:3.11-slim-trixie@sha256:1d6131b5d479888b43200645e03a78443c7157efbdb730e6b48129740727c312 AS inventree_base
+# Base image last bumped 2026-02-23
+FROM python:3.14-slim-trixie@sha256:486b8092bfb12997e10d4920897213a06563449c951c5506c2a2cfaf591c599f AS inventree_base
# Build arguments for this image
ARG commit_tag=""
diff --git a/contrib/container/docker-compose.yml b/contrib/container/docker-compose.yml
index 5e2e061dd3..9b8abc5b05 100644
--- a/contrib/container/docker-compose.yml
+++ b/contrib/container/docker-compose.yml
@@ -3,7 +3,7 @@
# - gunicorn as the InvenTree web server
# - django-q as the InvenTree background worker process
# - Caddy as a reverse proxy
-# - redis as the cache manager (optional, disabled by default)
+# - redis as the cache manager (optional, enabled by default)
# ---------------------
# READ BEFORE STARTING!
@@ -64,6 +64,8 @@ services:
- .env
expose:
- ${INVENTREE_CACHE_PORT:-6379}
+ volumes:
+ - ${INVENTREE_EXT_VOLUME}/redis:/data
restart: always
# InvenTree web server service
@@ -74,12 +76,14 @@ services:
container_name: inventree-server
# Only change this port if you understand the stack.
expose:
- - 8000
+ - ${INVENTREE_WEB_PORT:-8000}
depends_on:
- inventree-db
- inventree-cache
env_file:
- .env
+ environment:
+ INVENTREE_SERVER: http://inventree-server:${INVENTREE_WEB_PORT}
volumes:
# Data volume must map to /home/inventree/data
- ${INVENTREE_EXT_VOLUME}:/home/inventree/data:z
diff --git a/contrib/container/requirements.txt b/contrib/container/requirements.txt
index 17750212bb..698f701c22 100644
--- a/contrib/container/requirements.txt
+++ b/contrib/container/requirements.txt
@@ -1,27 +1,34 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile contrib/container/requirements.in -o contrib/container/requirements.txt --python-version=3.11 --no-strip-extras --generate-hashes -b src/backend/requirements.txt
-asgiref==3.10.0 \
- --hash=sha256:aef8a81283a34d0ab31630c9b7dfe70c812c95eba78171367ca8745e88124734 \
- --hash=sha256:d89f2d8cd8b56dada7d52fa7dc8075baa08fb836560710d38c292a7a3f78c04e
- # via django
-django==5.2.9 \
- --hash=sha256:16b5ccfc5e8c27e6c0561af551d2ea32852d7352c67d452ae3e76b4f6b2ca495 \
- --hash=sha256:3a4ea88a70370557ab1930b332fd2887a9f48654261cdffda663fef5976bb00a
+# uv pip compile contrib/container/requirements.in -o contrib/container/requirements.txt --python-version=3.14 -c src/backend/requirements.txt
+asgiref==3.11.1 \
+ --hash=sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce \
+ --hash=sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133
# via
+ # -c src/backend/requirements.txt
+ # django
+django==5.2.12 \
+ --hash=sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7 \
+ --hash=sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb
+ # via
+ # -c src/backend/requirements.txt
# -r contrib/container/requirements.in
# django-auth-ldap
-django-auth-ldap==5.2.0 \
- --hash=sha256:08ba6efc0340d9874725a962311b14991e29a33593eb150a8fb640709dbfa80f \
- --hash=sha256:7dc6eb576ba36051850b580e4bdf4464e04bbe7367c3827a3121b4d7c51fb175
- # via -r contrib/container/requirements.in
-gunicorn==23.0.0 \
- --hash=sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d \
- --hash=sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec
+django-auth-ldap==5.3.0 \
+ --hash=sha256:743d8107b146240b46f7e97207dc06cb11facc0cd70dce490b7ca09dd5643d19 \
+ --hash=sha256:aa880415983149b072f876d976ef8ec755a438090e176817998263a6ed9e1038
# via -r contrib/container/requirements.in
+gunicorn==25.1.0 \
+ --hash=sha256:1426611d959fa77e7de89f8c0f32eed6aa03ee735f98c01efba3e281b1c47616 \
+ --hash=sha256:d0b1236ccf27f72cfe14bce7caadf467186f19e865094ca84221424e839b8b8b
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/container/requirements.in
invoke==2.2.1 \
--hash=sha256:2413bc441b376e5cd3f55bb5d364f973ad8bdd7bf87e53c79de3c11bf3feecc8 \
--hash=sha256:515bf49b4a48932b79b024590348da22f39c4942dff991ad1fb8b8baea1be707
- # via -r contrib/container/requirements.in
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/container/requirements.in
mariadb==1.1.14 \
--hash=sha256:0f5fc74023f2e479be159542633f8b5865fee18a36e5a6d4e262387b39a692ee \
--hash=sha256:1a50b4612c0dd5b69690cebb34cef552a7f64dcadeb5aa91d70cd99bf01bc5b3 \
@@ -47,87 +54,82 @@ mysqlclient==2.2.7 \
--hash=sha256:977e35244fe6ef44124e9a1c2d1554728a7b76695598e4b92b37dc2130503069 \
--hash=sha256:a22d99d26baf4af68ebef430e3131bb5a9b722b79a9fcfac6d9bbf8a88800687
# via -r contrib/container/requirements.in
-packaging==25.0 \
- --hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
- --hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via
+ # -c src/backend/requirements.txt
# gunicorn
# mariadb
-psycopg[binary, pool]==3.2.12 \
- --hash=sha256:85c08d6f6e2a897b16280e0ff6406bef29b1327c045db06d21f364d7cd5da90b \
- --hash=sha256:8a1611a2d4c16ae37eada46438be9029a35bb959bb50b3d0e1e93c0f3d54c9ee
+ # wheel
+psycopg[binary, pool]==3.3.2 \
+ --hash=sha256:3e94bc5f4690247d734599af56e51bae8e0db8e4311ea413f801fef82b14a99b \
+ --hash=sha256:707a67975ee214d200511177a6a80e56e654754c9afca06a7194ea6bbfde9ca7
# via -r contrib/container/requirements.in
-psycopg-binary==3.2.12 \
- --hash=sha256:095ccda59042a1239ac2fefe693a336cb5cecf8944a8d9e98b07f07e94e2b78d \
- --hash=sha256:0afb71a99871a41dd677d207c6a988d978edde5d6a018bafaed4f9da45357055 \
- --hash=sha256:100fdfee763d701f6da694bde711e264aca4c2bc84fb81e1669fb491ce11d219 \
- --hash=sha256:13cd057f406d2c8063ae8b489395b089a7f23c39aff223b5ea39f0c4dd640550 \
- --hash=sha256:15e226f0d8af85cc8b2435b2e9bc6f0d40febc79eef76cf20fceac4d902a6a7b \
- --hash=sha256:16db2549a31ccd4887bef05570d95036813ce25fd9810b523ba1c16b0f6cfd90 \
- --hash=sha256:1c1dbeb8e97d00a33dfa9987776ce3d1c1e4cc251dfbd663b8f9e173f5c89d17 \
- --hash=sha256:1d7cedecbe0bb60a2e72b1613fba4072a184a6472d6cc9aa99e540217f544e3e \
- --hash=sha256:2598d0e4f2f258da13df0560187b3f1dfc9b8688c46b9d90176360ae5212c3fc \
- --hash=sha256:26b5927b5880b396231ab6190ee5c8fb47ed3f459b53504ed5419faaf16d3bfb \
- --hash=sha256:294f08b014f08dfd3c9b72408f5e1a0fd187bd86d7a85ead651e32dbd47aa038 \
- --hash=sha256:2aa80ca8d17266507bef853cecefa7d632ffd087883ee7ca92b8a7ea14a1e581 \
- --hash=sha256:2d55009eeddbef54c711093c986daaf361d2c4210aaa1ee905075a3b97a62441 \
- --hash=sha256:310c95a68a9b948b89d6d187622757d57b6c26cece3c3f7c2cbb645ee36531b2 \
- --hash=sha256:32b3e12d9441508f9c4e1424f4478b1a518a90a087cd54be3754e74954934194 \
- --hash=sha256:356b4266e5cde7b5bbcf232f549dedf7fbed4983daa556042bdec397780e044d \
- --hash=sha256:385c7b5cfffac115f413b8e32c941c85ea0960e0b94a6ef43bb260f774c54893 \
- --hash=sha256:3c1e38b1eda54910628f68448598139a9818973755abf77950057372c1fe89a6 \
- --hash=sha256:3e9c9e64fb7cda688e9488402611c0be2c81083664117edcc709d15f37faa30f \
- --hash=sha256:442f20153415f374ae5753ca618637611a41a3c58c56d16ce55f845d76a3cf7b \
- --hash=sha256:489b154891f1c995355adeb1077ee3479e9c9bada721b93270c20243bbad6542 \
- --hash=sha256:48a8e29f3e38fcf8d393b8fe460d83e39c107ad7e5e61cd3858a7569e0554a39 \
- --hash=sha256:49582c3b6d578bdaab2932b59f70b1bd93351ed4d594b2c97cea1611633c9de1 \
- --hash=sha256:58ed30d33c25d7dc8d2f06285e88493147c2a660cc94713e4b563a99efb80a1f \
- --hash=sha256:5b6e505618cb376a7a7d6af86833a8f289833fe4cc97541d7100745081dc31bd \
- --hash=sha256:66a031f22e4418016990446d3e38143826f03ad811b9f78f58e2afbc1d343f7a \
- --hash=sha256:6a898717ab560db393355c6ecf39b8c534f252afc3131480db1251e061090d3a \
- --hash=sha256:7130effd0517881f3a852eff98729d51034128f0737f64f0d1c7ea8343d77bd7 \
- --hash=sha256:72fd979e410ba7805462817ef8ed6f37dd75f9f4ae109bdb8503e013ccecb80b \
- --hash=sha256:77690f0bf08356ca00fc357f50a5980c7a25f076c2c1f37d9d775a278234fefd \
- --hash=sha256:79de3cc5adbf51677009a8fda35ac9e9e3686d5595ab4b0c43ec7099ece6aeb5 \
- --hash=sha256:7b9a99ded7d19b24d3b6fa632b58e52bbdecde7e1f866c3b23d0c27b092af4e3 \
- --hash=sha256:802bd01fb18a0acb0dea491f69a9a2da6034f33329a62876ab5b558a1fb66b45 \
- --hash=sha256:8335d989a4e94df2ccd8a1acbba9d03c4157ea8d73b65b79d447c6dc10b001d8 \
- --hash=sha256:89b3c5201ca616d69ca0c3c0003ca18f7170a679c445c7e386ebfb4f29aa738e \
- --hash=sha256:8ffe75fe6be902dadd439adf4228c98138a992088e073ede6dd34e7235f4e03e \
- --hash=sha256:909de94de7dd4d6086098a5755562207114c9638ec42c52d84c8a440c45fe084 \
- --hash=sha256:940ac69ef6e89c17b3d30f3297a2ad03efdd06a4b1857f81bc533a9108a90eb9 \
- --hash=sha256:95f2806097a49bfd57e0c6a178f77b99487c53c157d9d507aee9c40dd58efdb4 \
- --hash=sha256:9c674887d1e0d4384c06c822bc7fcfede4952742e232ec1e76b5a6ae39a3ddd4 \
- --hash=sha256:9fdf3a0c24822401c60c93640da69b3dfd4d9f29c3a8d797244fe22bfe592823 \
- --hash=sha256:ab02b7d138768fd6ac4230e45b073f7b9fd688d88c04f24c34df4a250a94d066 \
- --hash=sha256:acb1811219a4144539f0baee224a11a2aa323a739c349799cf52f191eb87bc52 \
- --hash=sha256:bfd632f7038c76b0921f6d5621f5ba9ecabfad3042fa40e5875db11771d2a5de \
- --hash=sha256:ce68839da386f137bc8d814fdbeede8f89916b8605e3593a85b504a859243af9 \
- --hash=sha256:d369e79ad9647fc8217cbb51bbbf11f9a1ffca450be31d005340157ffe8e91b3 \
- --hash=sha256:dc68094e00a5a7e8c20de1d3a0d5e404a27f522e18f8eb62bbbc9f865c3c81ef \
- --hash=sha256:deeb06b7141f3a577c3aa8562307e2747580ae43d705a0482603a2c1f110d046 \
- --hash=sha256:e0b5ccd03ca4749b8f66f38608ccbcb415cbd130d02de5eda80d042b83bee90e \
- --hash=sha256:ea049c8d33c4f4e6b030d5a68123c0ccd2ffb77d4035f073db97187b49b6422f \
- --hash=sha256:ea9751310b840186379c949ede5a5129b31439acdb929f3003a8685372117ed8 \
- --hash=sha256:ec82fa5134517af44e28a30c38f34384773a0422ffd545fd298433ea9f2cc5a9 \
- --hash=sha256:eedc410f82007038030650aa58f620f9fe0009b9d6b04c3dc71cbd3bae5b2675 \
- --hash=sha256:ef40601b959cc1440deaf4d53472ab54fa51036c37189cf3fe5500559ac25347 \
- --hash=sha256:ef92d5ba6213de060d1390b1f71f5c3b2fbb00b4d55edee39f3b07234538b64a \
- --hash=sha256:efab679a2c7d1bf7d0ec0e1ecb47fe764945eff75bb4321f2e699b30a12db9b3 \
- --hash=sha256:f33c9e12ed05e579b7fb3c8fdb10a165f41459394b8eb113e7c377b2bd027f61 \
- --hash=sha256:f3bae4be7f6781bf6c9576eedcd5e1bb74468126fa6de991e47cdb1a8ea3a42a \
- --hash=sha256:f6ba1fe35fd215813dac4544a5ffc90f13713b29dd26e9e5be97ba53482bf6d6 \
- --hash=sha256:f7c81bc60560be9eb3c23601237765069ebfa9881097ce19ca6b5ea17c5faa8f \
- --hash=sha256:f8107968a9eadb451cfa6cf86036006fdde32a83cd39c26c9ca46765e653b547 \
- --hash=sha256:f821e0c8a8fdfddfa71acb4f462d7a4c5aae1655f3f5e078970dbe9f19027386
+psycopg-binary==3.3.2 \
+ --hash=sha256:03b7cd73fb8c45d272a34ae7249713e32492891492681e3cf11dff9531cf37e9 \
+ --hash=sha256:04bb2de4ba69d6f8395b446ede795e8884c040ec71d01dd07ac2b2d18d4153d1 \
+ --hash=sha256:0611f4822674f3269e507a307236efb62ae5a828fcfc923ac85fe22ca19fd7c8 \
+ --hash=sha256:0768c5f32934bb52a5df098317eca9bdcf411de627c5dca2ee57662b64b54b41 \
+ --hash=sha256:07a5f030e0902ec3e27d0506ceb01238c0aecbc73ecd7fa0ee55f86134600b5b \
+ --hash=sha256:083c2e182be433f290dc2c516fd72b9b47054fcd305cce791e0a50d9e93e06f2 \
+ --hash=sha256:09b3014013f05cd89828640d3a1db5f829cc24ad8fa81b6e42b2c04685a0c9d4 \
+ --hash=sha256:0ae60e910531cfcc364a8f615a7941cac89efeb3f0fffe0c4824a6d11461eef7 \
+ --hash=sha256:136c43f185244893a527540307167f5d3ef4e08786508afe45d6f146228f5aa9 \
+ --hash=sha256:1586e220be05547c77afc326741dd41cc7fba38a81f9931f616ae98865439678 \
+ --hash=sha256:1e09d0d93d35c134704a2cb2b15f81ffc8174fd602f3e08f7b1a3d8896156cf0 \
+ --hash=sha256:1ea41c0229f3f5a3844ad0857a83a9f869aa7b840448fa0c200e6bcf85d33d19 \
+ --hash=sha256:23d2594af848c1fd3d874a9364bef50730124e72df7bb145a20cb45e728c50ed \
+ --hash=sha256:3789d452a9d17a841c7f4f97bbcba51a21f957ea35641a4c98507520e6b6a068 \
+ --hash=sha256:3ff7489df5e06c12d1829544eaec64970fe27fe300f7cf04c8495fe682064688 \
+ --hash=sha256:43b130e3b6edcb5ee856c7167ccb8561b473308c870ed83978ae478613764f1c \
+ --hash=sha256:44e89938d36acc4495735af70a886d206a5bfdc80258f95b69b52f68b2968d9e \
+ --hash=sha256:458696a5fa5dad5b6fb5d5862c22454434ce4fe1cf66ca6c0de5f904cbc1ae3e \
+ --hash=sha256:50ff10ab8c0abdb5a5451b9315538865b50ba64c907742a1385fdf5f5772b73e \
+ --hash=sha256:522b79c7db547767ca923e441c19b97a2157f2f494272a119c854bba4804e186 \
+ --hash=sha256:59d0163c4617a2c577cb34afbed93d7a45b8c8364e54b2bd2020ff25d5f5f860 \
+ --hash=sha256:5a327327f1188b3fbecac41bf1973a60b86b2eb237db10dc945bd3dc97ec39e4 \
+ --hash=sha256:649c1d33bedda431e0c1df646985fbbeb9274afa964e1aef4be053c0f23a2924 \
+ --hash=sha256:716a586f99bbe4f710dc58b40069fcb33c7627e95cc6fc936f73c9235e07f9cf \
+ --hash=sha256:742ce48cde825b8e52fb1a658253d6d1ff66d152081cbc76aa45e2986534858d \
+ --hash=sha256:74bc306c4b4df35b09bc8cecf806b271e1c5d708f7900145e4e54a2e5dedfed0 \
+ --hash=sha256:7c1feba5a8c617922321aef945865334e468337b8fc5c73074f5e63143013b5a \
+ --hash=sha256:7c43a773dd1a481dbb2fe64576aa303d80f328cce0eae5e3e4894947c41d1da7 \
+ --hash=sha256:8309ee4569dced5e81df5aa2dcd48c7340c8dee603a66430f042dfbd2878edca \
+ --hash=sha256:8db9034cde3bcdafc66980f0130813f5c5d19e74b3f2a19fb3cfbc25ad113121 \
+ --hash=sha256:8ea05b499278790a8fa0ff9854ab0de2542aca02d661ddff94e830df971ff640 \
+ --hash=sha256:90ed9da805e52985b0202aed4f352842c907c6b4fc6c7c109c6e646c32e2f43b \
+ --hash=sha256:94503b79f7da0b65c80d0dbb2f81dd78b300319ec2435d5e6dcf9622160bc2fa \
+ --hash=sha256:9742580ecc8e1ac45164e98d32ca6df90da509c2d3ff26be245d94c430f92db4 \
+ --hash=sha256:9ca24062cd9b2270e4d77576042e9cc2b1d543f09da5aba1f1a3d016cea28390 \
+ --hash=sha256:a9387ab615f929e71ef0f4a8a51e986fa06236ccfa9f3ec98a88f60fbf230634 \
+ --hash=sha256:ac230e3643d1c436a2dfb59ca84357dfc6862c9f372fc5dbd96bafecae581f9f \
+ --hash=sha256:c3a9ccdfee4ae59cf9bf1822777e763bc097ed208f4901e21537fca1070e1391 \
+ --hash=sha256:c5774272f754605059521ff037a86e680342e3847498b0aa86b0f3560c70963c \
+ --hash=sha256:c6464150e25b68ae3cb04c4e57496ea11ebfaae4d98126aea2f4702dd43e3c12 \
+ --hash=sha256:c749770da0947bc972e512f35366dd4950c0e34afad89e60b9787a37e97cb443 \
+ --hash=sha256:cabb2a554d9a0a6bf84037d86ca91782f087dfff2a61298d0b00c19c0bc43f6d \
+ --hash=sha256:d391b70c9cc23f6e1142729772a011f364199d2c5ddc0d596f5f43316fbf982d \
+ --hash=sha256:d45acedcaa58619355f18e0f42af542fcad3fd84ace4b8355d3a5dea23318578 \
+ --hash=sha256:d79b0093f0fbf7a962d6a46ae292dc056c65d16a8ee9361f3cfbafd4c197ab14 \
+ --hash=sha256:d88f32ff8c47cb7f4e7e7a9d1747dcee6f3baa19ed9afa9e5694fd2fb32b61ed \
+ --hash=sha256:d8c899a540f6c7585cee53cddc929dd4d2db90fd828e37f5d4017b63acbc1a5d \
+ --hash=sha256:de9173f8cc0efd88ac2a89b3b6c287a9a0011cdc2f53b2a12c28d6fd55f9f81c \
+ --hash=sha256:df65174c7cf6b05ea273ce955927d3270b3a6e27b0b12762b009ce6082b8d3fc \
+ --hash=sha256:e22bf6b54df994aff37ab52695d635f1ef73155e781eee1f5fa75bc08b58c8da \
+ --hash=sha256:e750afe74e6c17b2c7046d2c3e3173b5a3f6080084671c8aa327215323df155b \
+ --hash=sha256:ea4fe6b4ead3bbbe27244ea224fcd1f53cb119afc38b71a2f3ce570149a03e30 \
+ --hash=sha256:f26f113013c4dcfbfe9ced57b5bad2035dda1a7349f64bf726021968f9bccad3 \
+ --hash=sha256:f3f601f32244a677c7b029ec39412db2772ad04a28bc2cbb4b1f0931ed0ffad7 \
+ --hash=sha256:fc5a189e89cbfff174588665bb18d28d2d0428366cc9dae5864afcaa2e57380b
# via psycopg
-psycopg-pool==3.2.7 \
- --hash=sha256:4b47bb59d887ef5da522eb63746b9f70e2faf967d34aac4f56ffc65e9606728f \
- --hash=sha256:a77d531bfca238e49e5fb5832d65b98e69f2c62bfda3d2d4d833696bdc9ca54b
+psycopg-pool==3.3.0 \
+ --hash=sha256:2e44329155c410b5e8666372db44276a8b1ebd8c90f1c3026ebba40d4bc81063 \
+ --hash=sha256:fa115eb2860bd88fce1717d75611f41490dec6135efb619611142b24da3f6db5
# via psycopg
-pyasn1==0.6.1 \
- --hash=sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 \
- --hash=sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034
+pyasn1==0.6.2 \
+ --hash=sha256:1eb26d860996a18e9b6ed05e7aae0e9fc21619fcee6af91cca9bad4fbea224bf \
+ --hash=sha256:9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b
# via
# pyasn1-modules
# python-ldap
@@ -214,43 +216,49 @@ pyyaml==6.0.3 \
--hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \
--hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \
--hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
- # via -r contrib/container/requirements.in
-setuptools==80.9.0 \
- --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \
- --hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
- # via -r contrib/container/requirements.in
-sqlparse==0.5.3 \
- --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \
- --hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca
- # via django
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/container/requirements.in
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/container/requirements.in
+sqlparse==0.5.5 \
+ --hash=sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba \
+ --hash=sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e
+ # via
+ # -c src/backend/requirements.txt
+ # django
typing-extensions==4.15.0 \
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
# via
- # psycopg
+ # -c src/backend/requirements.txt
# psycopg-pool
-uv==0.9.8 \
- --hash=sha256:0f03bc413c933dbf850ad0dc2dba3df6b80c860a5c65cd767add49da19dadef0 \
- --hash=sha256:14670bf55ecb5cfd0f3654fbf51c58a21dec3ad8ab531079b3ed8599271dc77b \
- --hash=sha256:1b8b5bdcda3e10ea70b618d0609acddc5c725cb58d4caf933030ddedd7c2e98f \
- --hash=sha256:40253d00c1e900a0a61b132b1e0dd4aa83575cfd5302d3671899b6de29b1ef67 \
- --hash=sha256:50d130c46d97d7f10675ebea8608b7b4722c84b5745cd1bb0c8ae6d7984c05d5 \
- --hash=sha256:543693def38fa41b9706aba391111fe8d9dd6be86899d76f9581faf045ac1cb6 \
- --hash=sha256:5af28f1645eb3c50fd34a78508792db2d0799816f4eb5f55e1e6e2c724dfb125 \
- --hash=sha256:6a01d7cd41953ffac583139b10ad1df004a67c0246a6b694eb5bcdbc8c99deaf \
- --hash=sha256:6df2e16f6df32018047c60bab2c0284868ad5c309addba9183ea2eeb71746bf0 \
- --hash=sha256:7038a552159f2291dd0d1f4f66a36261b5f3ed5fcd92e2869186f8e910b2c935 \
- --hash=sha256:75671150d6eb9d5ee829e1fdb8cf86b8e44a66d27cbb996fe807e986c4107b5d \
- --hash=sha256:87c3b65b6d5fcbdeab199d54c74fbf75de19cb534a690c936c5616478a038576 \
- --hash=sha256:99b18bfe92c33c3862b65d74677697e799763e669e0064685f405e7e27517f25 \
- --hash=sha256:9f2f3576c4518ff4f15e48dbca70585a513523c4738bc8cc2e48b20fd1190ce3 \
- --hash=sha256:a4010b3fdabbb3c4f2cf2f7aa3bf6002d00049dcbc54ce0ee5ada32a933b2290 \
- --hash=sha256:bb0f8e83c2a2fc5a802e930cc8a7b71ab068180300a3f27ba38037f9fcb3d430 \
- --hash=sha256:cdbfadca9522422ab9820f5ada071c9c5c869bcd6fee719d20d91d5ec85b2a7d \
- --hash=sha256:d93a2227d23e81ab3a16c30363559afc483e8aca40ea9343b3f326a9a41718c9 \
- --hash=sha256:f52c6a99197028a314d4c1825f7ccb696eb9a88b822d2e2f17046266c75e543e
+uv==0.9.22 \
+ --hash=sha256:012bdc5285a9cdb091ac514b7eb8a707e3b649af5355fe4afb4920bfe1958c00 \
+ --hash=sha256:0cdc653fb601aa7f273242823fa93024f5fd319c66cdf22f36d784858493564c \
+ --hash=sha256:0d8f007616cac5962620252b56a1d8224e9b2de566e78558efe04cc18526d507 \
+ --hash=sha256:1f45e1e0f26dd47fa01eb421c54cfd39de10fd52ac0a9d7ae45b92fce7d92b0b \
+ --hash=sha256:1f979c9d313b4616d9865859ef520bea5df0d4f15c57214589f5676fafa440c1 \
+ --hash=sha256:2a4155cf7d0231d0adae94257ee10d70c57c2f592207536ddd55d924590a8c15 \
+ --hash=sha256:3422b093b8e6e8de31261133b420c34dbef81f3fd1d82f787ac771b00b54adf8 \
+ --hash=sha256:369b55341c6236f42d8fc335876308e5c57c921850975b3019cc9f7ebbe31567 \
+ --hash=sha256:3b2bcce464186f8fafa3bf2aa5d82db4e3229366345399cc3f5bcafd616b8fe0 \
+ --hash=sha256:41c73a4938818ede30e601cd0be87953e5c6a83dc4762e04e626f2eb9b240ebe \
+ --hash=sha256:59c4f6b3659a68c26c50865432a7134386f607432160aad51e2247f862902697 \
+ --hash=sha256:77ec4c101d41d7738226466191a7d62f9fa4de06ea580e0801da2f5cd5fa08aa \
+ --hash=sha256:8f73043ade8ff6335e19fe1f4e7425d5e28aec9cafd72d13d5b40bb1cbb85690 \
+ --hash=sha256:9c238525272506845fe07c0b9088c5e33fcd738e1f49ef49dc3c8112096d2e3a \
+ --hash=sha256:b1985559b38663642658069e8d09fa6c30ed1c67654b7e5765240d9e4e9cdd57 \
+ --hash=sha256:b78f2605d65c4925631d891dec99b677b05f50c774dedc6ef8968039a5bcfdb0 \
+ --hash=sha256:b807bafe6b65fc1fe9c65ffd0d4228db894872de96e7200c44943f24beb68931 \
+ --hash=sha256:d9d4be990bb92a68781f7c98d2321b528667b61d565c02ba978488c0210aa768 \
+ --hash=sha256:e4b61a9c8b8dcbf64e642d2052342d36a46886b8bc3ccc407282962b970101af
# via -r contrib/container/requirements.in
-wheel==0.45.1 \
- --hash=sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729 \
- --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248
+wheel==0.46.3 \
+ --hash=sha256:4b399d56c9d9338230118d705d9737a2a468ccca63d5e813e2a4fc7815d8bc4d \
+ --hash=sha256:e3e79874b07d776c40bd6033f8ddf76a7dad46a7b8aa1b2787a83083519a1803
# via -r contrib/container/requirements.in
diff --git a/contrib/dev_reqs/requirements.txt b/contrib/dev_reqs/requirements.txt
index 3e727175ac..945a8c118e 100644
--- a/contrib/dev_reqs/requirements.txt
+++ b/contrib/dev_reqs/requirements.txt
@@ -1,128 +1,134 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile contrib/dev_reqs/requirements.in -o contrib/dev_reqs/requirements.txt --no-strip-extras --generate-hashes -b src/backend/requirements.txt
-certifi==2025.10.5 \
- --hash=sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de \
- --hash=sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43
- # via requests
-charset-normalizer==3.4.4 \
- --hash=sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad \
- --hash=sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93 \
- --hash=sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394 \
- --hash=sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89 \
- --hash=sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc \
- --hash=sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86 \
- --hash=sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63 \
- --hash=sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d \
- --hash=sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f \
- --hash=sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8 \
- --hash=sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0 \
- --hash=sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505 \
- --hash=sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161 \
- --hash=sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af \
- --hash=sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152 \
- --hash=sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318 \
- --hash=sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72 \
- --hash=sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4 \
- --hash=sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e \
- --hash=sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3 \
- --hash=sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576 \
- --hash=sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c \
- --hash=sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1 \
- --hash=sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8 \
- --hash=sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1 \
- --hash=sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2 \
- --hash=sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44 \
- --hash=sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26 \
- --hash=sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88 \
- --hash=sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016 \
- --hash=sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede \
- --hash=sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf \
- --hash=sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a \
- --hash=sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc \
- --hash=sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0 \
- --hash=sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84 \
- --hash=sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db \
- --hash=sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1 \
- --hash=sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7 \
- --hash=sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed \
- --hash=sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8 \
- --hash=sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133 \
- --hash=sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e \
- --hash=sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef \
- --hash=sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14 \
- --hash=sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2 \
- --hash=sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0 \
- --hash=sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d \
- --hash=sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828 \
- --hash=sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f \
- --hash=sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf \
- --hash=sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6 \
- --hash=sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328 \
- --hash=sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090 \
- --hash=sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa \
- --hash=sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 \
- --hash=sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c \
- --hash=sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb \
- --hash=sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc \
- --hash=sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a \
- --hash=sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec \
- --hash=sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc \
- --hash=sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac \
- --hash=sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e \
- --hash=sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313 \
- --hash=sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569 \
- --hash=sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3 \
- --hash=sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d \
- --hash=sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525 \
- --hash=sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894 \
- --hash=sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3 \
- --hash=sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9 \
- --hash=sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a \
- --hash=sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9 \
- --hash=sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14 \
- --hash=sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25 \
- --hash=sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50 \
- --hash=sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf \
- --hash=sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1 \
- --hash=sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3 \
- --hash=sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac \
- --hash=sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e \
- --hash=sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815 \
- --hash=sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c \
- --hash=sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6 \
- --hash=sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6 \
- --hash=sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e \
- --hash=sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4 \
- --hash=sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84 \
- --hash=sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69 \
- --hash=sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15 \
- --hash=sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191 \
- --hash=sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0 \
- --hash=sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897 \
- --hash=sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd \
- --hash=sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2 \
- --hash=sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794 \
- --hash=sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d \
- --hash=sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074 \
- --hash=sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3 \
- --hash=sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224 \
- --hash=sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838 \
- --hash=sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a \
- --hash=sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d \
- --hash=sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d \
- --hash=sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f \
- --hash=sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8 \
- --hash=sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490 \
- --hash=sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966 \
- --hash=sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9 \
- --hash=sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3 \
- --hash=sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e \
- --hash=sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608
- # via requests
+# uv pip compile contrib/dev_reqs/requirements.in -o contrib/dev_reqs/requirements.txt -c src/backend/requirements.txt
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
+ # via
+ # -c src/backend/requirements.txt
+ # requests
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
+ # via
+ # -c src/backend/requirements.txt
+ # requests
idna==3.11 \
--hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
--hash=sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902
- # via requests
+ # via
+ # -c src/backend/requirements.txt
+ # requests
jc==1.25.6 \
--hash=sha256:27f58befc7ae0a4c63322926c5f1ec892e3eac4a065eff3b07cfe420a6924a07 \
--hash=sha256:7367b59e6e0da8babeede1e5b0da083f3c5aa6b6e585b4aed28dd7c4b2d76162
@@ -205,82 +211,25 @@ pyyaml==6.0.3 \
--hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \
--hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \
--hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
- # via -r contrib/dev_reqs/requirements.in
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/dev_reqs/requirements.in
requests==2.32.5 \
--hash=sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 \
--hash=sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf
- # via -r contrib/dev_reqs/requirements.in
-ruamel-yaml==0.18.15 \
- --hash=sha256:148f6488d698b7a5eded5ea793a025308b25eca97208181b6a026037f391f701 \
- --hash=sha256:dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700
+ # via
+ # -c src/backend/requirements.txt
+ # -r contrib/dev_reqs/requirements.in
+ruamel-yaml==0.19.1 \
+ --hash=sha256:27592957fedf6e0b62f281e96effd28043345e0e66001f97683aa9a40c667c93 \
+ --hash=sha256:53eb66cd27849eff968ebf8f0bf61f46cdac2da1d1f3576dd4ccee9b25c31993
# via jc
-ruamel-yaml-clib==0.2.15 \
- --hash=sha256:014181cdec565c8745b7cbc4de3bf2cc8ced05183d986e6d1200168e5bb59490 \
- --hash=sha256:04d21dc9c57d9608225da28285900762befbb0165ae48482c15d8d4989d4af14 \
- --hash=sha256:05c70f7f86be6f7bee53794d80050a28ae7e13e4a0087c1839dcdefd68eb36b6 \
- --hash=sha256:0ba6604bbc3dfcef844631932d06a1a4dcac3fee904efccf582261948431628a \
- --hash=sha256:11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9 \
- --hash=sha256:1b45498cc81a4724a2d42273d6cfc243c0547ad7c6b87b4f774cb7bcc131c98d \
- --hash=sha256:1bb7b728fd9f405aa00b4a0b17ba3f3b810d0ccc5f77f7373162e9b5f0ff75d5 \
- --hash=sha256:1f66f600833af58bea694d5892453f2270695b92200280ee8c625ec5a477eed3 \
- --hash=sha256:27dc656e84396e6d687f97c6e65fb284d100483628f02d95464fd731743a4afe \
- --hash=sha256:2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c \
- --hash=sha256:2b216904750889133d9222b7b873c199d48ecbb12912aca78970f84a5aa1a4bc \
- --hash=sha256:331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf \
- --hash=sha256:3cb75a3c14f1d6c3c2a94631e362802f70e83e20d1f2b2ef3026c05b415c4900 \
- --hash=sha256:3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a \
- --hash=sha256:424ead8cef3939d690c4b5c85ef5b52155a231ff8b252961b6516ed7cf05f6aa \
- --hash=sha256:45702dfbea1420ba3450bb3dd9a80b33f0badd57539c6aac09f42584303e0db6 \
- --hash=sha256:468858e5cbde0198337e6a2a78eda8c3fb148bdf4c6498eaf4bc9ba3f8e780bd \
- --hash=sha256:46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25 \
- --hash=sha256:46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600 \
- --hash=sha256:480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf \
- --hash=sha256:4b293a37dc97e2b1e8a1aec62792d1e52027087c8eea4fc7b5abd2bdafdd6642 \
- --hash=sha256:4be366220090d7c3424ac2b71c90d1044ea34fca8c0b88f250064fd06087e614 \
- --hash=sha256:4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf \
- --hash=sha256:4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000 \
- --hash=sha256:4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb \
- --hash=sha256:512571ad41bba04eac7268fe33f7f4742210ca26a81fe0c75357fa682636c690 \
- --hash=sha256:542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e \
- --hash=sha256:56ea19c157ed8c74b6be51b5fa1c3aff6e289a041575f0556f66e5fb848bb137 \
- --hash=sha256:5d3c9210219cbc0f22706f19b154c9a798ff65a6beeafbf77fc9c057ec806f7d \
- --hash=sha256:5fea0932358e18293407feb921d4f4457db837b67ec1837f87074667449f9401 \
- --hash=sha256:617d35dc765715fa86f8c3ccdae1e4229055832c452d4ec20856136acc75053f \
- --hash=sha256:64da03cbe93c1e91af133f5bec37fd24d0d4ba2418eaf970d7166b0a26a148a2 \
- --hash=sha256:65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471 \
- --hash=sha256:6f1d38cbe622039d111b69e9ca945e7e3efebb30ba998867908773183357f3ed \
- --hash=sha256:713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524 \
- --hash=sha256:71845d377c7a47afc6592aacfea738cc8a7e876d586dfba814501d8c53c1ba60 \
- --hash=sha256:753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef \
- --hash=sha256:7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043 \
- --hash=sha256:88eea8baf72f0ccf232c22124d122a7f26e8a24110a0273d9bcddcb0f7e1fa03 \
- --hash=sha256:923816815974425fbb1f1bf57e85eca6e14d8adc313c66db21c094927ad01815 \
- --hash=sha256:9b6f7d74d094d1f3a4e157278da97752f16ee230080ae331fcc219056ca54f77 \
- --hash=sha256:a8220fd4c6f98485e97aea65e1df76d4fed1678ede1fe1d0eed2957230d287c4 \
- --hash=sha256:ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d \
- --hash=sha256:ac9b8d5fa4bb7fd2917ab5027f60d4234345fd366fe39aa711d5dca090aa1467 \
- --hash=sha256:badd1d7283f3e5894779a6ea8944cc765138b96804496c91812b2829f70e18a7 \
- --hash=sha256:bdc06ad71173b915167702f55d0f3f027fc61abd975bd308a0968c02db4a4c3e \
- --hash=sha256:bf0846d629e160223805db9fe8cc7aec16aaa11a07310c50c8c7164efa440aec \
- --hash=sha256:bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4 \
- --hash=sha256:c583229f336682b7212a43d2fa32c30e643d3076178fb9f7a6a14dde85a2d8bd \
- --hash=sha256:cb15a2e2a90c8475df45c0949793af1ff413acfb0a716b8b94e488ea95ce7cff \
- --hash=sha256:d290eda8f6ada19e1771b54e5706b8f9807e6bb08e873900d5ba114ced13e02c \
- --hash=sha256:da3d6adadcf55a93c214d23941aef4abfd45652110aed6580e814152f385b862 \
- --hash=sha256:dcc7f3162d3711fd5d52e2267e44636e3e566d1e5675a5f0b30e98f2c4af7974 \
- --hash=sha256:def5663361f6771b18646620fca12968aae730132e104688766cf8a3b1d65922 \
- --hash=sha256:e5e9f630c73a490b758bf14d859a39f375e6999aea5ddd2e2e9da89b9953486a \
- --hash=sha256:e9fde97ecb7bb9c41261c2ce0da10323e9227555c674989f8d9eb7572fc2098d \
- --hash=sha256:ef71831bd61fbdb7aa0399d5c4da06bea37107ab5c79ff884cc07f2450910262 \
- --hash=sha256:f4421ab780c37210a07d138e56dd4b51f8642187cdfb433eb687fe8c11de0144 \
- --hash=sha256:f6d3655e95a80325b84c4e14c080b2470fe4f33b6846f288379ce36154993fb1 \
- --hash=sha256:fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51 \
- --hash=sha256:fe239bdfdae2302e93bd6e8264bd9b71290218fff7084a9db250b55caaccf43f
- # via ruamel-yaml
-urllib3==2.6.0 \
- --hash=sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f \
- --hash=sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1
- # via requests
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
+ # via
+ # -c src/backend/requirements.txt
+ # requests
xmltodict==1.0.2 \
--hash=sha256:54306780b7c2175a3967cad1db92f218207e5bc1aba697d887807c0fb68b7649 \
--hash=sha256:62d0fddb0dcbc9f642745d8bbf4d81fd17d6dfaec5a15b5c1876300aad92af0d
diff --git a/docs/docs/api/schema.md b/docs/docs/api/schema.md
index f4ce2837f3..ba610a0773 100644
--- a/docs/docs/api/schema.md
+++ b/docs/docs/api/schema.md
@@ -7,7 +7,7 @@ The API schema as documented below is generated using the [drf-spectactular](htt
## API Version
-This documentation is for API version: `352`
+This documentation is for API version: `449`
!!! tip "API Schema History"
We track API schema changes, and provide a snapshot of each API schema version in the [API schema repository](https://github.com/inventree/schema/).
diff --git a/docs/docs/app/index.md b/docs/docs/app/index.md
index 5a9c748681..f8cdb49922 100644
--- a/docs/docs/app/index.md
+++ b/docs/docs/app/index.md
@@ -28,6 +28,9 @@ The InvenTree app can be downloaded from either the Android or Apple app stores,
[Android Play Store](https://play.google.com/store/apps/details?id=inventree.inventree_app).
+!!! info "APK Download"
+ As an alternative to using the Android Play Store, the InvenTree app APK file can be downloaded directly via our [polar.sh](https://polar.sh/inventree/products/299bf0d5-af88-4e0f-becf-c007ad37ecf2) page.
+
### iOS
[Apple App Store](https://apps.apple.com/au/app/inventree/id1581731101#?platform=iphone)
diff --git a/docs/docs/assets/images/concepts/ui_breadcrumbs.png b/docs/docs/assets/images/concepts/ui_breadcrumbs.png
new file mode 100644
index 0000000000..40ff611a9b
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_breadcrumbs.png differ
diff --git a/docs/docs/assets/images/concepts/ui_calendar_select.png b/docs/docs/assets/images/concepts/ui_calendar_select.png
new file mode 100644
index 0000000000..53ba27785f
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_calendar_select.png differ
diff --git a/docs/docs/assets/images/concepts/ui_calendar_view.png b/docs/docs/assets/images/concepts/ui_calendar_view.png
new file mode 100644
index 0000000000..53fa6da7e2
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_calendar_view.png differ
diff --git a/docs/docs/assets/images/concepts/ui_dashboard.png b/docs/docs/assets/images/concepts/ui_dashboard.png
new file mode 100644
index 0000000000..dc72b93cff
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_dashboard.png differ
diff --git a/docs/docs/assets/images/concepts/ui_dashboard_edit.png b/docs/docs/assets/images/concepts/ui_dashboard_edit.png
new file mode 100644
index 0000000000..b6fe3df8fa
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_dashboard_edit.png differ
diff --git a/docs/docs/assets/images/concepts/ui_form_add_part.png b/docs/docs/assets/images/concepts/ui_form_add_part.png
new file mode 100644
index 0000000000..af8daf9836
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_form_add_part.png differ
diff --git a/docs/docs/assets/images/concepts/ui_form_edit_po.png b/docs/docs/assets/images/concepts/ui_form_edit_po.png
new file mode 100644
index 0000000000..e5167a5d60
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_form_edit_po.png differ
diff --git a/docs/docs/assets/images/concepts/ui_form_hold_po.png b/docs/docs/assets/images/concepts/ui_form_hold_po.png
new file mode 100644
index 0000000000..bb5598ef55
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_form_hold_po.png differ
diff --git a/docs/docs/assets/images/concepts/ui_global_search.png b/docs/docs/assets/images/concepts/ui_global_search.png
new file mode 100644
index 0000000000..e67712f0f5
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_global_search.png differ
diff --git a/docs/docs/assets/images/concepts/ui_global_search_view_all.png b/docs/docs/assets/images/concepts/ui_global_search_view_all.png
new file mode 100644
index 0000000000..2ba1df8810
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_global_search_view_all.png differ
diff --git a/docs/docs/assets/images/concepts/ui_main_menu.png b/docs/docs/assets/images/concepts/ui_main_menu.png
new file mode 100644
index 0000000000..52c6b1e5d6
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_main_menu.png differ
diff --git a/docs/docs/assets/images/concepts/ui_navigation_menu.png b/docs/docs/assets/images/concepts/ui_navigation_menu.png
new file mode 100644
index 0000000000..d0d0fba863
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_navigation_menu.png differ
diff --git a/docs/docs/assets/images/concepts/ui_navigation_tree.png b/docs/docs/assets/images/concepts/ui_navigation_tree.png
new file mode 100644
index 0000000000..5d274452ab
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_navigation_tree.png differ
diff --git a/docs/docs/assets/images/concepts/ui_notifications_menu.png b/docs/docs/assets/images/concepts/ui_notifications_menu.png
new file mode 100644
index 0000000000..1c899c6822
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_notifications_menu.png differ
diff --git a/docs/docs/assets/images/concepts/ui_panels.png b/docs/docs/assets/images/concepts/ui_panels.png
new file mode 100644
index 0000000000..ea7352b3b7
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_panels.png differ
diff --git a/docs/docs/assets/images/concepts/ui_parametric_select.png b/docs/docs/assets/images/concepts/ui_parametric_select.png
new file mode 100644
index 0000000000..f2d338c46c
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_parametric_select.png differ
diff --git a/docs/docs/assets/images/concepts/ui_parametric_view.png b/docs/docs/assets/images/concepts/ui_parametric_view.png
new file mode 100644
index 0000000000..62d063e191
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_parametric_view.png differ
diff --git a/docs/docs/assets/images/concepts/ui_spotlight.png b/docs/docs/assets/images/concepts/ui_spotlight.png
new file mode 100644
index 0000000000..d45407201f
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_spotlight.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table.png b/docs/docs/assets/images/concepts/ui_table.png
new file mode 100644
index 0000000000..9fe091b63f
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_actions.png b/docs/docs/assets/images/concepts/ui_table_actions.png
new file mode 100644
index 0000000000..07d59757b1
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_actions.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_column_selection.png b/docs/docs/assets/images/concepts/ui_table_column_selection.png
new file mode 100644
index 0000000000..19dc90279a
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_column_selection.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_context_menu.png b/docs/docs/assets/images/concepts/ui_table_context_menu.png
new file mode 100644
index 0000000000..937f748905
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_context_menu.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_download.png b/docs/docs/assets/images/concepts/ui_table_download.png
new file mode 100644
index 0000000000..7c02edaa22
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_download.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_filter_button.png b/docs/docs/assets/images/concepts/ui_table_filter_button.png
new file mode 100644
index 0000000000..1b8073ba12
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_filter_button.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_filter_menu.png b/docs/docs/assets/images/concepts/ui_table_filter_menu.png
new file mode 100644
index 0000000000..0f46c1f7ea
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_filter_menu.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_row_actions.png b/docs/docs/assets/images/concepts/ui_table_row_actions.png
new file mode 100644
index 0000000000..b12b9c92bb
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_row_actions.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_row_selection.png b/docs/docs/assets/images/concepts/ui_table_row_selection.png
new file mode 100644
index 0000000000..b62832c589
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_row_selection.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_search.png b/docs/docs/assets/images/concepts/ui_table_search.png
new file mode 100644
index 0000000000..233bcb3c7e
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_search.png differ
diff --git a/docs/docs/assets/images/concepts/ui_table_sorting.png b/docs/docs/assets/images/concepts/ui_table_sorting.png
new file mode 100644
index 0000000000..9ae097ddec
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_table_sorting.png differ
diff --git a/docs/docs/assets/images/concepts/ui_user_menu.png b/docs/docs/assets/images/concepts/ui_user_menu.png
new file mode 100644
index 0000000000..5966e85619
Binary files /dev/null and b/docs/docs/assets/images/concepts/ui_user_menu.png differ
diff --git a/docs/docs/assets/images/concepts/unit_dimensionless.png b/docs/docs/assets/images/concepts/unit_dimensionless.png
new file mode 100644
index 0000000000..68b8942178
Binary files /dev/null and b/docs/docs/assets/images/concepts/unit_dimensionless.png differ
diff --git a/docs/docs/assets/images/part/part_stocktake_manual.png b/docs/docs/assets/images/part/part_stocktake_manual.png
new file mode 100644
index 0000000000..5d6fa69683
Binary files /dev/null and b/docs/docs/assets/images/part/part_stocktake_manual.png differ
diff --git a/docs/docs/assets/images/part/stocktake_report_dashboard.png b/docs/docs/assets/images/part/stocktake_report_dashboard.png
new file mode 100644
index 0000000000..cc5ddb75ac
Binary files /dev/null and b/docs/docs/assets/images/part/stocktake_report_dashboard.png differ
diff --git a/docs/docs/assets/images/plugin/model_metadata_api.png b/docs/docs/assets/images/plugin/model_metadata_api.png
deleted file mode 100644
index a62340bffa..0000000000
Binary files a/docs/docs/assets/images/plugin/model_metadata_api.png and /dev/null differ
diff --git a/docs/docs/assets/images/stock/part_tracking_history.png b/docs/docs/assets/images/stock/part_tracking_history.png
new file mode 100644
index 0000000000..cf31097ffe
Binary files /dev/null and b/docs/docs/assets/images/stock/part_tracking_history.png differ
diff --git a/docs/docs/assets/images/stock/stock_item_tracking_history.png b/docs/docs/assets/images/stock/stock_item_tracking_history.png
new file mode 100644
index 0000000000..895fb61e04
Binary files /dev/null and b/docs/docs/assets/images/stock/stock_item_tracking_history.png differ
diff --git a/docs/docs/concepts/units.md b/docs/docs/concepts/units.md
index b46e61a745..ce71012455 100644
--- a/docs/docs/concepts/units.md
+++ b/docs/docs/concepts/units.md
@@ -72,6 +72,27 @@ Custom units can be defined to provide a new physical quantity, link existing un
!!! tip "More Info"
For further information, refer to the [pint documentation](https://pint.readthedocs.io/en/stable/advanced/defining.html) regarding custom unit definition
+### Built-in Custom Units
+
+InvenTree provides the following built-in custom units:
+
+| Unit | Description |
+| ---- | ----------- |
+| `piece` | A single item, dimensionless |
+| `each` | A single item, dimensionless |
+| `dozen` | Twelve items, dimensionless |
+| `hundred` | One hundred items, dimensionless |
+| `thousand` | One thousand items, dimensionless |
+
### Create Custom Units
To view, edit and create custom units, locate the *Physical Units* tab in the [settings panel](../settings/global.md).
+
+
+### Dimensionless Units
+
+It is possible to define custom dimensionless units. These units can be used to provide context to otherwise dimensionless quantities.
+
+To create a new dimensionless unit, you must enter the literal `1` as the definition of the unit:
+
+{{ image("concepts/unit_dimensionless.png", "Creating a dimensionless custom unit") }}
diff --git a/docs/docs/concepts/user_interface.md b/docs/docs/concepts/user_interface.md
new file mode 100644
index 0000000000..665b9fcf02
--- /dev/null
+++ b/docs/docs/concepts/user_interface.md
@@ -0,0 +1,301 @@
+---
+title: User Interface
+---
+
+## User Interface
+
+The InvenTree user interface is designed to be intuitive and user-friendly, providing easy access to the various features and functions of the system. The interface is organized into several key components, including navigation menus, settings, forms, tables, search functionality, and more.
+
+The interface is designed for large-format displays, and as such is explicitly *not* optimized for mobile devices. However, the interface is responsive and should work on a wide range of desktop screen sizes.
+
+## Navigation
+
+Navigation throughout the InvenTree interface is designed to be straightforward and efficient, allowing users to quickly access the various sections and features of the system. The navigation is organized into several key areas, including the main menu, navigation menu, and page panels.
+
+### Main Menu
+
+The main menu is located at the top of the interface and provides access to the primary sections of the system:
+
+{{ image("concepts/ui_main_menu.png", "Main Menu") }}
+
+From the main menu, users can access the following items:
+
+- [Navigation Menu](#navigation-menu)
+- [Dashboard](#dashboard)
+- [Global Search](#search)
+- [Spotlight](#spotlight)
+- [Barcode Scanning](#barcode-scanning)
+- [Notifications](#notifications)
+- [User Menu](#user-menu)
+
+As well as allowing navigation to the following main sections:
+
+- [Parts](../part/index.md)
+- [Stock](../stock/index.md)
+- [Manufacturing](../manufacturing/index.md)
+- [Purchasing](../purchasing/index.md)
+- [Sales](../sales/index.md)
+
+### Navigation Menu
+
+The global navigation menu is located on the left-hand side of the interface and provides access to the various sections of the system.
+
+{{ image("concepts/ui_navigation_menu.png", "Navigation Menu") }}
+
+The navigation menu is organized into several key areas, including:
+
+- **Navigation:** Provides access to the main sections of the system, including Parts, Stock, Manufacturing, Purchasing, and Sales.
+- **Settings:** Quick access to user settings, system settings, and the admin interface.
+- **Actions:** Provides quick access to commonly used actions
+- **Documentation:** Links to the online documentation.
+- **About:** InvenTree version and license information.
+
+### User Menu
+
+The user menu is located in the top-right corner of the interface and provides access to user-specific settings and actions.
+
+{{ image("concepts/ui_user_menu.png", "User Menu") }}
+
+The user menu provides access to the following items:
+
+- **User Settings:** Access to [user settings](../settings/user.md).
+- **System Settings:** Access to [global settings](../settings/global.md) settings. *Note: Access to system settings may be restricted based on user permissions.*
+- **Admin Interface:** Access to the [admin interface](../settings/admin.md) for data management. *Note: Access to the admin interface may be restricted based on user permissions.*
+- **Change Color Mode:** Toggle between light and dark color modes.
+- **About InvenTree:** View version and license information about InvenTree.
+- **Logout:** Log out of the InvenTree system.
+
+### Page Panels
+
+Most detail pages views within InvenTree are organized into panels, which provide a structured layout for displaying information and actions related to the current page.
+
+Panels are arranged in a vertical stack on the left side of the page, with the main content area on the right. Each panel contains related information and actions, allowing users to easily navigate and interact with the content.
+
+{{ image("concepts/ui_panels.png", "Page Panels") }}
+
+#### Collapse Panels
+
+The panel sidebar can be collapsed to provide more space for the main content area. To collapse or expand the panel sidebar, click the collapse icon located at the bottom of the sidebar. To expand the sidebar again, click the expand icon that appears when the sidebar is collapsed.
+
+### Breadcrumbs
+
+On some pages, a breadcrumb navigation trail is provided at the top of the page, just below the main menu. Breadcrumbs provide a visual representation of the user's current location within the system and allow for easy navigation back to previous pages.
+
+{{ image("concepts/ui_breadcrumbs.png", "Breadcrumb Navigation") }}
+
+### Navigation Tree
+
+On some pages, a navigation tree is provided on the left-hand side of the page, next to the breadcrumbs. The navigation tree provides a hierarchical view of the current section of the system, allowing users to quickly navigate to related pages and sections.
+
+Click on the navigation tree icon to expand the tree and view the available navigation options:
+
+{{ image("concepts/ui_navigation_tree.png", "Navigation Tree") }}
+
+## Dashboard
+
+The dashboard provides a customizable landing page for users when they log in to the system. The dashboard can be configured to display a variety of widgets and information panels, providing users with quick access to important data and actions.
+
+{{ image("concepts/ui_dashboard.png", "Dashboard") }}
+
+### Editing Layout
+
+To edit the layout (add, remove, or rearrange widgets) of the dashboard, open the dashboard context menu (located at the top-right corner of the dashboard) and view the available options:
+
+{{ image("concepts/ui_dashboard_edit.png", "Dashboard Context Menu") }}
+
+### Custom Widgets
+
+In addition to the set of built-in widgets provided by InvenTree, custom dashboard widgets can be implemented using [plugins](../plugins/mixins/ui.md#dashboard-items). This allows users to create personalized dashboard experiences tailored to their specific needs and workflows.
+
+## Table Views
+
+Information throughout the InvenTree interface is often presented in tabular format, allowing users to easily view and interact with large datasets. Tables are designed to be flexible and customizable, providing a range of features to enhance the user experience.
+
+{{ image("concepts/ui_table.png", "Table View") }}
+
+### Pagination
+
+The pagination controls are located at the bottom of the table, allowing users to navigate through large datasets by moving between pages. Users can also adjust the number of rows displayed per page using the pagination settings.
+
+### Row Selection
+
+For tables where data selection is supported, a checkbox is provided at the left-hand side of each row, allowing users to select one or more rows for further actions. A master checkbox is also provided in the table header, allowing users to quickly select or deselect all rows in the table.
+
+!!! info "Pagination and Row Selection"
+ When using the "master select" checkbox to select all rows, only the rows on the current page will be selected.
+
+{{ image("concepts/ui_table_row_selection.png", "Row Selection") }}
+
+### Table Actions
+
+A particular table view may have a set of actions associated with it, which are typically located at the top-left corner of the table. These actions may include options for adding new entries, or performing bulk actions on [selected rows](#row-selection).
+
+{{ image("concepts/ui_table_actions.png", "Table Actions") }}
+
+### Searching
+
+Some tables support searching, allowing users to quickly find specific entries within the dataset. The search bar is located at the top-right corner of the table view:
+
+{{ image("concepts/ui_table_search.png", "Table Search") }}
+
+### Column Selection
+
+Some tables allow the user to toggle the visibility of certain columns to, enabling a more customized view of the data.
+
+Column selection is accessed via the "Select Columns" menu, located to the top-right of the table view:
+
+{{ image("concepts/ui_table_column_selection.png", "Column Selection") }}
+
+### Filtering
+
+The dataset (which is fetched dynamically from the server via an API request) can be filtered by providing query parameters to the API endpoint.
+
+Select the "table filters" button to open the filter selection menu
+
+{{ image("concepts/ui_table_filter_button.png", "Table Filter Button") }}
+
+{{ image("concepts/ui_table_filter_menu.png", "Table Filter Menu") }}
+
+Table filters are saved across browser sessions, allowing users to maintain their preferred filter settings when returning to the particular table view.
+
+### Data Sorting
+
+Some table columns support data sorting, allowing the dataset to be sorted in ascending or descending order based on the values in that column. To sort a column, click on the column header. Clicking the column header again will toggle the sort order between ascending and descending. The current sort order is indicated by an arrow icon in the column header.
+
+{{ image("concepts/ui_table_sorting.png", "Data Sorting") }}
+
+### Data Export
+
+Some tables support downloading of the dataset in various formats (e.g. CSV, Excel, PDF). If data download is available for a given table, the "export data" button will be located at the top-right corner of the table view.
+
+This opens the "Export Data" form, which allows the user to select the desired file format for download, as well as any additional options related to the data export.
+
+{{ image("concepts/ui_table_download.png", "Data Download") }}
+
+### Row Actions
+
+In some tables, there may be specific actions associated with individual rows, allowing users to perform actions directly on a particular entry in the dataset. Row actions are typically accessed via an "actions" menu located at the right-hand side of each row.
+
+{{ image("concepts/ui_table_row_actions.png", "Row Actions") }}
+
+### Right-Click Context Menu
+
+For rows that support row actions, a right-click context menu is also available, providing quick access to the same set of actions without needing to click on the "actions" menu.
+
+{{ image("concepts/ui_table_context_menu.png", "Right-Click Context Menu") }}
+
+### Row Navigation
+
+For tables which reference other objects within the system, clicking on a row will navigate to the detail page for that particular entry. For example, clicking on a row in the "Part" table will navigate to the detail page for that specific part.
+
+## Calendar Views
+
+Some [table views](#table-views) can be switched to a calendar view, which provides a visual representation of data based on date fields. The calendar view allows users to easily see and interact with data that is organized by date, such as scheduled tasks, events, or deadlines.
+
+To switch to the "calendar view" (for a table which supports it), click on the "calendar view" button located above and to the right of the table view:
+
+{{ image("concepts/ui_calendar_select.png", "Calendar View Button") }}
+
+This will display the data in a calendar format:
+
+{{ image("concepts/ui_calendar_view.png", "Calendar View") }}
+
+## Parametric Views
+
+Some [table views](#table-views) can be switched to a parametric view, which provides a visual representation of data based on specific parameters or attributes. The parametric view allows users to easily see and interact with data that is organized by certain characteristics, such as categories, types, or other relevant attributes.
+
+To switch to the "parametric view" (for a table which supports it), click on the "parametric view" button located above and to the right of the table view:
+
+{{ image("concepts/ui_parametric_select.png", "Parametric View Button") }}
+
+This will display the data in a parametric format:
+
+{{ image("concepts/ui_parametric_view.png", "Parametric View") }}
+
+## Forms
+
+Data entry and editing within InvenTree is typically performed through the use of forms, which provide a structured interface for inputting and modifying data. Forms are designed to be user-friendly and efficient, allowing users to quickly enter and update information within the system.
+
+Forms are typically displayed as a modal dialog, separated into multiple sections and fields.
+
+### Data Creation
+
+Example: Creating a new part via the "Add Part" form:
+
+{{ image("concepts/ui_form_add_part.png", "Add Part Button") }}
+
+### Data Editing
+
+Example: Editing an existing purchase order via the "Edit Purchase Order" form:
+
+{{ image("concepts/ui_form_edit_po.png", "Edit Purchase Order") }}
+
+### Confirm Actions
+
+Many actions within InvenTree require user confirmation before they can be executed. This is typically implemented through the use of confirmation dialogs, which prompt the user to confirm their intention before proceeding with the action.
+
+{{ image("concepts/ui_form_hold_po.png", "Confirmation Dialog") }}
+
+## Global Search
+
+Accessible from the [main menu](#main-menu), the global search functionality allows users to quickly find specific items or information within the InvenTree system. The search icon is located at the top of the interface and provides a convenient way to search across all sections of the system.
+
+Clicking on the "search" icon (in the menu bar) opens the search menu, which allows users to enter search queries and view results from across the system.
+
+{{ image("concepts/ui_global_search.png", "Global Search") }}
+
+Search results are organized by category (e.g. Parts, Stock, Manufacturing, etc.) and provide quick access to the relevant pages for each search result.
+
+### Detail View
+
+To navigate to the detail page for a particular search result, simply click on the desired result from the search results list. This will take you directly to the relevant page within the InvenTree system, allowing you to view and interact with the specific item or information you were searching for.
+
+### Full Results
+
+The "global search" menu provides a limited set of search results for each category, typically showing the most relevant or recent results. To view the full set of search results for a particular category, click on the "View all results" button located at the top-left of the search results list for that category:
+
+{{ image("concepts/ui_global_search_view_all.png", "View Full Search Results") }}
+
+### Collapse Result Groups
+
+To collapse a particular category of search results in the global search menu, click on the "collapse" icon located at the top-right corner of the search results list for that category. This will hide the search results for that category, allowing you to focus on other categories or search results.
+
+### Remove Result Groups
+
+To remove a particular category of search results from the global search menu, click on the "remove" icon located at the top-right corner of the search results list for that category.
+
+## Spotlight
+
+The user interface features a "spotlight" search functionality, which provides a quick and efficient way to access common actions or navigate to specific pages within the InvenTree system. The spotlight search is designed to enhance user productivity by allowing users to quickly find and execute actions without needing to navigate through menus or remember specific page locations.
+
+{{ image("concepts/ui_spotlight.png", "Spotlight Search") }}
+
+### Open Spotlight
+
+To open the "spotlight" search, click on the "spotlight" icon located in the main menu at the top of the interface. This will open the spotlight search menu, allowing you to enter search queries and view available actions.
+
+Alternatively, the spotlight search can be opened using the keyboard shortcut `Ctrl + K` (or `Cmd + K` on macOS), providing a quick and convenient way to access the spotlight functionality without needing to click on the menu icon.
+
+### Disable Spotlight
+
+Users may opt to disable the spotlight search functionality if they do not find it useful or prefer not to use it. To disable the spotlight search, navigate to your [user settings](../settings/user.md) and locate the option to disable the spotlight feature. Once disabled, the spotlight search will no longer be accessible from the main menu or via keyboard shortcuts.
+
+## Barcode Scanning
+
+## Notifications
+
+## Customization
+
+## User Permissions
+
+Many aspects of the user interface are controlled by user permissions, which determine what actions and features are available to each user based on their assigned roles and permissions within the system. This allows for a highly customizable user experience, where different users can have access to different features and functionality based on their specific needs and responsibilities within the organization.
+
+If a user does not have permission to access a particular feature or section of the system, that feature will be hidden from their view in the user interface. This helps to ensure that users only see the features and information that are relevant to their role, reducing clutter and improving usability.
+
+## Language Support
+
+The InvenTree user interface supports multiple languages, allowing users to interact with the system in their preferred language.
+
+The default system language can be configured by the system administrator in the [server configuration options](../start/config.md#basic-options).
+
+Additionally, users can select their preferred language in their [user settings](../settings/user.md), allowing them to override the system default language with their own choice. This provides a personalized experience for each user, ensuring that they can interact with the system in the language they are most comfortable with.
diff --git a/docs/docs/develop/contributing.md b/docs/docs/develop/contributing.md
index 479e6813c6..7918bd9572 100644
--- a/docs/docs/develop/contributing.md
+++ b/docs/docs/develop/contributing.md
@@ -62,6 +62,7 @@ InvenTree roughly follow the [GitLab flow](https://about.gitlab.com/topics/versi
There are nominally 5 active branches:
- `master` - The main development branch
- `stable` - The latest stable release
+- `next-breaking` - The next breaking release (e.g. 2.0, 3.0) with all deprecated features removed
- `l10n` - Translation branch: Source to Crowdin
- `l10_crowdin` - Translation branch: Source from Crowdin
- `y.y.x` - Release branch for the currently supported version (e.g. `0.5.x`)
@@ -115,10 +116,41 @@ The translation process is as follows:
4. Translations made in Crowdin are automatically pushed back to the `l10_crowdin` branch by Crowdin once they are approved
5. The `l10_crowdin` branch is merged back into `master` by a maintainer periodically
+### `next-breaking` Branch
+
+Used for easier testing of plugins and integrations against the next major release. It is branched from master when a major release is cut and updated on minor release. The branch is not build into docker images or packages and not meant to be run in production.
+
+
+All deprecated features (REST or python API endpoints mostly) are removed from this branch after each minor release. This allows plugin developers to test their plugins against the next major release early and identify any extensive changes before the major release is cut.
+
+Only breaking changes are added to this branch. No new features should be added at any point to this branch, only breaking removals / changes.
+
+Before a major release is cut (1.12.5 > 2.0.0), this branch is merged back into `master`.
+
+
+During the life-time of a major release line (1.0.1, 1.1.x, 1.2.x, 1.3.x, ..., 1.12.5) all deprecation removals are collected in this branch.
+On every minor release (1.11.8 > 1.12.0) the `master` is rebased onto the `next-breaking` branch.
+
+Every time a change with depreations is merged into `master`, a follow up PR that removes the newly-introduced deprecation is created targeting the `next-breaking` branch. After the next minor is released and `master` was rebased into `next-breaking` all the PRs from the previous minor release line can be merged into the `next-breaking` branch. Deprecation removals for the - possibly - long running major release line can be collected this way without having a large number of deprecation removals PRs open.
+
## API versioning
The [API version]({{ sourcefile("src/backend/InvenTree/InvenTree/api_version.py") }}) needs to be bumped every time when the API is changed.
+### Understanding API shape
+
+While the default Open API schema generation provides a good overview of the API endpoints, it does not provide insights into the shape of the underlying API (serializer) code.
+
+The default schema generation cli command `invoke dev.schema` / endpoint `/api/schema/` can be enhanced by setting the schema generation level in the config file or via the [debugging environment variable or config value](../start/config.md#debugging-and-logging-options) `INVENTREE_SCHEMA_LEVEL`.
+
+At level 1 only simple attributes describing the underlying Django Rest Framework API view of a endpoint are added under the `x-inventree-meta` key.
+
+At level 2 details about the inheritance of the view (key `x-inventree-components`) and model (key `x-inventree-model`) are added. This allows to trace back the view to the underlying serializer and model and ensure naming of endpoints is consistent with the data model.
+
+!!! note "For experiments only"
+ There are no CI or system checks to use these additional attributes yet. This is an experimental feature to help developers understand the API shape and how it changes better.
+
+
## Environment
### Software Versions
diff --git a/docs/docs/hooks.py b/docs/docs/hooks.py
index 52e5998e51..2cd00cd586 100644
--- a/docs/docs/hooks.py
+++ b/docs/docs/hooks.py
@@ -304,6 +304,6 @@ def on_post_build(*args, **kwargs):
if missing:
raise NotImplementedError(
'Missing Settings:\n'
- + f"There are {len(missing)} missing settings in the '{group}' group:\n"
+ + f"There are {len(missing)} missing settings in the '{group}' group:\n- "
+ '\n- '.join(missing)
)
diff --git a/docs/docs/manufacturing/allocate.md b/docs/docs/manufacturing/allocate.md
index 9df1ded15e..4594e85839 100644
--- a/docs/docs/manufacturing/allocate.md
+++ b/docs/docs/manufacturing/allocate.md
@@ -108,9 +108,9 @@ Set this option to *True* to allow substitute parts (as specified by the BOM) to
Allocation of tracked stock items is slightly more complex. Instead of being allocated against the *Build Order*, tracked stock items must be allocated against an individual *Build Output*.
-Allocating tracked stock items to particular build outputs is performed in the *Pending Items* tab:
+Allocating tracked stock items to particular build outputs is performed in the *Incomplete Outputs* tab:
-In the *Pending Items* tab, we can see that each build output has a stock allocation requirement which must be met before that build output can be completed:
+In the *Incomplete Outputs* tab, we can see that each build output has a stock allocation requirement which must be met before that build output can be completed:
{{ image("build/build_allocate_tracked_parts.png", "Allocate tracked parts") }}
@@ -126,6 +126,12 @@ Here we can see that the incomplete build outputs (serial numbers 15 and 14) now
!!! note "Example: Tracked Stock"
Let's say we have 5 units of "Tracked Part" in stock - with 1 unit allocated to the build output. Once we complete the build output, there will be 4 units of "Tracked Part" in stock, with 1 unit being marked as "installed" within the assembled part
+### Automatic Stock Allocation
+
+Tracked stock items can be automatically allocated to build outputs using the *Auto Allocate* button in the *Incomplete Outputs* tab. This will attempt to allocate tracked stock items to build outputs based on matching serial numbers.
+
+For each build output, the auto-allocation routine will attempt to find a matching component item with the same serial number. If such a stock item is found, and it is available for use, it will be allocated to that build output.
+
## Consuming Stock
Allocating stock items to a build order does not immediately remove them from stock. Instead, the stock items are marked as "allocated" against the build order, and are only removed from stock when they are "consumed" by the build order.
diff --git a/docs/docs/part/stocktake.md b/docs/docs/part/stocktake.md
index b986c6b01f..a226587b91 100644
--- a/docs/docs/part/stocktake.md
+++ b/docs/docs/part/stocktake.md
@@ -1,10 +1,10 @@
---
-title: Part Stock History
+title: Part Stocktake
---
-## Part Stock History
+## Part Stocktake
-InvenTree can track the historical stock levels of parts, allowing users to view past stocktake data and generate reports based on this information.
+InvenTree can record the historical stock levels of parts, allowing users to view past stocktake data and generate reports based on this information.
A *Stocktake* refers to a "snapshot" of stock levels for a particular part, at a specific point in time. Stocktake information is used for tracking a historical record of the quantity and value of part stock.
@@ -14,18 +14,18 @@ In particular, an individual *Stocktake* record tracks the following information
- A reference to the [part](./index.md) which is being counted
- The total number of individual [stock items](../stock/index.md) available
- The total stock quantity of available stock
-- The total cost of stock on hand
+- The total value range of stock on hand
### Stock Items vs Stock Quantity
*Stock Items* refers to the number of stock entries (e.g. *"3 reels of capacitors"*). *Stock Quantity* refers to the total cumulative stock count (e.g. *"4,560 total capacitors"*).
-### Cost of Stock on Hand
+### Value Range of Stock on Hand
-The total cost of stock on hand is calculated based on the provided pricing data. For stock items which have a recorded *cost* (e.g. *purchase price*), this value is used. If no direct pricing information is available for a particular stock item, the price range of the part itself is used.
+The total value range of stock on hand is calculated based on the provided pricing data. For stock items which have a recorded *cost* (e.g. *purchase price*), this value is used. If no direct pricing information is available for a particular stock item, the price range of the part itself is used.
-!!! info "Cost Range"
- Cost data is provided as a *range* of values, accounting for any variability in available pricing data.
+!!! info "Value Range"
+ Value data is provided as a *range* of values, accounting for any variability in available pricing data.
### Display Historical Stock Data
@@ -39,9 +39,45 @@ If this tab is not visible, ensure that the *Enable Stock History* [user setting
{{ image("part/part_stocktake_enable_tab.png", "Enable stock history tab") }}
-## Stock History Settings
+### Stocktake Entry Generation
-There are a number of configuration options available in the [settings view](../settings/global.md):
+By default, stocktake entries are generated automatically at regular intervals (see [settings](#stock-history-settings) below). However, users can generate a stocktake entry on demand, using the *Generate Stocktake Entry* button in the *Stock History* tab:
+
+{{ image("part/part_stocktake_manual.png", "Generate stocktake entry") }}
+
+This will schedule the generation of a new stocktake entry for the selected part, and the new entry will be visible in the stock history data once the generation process is complete.
+
+## Stocktake Reports
+
+In addition to the part stocktake entries, which are periodically generated for all parts in the database, users can also generate a stocktake *report*, against a particular set of input parameters. Instead of generating a stocktake entry for a single part, this process generates a report which contains stocktake data for all parts which match the specified parameters.
+
+The generated report (once completed) will be available for download as a CSV file, and will contain the stocktake entry data for all parts which match the specified parameters.
+
+### Report Options
+
+The following parameters can be specified when generating a stocktake report:
+
+| Parameter | Description |
+| --------- | ----------- |
+| Part | If provided, the report will only include stocktake data for the specified part, including and variant parts. If left blank, the report will include data for all parts in the database. |
+| Category | If provided, the report will only include stocktake data for parts which belong to the specified category, including any sub-categories. If left blank, the report will include data for all parts in the database. |
+| Location | If provided, the report will only include stocktake data for parts which have stock items located at the specified location, including any sub-locations. If left blank, the report will include data for all parts in the database. |
+
+### Generating a Stocktake Report
+
+The following methods for generating a stocktake report via the user interface are available:
+
+#### Dashboard Widget
+
+A dashboard widget is available for generating stocktake reports, which can be added to any dashboard view:
+
+{{ image("part/stocktake_report_dashboard.png", "Stocktake dashboard widget") }}
+
+Here, the user can specify the report parameters, and then click the *Generate Report* button to generate a new stocktake report based on the specified parameters.
+
+## Stocktake Settings
+
+There are a number of configuration options available for controlling the behavior of part stocktake functionality in the [system settings view](../settings/global.md):
| Name | Description | Default | Units |
| ---- | ----------- | ------- | ----- |
@@ -51,9 +87,9 @@ There are a number of configuration options available in the [settings view](../
{{ globalsetting("STOCKTAKE_DELETE_OLD_ENTRIES")}}
{{ globalsetting("STOCKTAKE_DELETE_DAYS") }}
-{{ image("part/part_stocktake_settings.png", "Stock history settings") }}
+{{ image("part/part_stocktake_settings.png", "Stocktake settings") }}
-### Enable Stock History
+### Enable Stocktake
Enable or disable stocktake functionality. Note that by default, stocktake functionality is disabled.
@@ -61,10 +97,10 @@ Enable or disable stocktake functionality. Note that by default, stocktake funct
Configure the number of days between generation of [automatic stocktake reports](#automatic-stocktake). If this value is set to zero, automatic stocktake reports will not be generated.
-### Delete Old Stock History Entries
+### Delete Old Stocktake Entries
-If enabled, stock history entries older than the specified number of days will be automatically deleted from the database.
+If enabled, stocktake entries older than the specified number of days will be automatically deleted from the database.
-### Stock History Deletion Interval
+### Stocktake Deletion Interval
-Configure how many days historical stock records are retained in the database.
+Configure how many days historical stocktake records are retained in the database.
diff --git a/docs/docs/plugins/builtin/inventree_barcode.md b/docs/docs/plugins/builtin/inventree_barcode.md
index ee7ba38b3d..2c8e10c97a 100644
--- a/docs/docs/plugins/builtin/inventree_barcode.md
+++ b/docs/docs/plugins/builtin/inventree_barcode.md
@@ -14,8 +14,8 @@ This plugin is a *mandatory* plugin, and is always enabled.
This plugin provides selection of the barcode format to use when generating labels. The format can be selected from:
-- **JSON Barcodes**: This format is used for generating barcodes in JSON format, which is a 'human readable' format.
- **Short Barcodes**: This format is used for generating barcodes in a short format, which is a more compact representation of the barcode data.
+- **JSON Barcodes**: This format is used for generating barcodes in JSON format, which is a more verbose format. This format is not recommended for use in production environments, as it can be more difficult to parse and may not be supported by all barcode scanners. It is supported for legacy purposes, and is not recommended for use in new deployments.
Additionally, if the "Short Barcodes" format is selected, the user can specify the prefix used for the barcode. This prefix is used to identify the barcode format, and can be set to any value. The default value is `INV-` - although can be changed.
diff --git a/docs/docs/plugins/builtin/inventree_exporter.md b/docs/docs/plugins/builtin/inventree_exporter.md
index 661e644cb8..a6d6aedc94 100644
--- a/docs/docs/plugins/builtin/inventree_exporter.md
+++ b/docs/docs/plugins/builtin/inventree_exporter.md
@@ -18,9 +18,9 @@ This plugin has no configurable settings.
## Usage
-To export table data using this plugin, first click the *Download Data* button in the table toolbar:
+To export table data using this plugin, first click the *Export Data* button in the table toolbar:
-{{ image("download_data.png", base="plugin/builtin", title="Download Data") }}
+{{ image("download_data.png", base="plugin/builtin", title="Export Data") }}
Then, select the *InvenTree Exporter* plugin from the list of available plugins:
diff --git a/docs/docs/plugins/install.md b/docs/docs/plugins/install.md
index eedc97ca4a..3d18d58850 100644
--- a/docs/docs/plugins/install.md
+++ b/docs/docs/plugins/install.md
@@ -65,9 +65,7 @@ Admin users can install plugins directly from the web interface, via the "Plugin
{{ image("plugin/plugin_install_web.png", "Install plugin via web interface") }}
-Enter the package name into the form as shown below. You can add a path and a version. Leave
-the version field empty for the latest version. In case the package is on pypi the path can
-be omitted. Pip will find it automatically.
+Enter the package name into the form as shown below. You can add a path and a version. Leave the version field empty for the latest version. In case the package is on pypi the path can be omitted. Pip will find it automatically.
{{ image("plugin/plugin_install_git.png", "Install plugin from git") }}
diff --git a/docs/docs/plugins/metadata.md b/docs/docs/plugins/metadata.md
index 605436b4c9..762deb9c6e 100644
--- a/docs/docs/plugins/metadata.md
+++ b/docs/docs/plugins/metadata.md
@@ -42,12 +42,7 @@ print(part.metadata)
### API Access
-For models which provide this metadata field, access is also provided via the API. Append `/metadata/` to the detail endpoint for a particular model instance to access.
-
-For example:
-
-{{ image("plugin/model_metadata_api.png", "Access model metadata via API", maxheight="400px") }}
-
+For models which provide this metadata field, access is also provided via the API. Use the generic `/metadata///` endpoint to retrieve or update metadata information.
#### PUT vs PATCH
diff --git a/docs/docs/settings/error_codes.md b/docs/docs/settings/error_codes.md
index 1de6491a18..59874a9402 100644
--- a/docs/docs/settings/error_codes.md
+++ b/docs/docs/settings/error_codes.md
@@ -84,23 +84,27 @@ This is a security measure to prevent plugins from changing the core functionali
An error occurred when discovering or initializing a machine type from a plugin. This likely indicates a faulty or incompatible plugin.
#### INVE-E13
-
**Error reading InvenTree configuration file**
An error occurred while reading the InvenTree configuration file. This might be caused by a syntax error or invalid value in the configuration file.
#### INVE-E14
-
**Could not import Django**
Django is not installed in the current Python environment. This means that the InvenTree backend is not running within the correct [python virtual environment](../start/index.md#virtual-environment) or that the required Python packages were not installed correctly.
#### INVE-E15
-
**Python version not supported**
This error occurs attempting to run InvenTree on a version of Python which is older than the minimum required version. We [require Python {{ config.extra.min_python_version }} or newer](../start/index.md#python-requirements)
+#### INVE-E16
+**Restore was stopped due to critical issues with backup environment - Backend**
+
+A potentially critical mismatch between the backup environment and the current restore environment was detected during the restore process. The restore was stopped to prevent potential data loss or corruption. Check the logs for more information about the detected issues.
+
+While using [invoke](../start/invoke.md), this can be overridden with the `--restore-allow-newer-version` flag.
+
### INVE-W (InvenTree Warning)
Warnings - These are non-critical errors which should be addressed when possible.
@@ -192,6 +196,21 @@ Therefore the registration user interface elements will not be shown.
To enable registration, the email settings must be configured correctly. See [email configuration](../start/config.md#email-settings).
+#### INVE-W12
+**Signup attempt blocked because registration is disabled - Backend**
+
+A user attempted to sign up but registration is currently disabled via the system settings. This is to prevent unauthorized or unwanted user registrations.
+
+To enable registration, adjust the relevant settings (for regular or SSO registration) to allow user signups.
+
+#### INVE-W13
+**Current environment inconsistent with backup environment - Backend**
+
+The environment in which the backup was taken does not match the current environment. This might lead to issues with restoring the backup, as the backup might contain data that is not compatible with the current environment. Plugins for example might be missing or are present in a different version - this can lead to issues with restoring the backup.
+
+This warning will not prevent you from restoring the backup but it is recommended to ensure the mentioned issues are resolved before restoring the backup to prevent issues with the restored instance.
+
+
### INVE-I (InvenTree Information)
Information — These are not errors but information messages. They might point out potential issues or just provide information.
@@ -208,5 +227,9 @@ An issue was detected with the application of a filtering serializer or decorato
This warning should only be raised during development and not in production, if you recently installed a plugin you might want to contact the plugin author.
+#### INVE-I3
+**Backup and restore information - Backend**
+Information about the metadata of a backup being restored or the environment in which a backup is being restored to. This information can be helpful to understand the backup and restore process and to identify potential issues with the backup or the restore process.
+
### INVE-M (InvenTree Miscellaneous)
Miscellaneous — These are information messages that might be used to mark debug information or other messages helpful for the InvenTree team to understand behaviour.
diff --git a/docs/docs/settings/global.md b/docs/docs/settings/global.md
index d443084077..66dddda681 100644
--- a/docs/docs/settings/global.md
+++ b/docs/docs/settings/global.md
@@ -170,6 +170,7 @@ Configuration of label printing:
{{ globalsetting("PART_SALABLE") }}
{{ globalsetting("PART_VIRTUAL") }}
{{ globalsetting("PART_COPY_BOM") }}
+{{ globalsetting("PART_BOM_ALLOW_ZERO_QUANTITY") }}
{{ globalsetting("PART_COPY_PARAMETERS") }}
{{ globalsetting("PART_COPY_TESTS") }}
{{ globalsetting("PART_CATEGORY_PARAMETERS") }}
diff --git a/docs/docs/settings/import.md b/docs/docs/settings/import.md
index c712216217..2fbdb7e37d 100644
--- a/docs/docs/settings/import.md
+++ b/docs/docs/settings/import.md
@@ -19,6 +19,22 @@ External data can be imported via the admin interface, allowing for rapid integr
To import data, the user must have the appropriate permissions. The user must be a *staff* user, and have the `change` permission for the model in question.
+### Mapping to Existing Data
+
+Many data models in InvenTree have relationships to other models. When importing data, the user must ensure that the related data is correctly mapped to existing records in the database. For example, when importing a list of parts, the user must ensure that the *part category* data has already been imported, and that the part category field in the imported file is correctly mapped to the existing part category records in the database.
+
+!!! warning "Multi Level Import"
+ Multi-level imports are explicitly not supported. Only one model can be imported at a time, and the user must ensure that any related data is imported beforehand.
+
+### Primary Key Fields
+
+The default field used to map to existing data (i.e. related models which have already been imported into the database) is using the `ID` (primary key) field. Thus, it is important to ensure that the imported data file contains the correct `ID` values for any related data, otherwise the import process will fail to correctly link the imported data to existing records in the database.
+
+Some models allow for mapping based on other "natural key" fields (e.g. the `reference` field for orders, or the `name` field for part categories). In such cases, the user must ensure that the correct field is mapped to the relevant column in the imported data file.
+
+!!! warning "Unique Identifiers"
+ If a unique identifier cannot be determined for any related field, the user must manually map the relevant field to the correct existing record in the database, during the import process.
+
## Import Session
Importing data is a multi-step process, which is managed via an *import session*. An import session is created when the user initiates a data import, and is used to track the progress of the data import process.
@@ -33,6 +49,20 @@ Import sessions can be managed from the [Admin Center](./admin.md#admin-center)
Depending on the type of data being imported, an import session can be created from an appropriate page context in the user interface. In such cases, the import session will be automatically linked to the relevant data type being imported.
+### Starting an Import Session
+
+An import session can be initiated from a number of different contexts within the user interface:
+
+### Admin Center
+
+Staff users can create an import session from within the [Admin Center](./admin.md#admin-center). This is a general-purpose import session, and the user will be required to select the type of data to import.
+
+Users can quickly navigate to the data import managemement page from the [spotlight search](../concepts/user_interface.md#spotlight), by searching for "import" and selecting the "Import data" option.
+
+### Data Tables
+
+Some data tables allow the user to create an import session directly from the table view. In such cases, the import session will be automatically linked to the relevant data type being imported, and additional [context information](#context-sensitive-importing) will be automatically provided.
+
## Import Process
The following steps outline the process of importing data into InvenTree:
diff --git a/docs/docs/start/accounts.md b/docs/docs/start/accounts.md
index 35c53f6453..262a75c221 100644
--- a/docs/docs/start/accounts.md
+++ b/docs/docs/start/accounts.md
@@ -26,7 +26,7 @@ invoke superuser
Or, if you are running InvenTree in a Docker container:
```bash
-docker exec -rm -it inventree-server invoke superuser
+docker exec -it inventree-server invoke superuser
```
### User Management
diff --git a/docs/docs/start/backup.md b/docs/docs/start/backup.md
index 4861b7e77f..e96cc0088a 100644
--- a/docs/docs/start/backup.md
+++ b/docs/docs/start/backup.md
@@ -29,6 +29,7 @@ The following configuration options are available for backup:
| INVENTREE_BACKUP_DATE_FORMAT | backup_date_format | Date format string used to format timestamps in backup filenames. | `%Y-%m-%d-%H%M%S` |
| INVENTREE_BACKUP_DATABASE_FILENAME_TEMPLATE | backup_database_filename_template | Template string used to generate database backup filenames. | `InvenTree-db-{datetime}.{extension}` |
| INVENTREE_BACKUP_MEDIA_FILENAME_TEMPLATE | backup_media_filename_template | Template string used to generate media backup filenames. | `InvenTree-media-{datetime}.{extension}` |
+| INVENTREE_BACKUP_RESTORE_ALLOW_NEWER_VERSION | backup_restore_allow_newer_version | If True, allows restoring a backup created with a newer version of InvenTree. This is dangerous as it can lead to hard-to-debug data loss. | False |
### Storage Backend
diff --git a/docs/docs/start/config.md b/docs/docs/start/config.md
index c739ad2a97..09f3c068bd 100644
--- a/docs/docs/start/config.md
+++ b/docs/docs/start/config.md
@@ -100,6 +100,7 @@ The following debugging / logging options are available:
| INVENTREE_JSON_LOG | json_log | log as json | False |
| INVENTREE_WRITE_LOG | write_log | Enable writing of log messages to file at config base | False |
| INVENTREE_CONSOLE_LOG | console_log | Enable logging to console | True |
+| INVENTREE_SCHEMA_LEVEL | schema.level | Set level of added schema extensions detail (0-3) 0 = including no additional detail | 0 |
### Debug Mode
@@ -274,7 +275,7 @@ If running with a PostgreSQL database backend, the following additional options
| INVENTREE_DB_TIMEOUT | database.timeout | Database connection timeout (s) | 2 |
| INVENTREE_DB_TCP_KEEPALIVES | database.tcp_keepalives | TCP keepalive | 1 |
| INVENTREE_DB_TCP_KEEPALIVES_IDLE | database.tcp_keepalives_idle | Idle TCP keepalive | 1 |
-| INVENTREE_DB_TCP_KEEPALIVES_INTERNAL | database.tcp_keepalives_internal | Internal TCP keepalive | 1|
+| INVENTREE_DB_TCP_KEEPALIVES_INTERVAL | database.tcp_keepalives_interval | TCP keepalive interval | 1|
| INVENTREE_DB_TCP_KEEPALIVES_COUNT | database.tcp_keepalives_count | TCP keepalive count | 5 |
| INVENTREE_DB_ISOLATION_SERIALIZABLE | database.serializable | Database isolation level configured to "serializable" | False |
@@ -286,6 +287,18 @@ If running with a MySQL database backend, the following additional options are a
| --- | --- | --- | --- |
| INVENTREE_DB_ISOLATION_SERIALIZABLE | database.serializable | Database isolation level configured to "serializable" | False |
+### SQLite Settings
+
+!!! warning "SQLite Performance"
+ SQLite is not recommended for production use, and should only be used for testing or development purposes. If you are using SQLite in production, you may want to adjust the following settings to improve performance.
+
+If running with a SQLite database backend, the following additional options are available:
+
+| Environment Variable | Configuration File | Description | Default |
+| --- | --- | --- | --- |
+| INVENTREE_DB_TIMEOUT | database.timeout | Database connection timeout (s) | 10 |
+| INVENTREE_DB_WAL_MODE | database.wal_mode | Enable Write-Ahead Logging (WAL) mode for SQLite databases | True |
+
## Caching
InvenTree can be configured to use [redis](https://redis.io) as a global cache backend.
@@ -333,8 +346,8 @@ The following email settings are available:
| INVENTREE_EMAIL_PORT | email.port | Email server port | 25 |
| INVENTREE_EMAIL_USERNAME | email.username | Email account username | *Not specified* |
| INVENTREE_EMAIL_PASSWORD | email.password | Email account password | *Not specified* |
-| INVENTREE_EMAIL_TLS | email.tls | Enable TLS support | False |
-| INVENTREE_EMAIL_SSL | email.ssl | Enable SSL support | False |
+| INVENTREE_EMAIL_TLS | email.tls | Enable STARTTLS support (commonly port 567) | False |
+| INVENTREE_EMAIL_SSL | email.ssl | Enable legacy SSL/TLS support (commonly port 465) | False |
| INVENTREE_EMAIL_SENDER | email.sender | Sending email address | *Not specified* |
| INVENTREE_EMAIL_PREFIX | email.prefix | Prefix for subject text | [InvenTree] |
@@ -400,14 +413,10 @@ It is also possible to use alternative storage backends for static and media fil
| Environment Variable | Configuration File | Description | Default |
| --- | --- | --- | --- |
| INVENTREE_S3_ACCESS_KEY | storage.s3.access_key | Access key | *Not specified* |
-| INVENTREE_S3_SECRET_KEY | storage.s3.secret_key | Secret key |
-| *Not specified* |
-| INVENTREE_S3_BUCKET_NAME | storage.s3.bucket_name | Bucket name, required by most providers |
-| *Not specified* |
-| INVENTREE_S3_REGION_NAME | storage.s3.region_name | S3 region name |
-| *Not specified* |
-| INVENTREE_S3_ENDPOINT_URL | storage.s3.endpoint_url | Custom S3 endpoint URL, defaults to AWS endpoints if not set |
-| *Not specified* |
+| INVENTREE_S3_SECRET_KEY | storage.s3.secret_key | Secret key | *Not specified* |
+| INVENTREE_S3_BUCKET_NAME | storage.s3.bucket_name | Bucket name, required by most providers | *Not specified* |
+| INVENTREE_S3_REGION_NAME | storage.s3.region_name | S3 region name | *Not specified* |
+| INVENTREE_S3_ENDPOINT_URL | storage.s3.endpoint_url | Custom S3 endpoint URL, defaults to AWS endpoints if not set | *Not specified* |
| INVENTREE_S3_LOCATION | storage.s3.location | Sub-Location that should be used | inventree-server |
| INVENTREE_S3_DEFAULT_ACL | storage.s3.default_acl | Default ACL for uploaded files, defaults to provider default if not set | *Not specified* |
| INVENTREE_S3_VERIFY_SSL | storage.s3.verify_ssl | Verify SSL certificate for S3 endpoint | True |
diff --git a/docs/docs/start/installer.md b/docs/docs/start/installer.md
index 562b2bd936..997a0fefc8 100644
--- a/docs/docs/start/installer.md
+++ b/docs/docs/start/installer.md
@@ -118,6 +118,9 @@ Extra python packages can be installed by setting the environment variable `SETU
The used database backend can be configured with environment variables (before the first setup) or in the config file after the installation. Check the [configuration section](./config.md#database-options) for more information.
+!!! warning "SQLite Performance"
+ SQLite is not recommended for production use, as it is not designed for high concurrency.
+
## Moving Data
To change the data storage location, link the new location to `/opt/inventree/data`. A rough outline of steps to achieve this could be:
diff --git a/docs/docs/start/migrate.md b/docs/docs/start/migrate.md
index f8189c08f7..7eff14a5a1 100644
--- a/docs/docs/start/migrate.md
+++ b/docs/docs/start/migrate.md
@@ -117,7 +117,7 @@ Once the migration process completes, the database records are now updated! Rest
## Migrating Between Incompatible Database Versions
-There may be occasions when InvenTree data needs to be migrated between two database installations running *incompatible* versions of the database software. For example, InvenTree may be running on a Postgres database running on version 12, and the administrator wishes to migrate the data to a Postgres version 17 database.
+There may be occasions when InvenTree data needs to be migrated between two database installations running *incompatible* versions of the database software. For example, InvenTree may be running on a Postgres database running on version 12, and the administrator wishes to migrate the data to a Postgres version {{ config.extra.docker_postgres_version }} database.
!!! warning "Advanced Procedure"
The following procedure is *advanced*, and should only be attempted by experienced database administrators. Always ensure that database backups are made before attempting any migration procedure.
@@ -127,7 +127,7 @@ Due to inherit incompatibilities between different major versions of database so
!!! warning "InvenTree Version"
It is *crucial* that both InvenTree database installations are running the same version of InvenTree software! If this is not the case, data migration may fail, and there is a possibility that data corruption can occur. Ensure that the original database is up to date, by running `invoke update`.
-The following instructions assume that the source (old) database is Postgres version 15, and the target (new) database is Postgres version 17. Additionally, it assumes that the InvenTree installation is running under [docker / docker compose](./docker.md), for simplicity. Adjust commands as required for other InvenTree configurations or database software.
+The following instructions assume that the source (old) database is Postgres version 15, and the target (new) database is Postgres version {{ config.extra.docker_postgres_version }}. Additionally, it assumes that the InvenTree installation is running under [docker / docker compose](./docker.md), for simplicity. Adjust commands as required for other InvenTree configurations or database software.
The overall procedure is as follows:
@@ -154,13 +154,13 @@ docker compose down
### Remove Old Database Files
-The raw database files are incompatible between different major versions of Postgres. Thus, the old database files must be removed before starting the new database.
+The raw database files are incompatible between different major versions of Postgres. Thus, the old database files must be removed before starting the new database. Rather than removing the database directory, we will move the database files to a temporary location, just in case we need to revert back to the old database.
!!! warning "Data Loss"
Ensure that a complete backup of the old database has been made before proceeding! Removing the database files will result in data loss if a backup does not exist.
```
-rm -rf ./path/to/database/*
+mv ./path/to/database ./path/to/database_backup
```
!!! info "Database Location"
@@ -168,7 +168,7 @@ rm -rf ./path/to/database/*
### Start New Database
-Update the InvenTree docker configuration to use the new version of Postgres (e.g. `postgres:17`), and then start the InvenTree installation:
+Update the InvenTree docker configuration to use the new version of Postgres (e.g. `postgres:{{ config.extra.docker_postgres_version }}`), and then start the InvenTree installation:
```
docker compose up -d
diff --git a/docs/docs/start/processes.md b/docs/docs/start/processes.md
index 826644a596..643668aee3 100644
--- a/docs/docs/start/processes.md
+++ b/docs/docs/start/processes.md
@@ -16,7 +16,22 @@ InvenTree supports a [number of database backends]({% include "django.html" %}/r
Refer to the [database configuration guide](./config.md#database-options) for more information on selecting and configuring the database backend.
-In running InvenTree via [docker compose](./docker_install.md), the database process is managed by the `inventree-db` service which provides a [Postgres docker container](https://hub.docker.com/_/postgres).
+If running InvenTree via [docker compose](./docker_install.md), the database process is managed by the `inventree-db` service which provides a [Postgres docker container](https://hub.docker.com/_/postgres).
+
+!!! tip "Postgres Recommended"
+ We recommend using Postgres as the database backend for InvenTree, as it is a robust and scalable database which is well-suited to production use.
+
+#### SQLite Limitations
+
+!!! warning "SQLite Performance"
+ SQLite is not recommended for production use, as it is not designed for high concurrency.
+
+While SQLite is supported, it is strongly *not* recommended for a production installation, especially where there may be multiple users accessing the system concurrently. SQLite is designed for low-concurrency applications, and can experience performance issues when multiple users are accessing the database at the same time.
+
+In addition to concurrency issues, there are other structural limitations which exist in SQLite that can prevent operations on large querysets.
+
+If you are using SQLite, you should be aware of these limitations. It is important to ensure that the database file is stored on a fast storage medium (such as an SSD), and that the database options are configured correctly to minimize locking issues. Refer to the [database configuration guide](./config.md#database-options) for more information on configuring SQLite options.
+
### Web Server
@@ -112,6 +127,8 @@ If the background worker process is not running, InvenTree will not be able to p
If the [cache server](#cache-server) is not running, the background worker will be limited to running a single threaded worker. This is because the background worker uses the cache server to manage task locking, and without a global cache server to communicate between processes, concurrency issues can occur.
+Additionally, if you are running SQLite as the database backend, the background worker will be limited to a single thread, due to database locking issues which can occur with SQLite when multiple threads are accessing the database concurrently.
+
### Cache Server
The InvenTree cache server is used to store temporary data which is shared between the InvenTree web server and the background worker processes. The cache server is also used to store task information, and to manage task locking between the background worker processes.
@@ -122,7 +139,7 @@ InvenTree uses the [Redis](https://redis.io/) cache server to manage cache data.
!!! info "Redis on Docker"
Docker adds an additional network layer - that might lead to lower performance than bare metal.
- To optimize and configure your redis deployment follow the [official docker guide](https://redis.io/docs/getting-started/install-stack/docker/#configuration).
+ To optimize and configure your redis deployment follow the [official docker guide](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/docker/).
!!! tip "Enable Cache"
While a redis container is provided in the default configuration, by default it is not enabled in the InvenTree server. You can enable redis cache support by following the [caching configuration guide](./config.md#caching)
diff --git a/docs/docs/stock/index.md b/docs/docs/stock/index.md
index d020dd67d1..d3c544a3c8 100644
--- a/docs/docs/stock/index.md
+++ b/docs/docs/stock/index.md
@@ -2,13 +2,15 @@
title: Stock
---
-## Stock Items
+## Stock Item
A *Stock Item* is an actual instance of a [*Part*](../part/index.md) item. It represents a physical quantity of the *Part* in a specific location.
+Each Part instance may have multiple stock items associated with it, in various quantities and locations. Additionally, each stock item may have a serial number (if the part is tracked by serial number) and may be associated with a particular supplier part (if the item was purchased from a supplier).
+
### Stock Item Details
-The *Stock Item* detail view shows information regarding the particular stock item:
+Each *Stock Item* is linked to the following information:
**Part** - Which *Part* this stock item is an instance of
@@ -26,17 +28,27 @@ The *Stock Item* detail view shows information regarding the particular stock it
**Status** - Status of this stock item
-### Stock Availability
+**Serial Number** - If the part is tracked by serial number, the unique serial number of this stock item
+
+**Batch Code** - If the part is tracked by batch code, the batch code of this stock item
+
+## Stock Availability
InvenTree has a number of different mechanisms to determine whether stock is available for use. See the [Stock Availability](./availability.md) page for more information.
-### Stock Tracking
+## Traceability
+
+Stock items can be associated with a unique serial number and / or a batch code, which allows for traceability of individual stock items. This is particularly useful for tracking the history of specific items, and for ensuring that items can be traced back to their source (e.g. supplier, purchase order, etc).
+
+Refer to the [traceability](./traceability.md) page for more information on how serial numbers and batch codes work in InvenTree.
+
+## Stock Tracking
Every time a *Stock Item* is adjusted, a *Stock Tracking* entry is automatically created. This ensures a complete history of the *Stock Item* is maintained as long as the item is in the system.
Each stock tracking historical item records the user who performed the action. [Read more about stock tracking here](./tracking.md).
-## Stock Location
+## Stock Locations
A stock location represents a physical real-world location where *Stock Items* are stored. Locations are arranged in a cascading manner and each location may contain multiple sub-locations, or stock, or both.
@@ -60,3 +72,7 @@ in the build order line items view where the material is allocated.
{{ image("stock/stock_external_icon.png", title="External stock indication") }}
The external flag does not get inherited to sublocations.
+
+### Structural Locations
+
+A stock location may be optionally marked as *structural*. Structural locations are used to represent physical locations which are not directly associated with stock items, but rather serve as a means of organizing the stock location hierarchy. For example, a structural location might represent a particular shelf or drawer within a warehouse, while the actual stock items are stored in sub-locations within that location.
diff --git a/docs/docs/stock/status.md b/docs/docs/stock/status.md
index 8a50d02a5e..d153047941 100644
--- a/docs/docs/stock/status.md
+++ b/docs/docs/stock/status.md
@@ -36,6 +36,8 @@ Refer to the source code for the Stock status codes:
show_source: True
members: []
+### Custom Status Codes
+
Stock Status supports [custom states](../concepts/custom_states.md).
### Default Status Code
diff --git a/docs/docs/stock/traceability.md b/docs/docs/stock/traceability.md
new file mode 100644
index 0000000000..5fb21aa608
--- /dev/null
+++ b/docs/docs/stock/traceability.md
@@ -0,0 +1,152 @@
+---
+title: Stock Traceability
+---
+
+## Stock Traceability
+
+It may be desirable to track individual stock items, or groups of stock items, with unique identifier values. Stock items may be *tracked* using either *Batch Codes* or *Serial Numbers*.
+
+Individual stock items can be assigned a batch code, or a serial number, or both, or neither, as requirements dictate.
+
+{{ image("stock/batch_and_serial.png", title="Batch and Serial Number Tracking") }}
+
+Out of the box, the default implementations for both batch codes and serial numbers are (intentionally) simplistic.
+
+As the particular requirements for serial number or batch code conventions may vary significantly from one application to another, InvenTree provides the ability for custom plugins to determine exactly how batch codes and serial numbers are implemented.
+
+### Batch Codes
+
+Batch codes can be used to specify a particular "group" of items, and can be assigned to any stock item without restriction. Batch codes are tracked even as stock items are split into separate items.
+
+Multiple stock items may share the same batch code without restriction, even across different parts.
+
+#### Generating Batch Codes
+
+Batch codes can be generated automatically based on a provided pattern. The default pattern simply uses the current date-code as the batch number, however this can be customized within a certain scope.
+
+{{ image("stock/batch_code_template.png", title="Batch code pattern") }}
+
+#### Context Variables
+
+The following context variables are available by default when generating a batch code using the builtin generation functionality:
+
+| Variable | Description |
+| --- | --- |
+| year | The current year e.g. `2024` |
+| month | The current month number, e.g. `5` |
+| day | The current day of month, e.g. `21` |
+| hour | The current hour of day, in 24-hour format, e.g. `23` |
+| minute | The current minute of hour, e.g. `17` |
+| week | The current week of year, e.g. `51` |
+
+#### Plugin Support
+
+To implement custom batch code functionality, refer to the details on the [Validation Plugin Mixin](../plugins/mixins/validation.md#batch-codes).
+
+### Serial Numbers
+
+A serial "number" is used to uniquely identify a single, unique stock item. Note that while *number* is used throughout the documentation, these values are not required to be numeric.
+
+#### Uniqueness Requirements
+
+By default, serial numbers must be unique across any given [Part](../part/index.md) instance (including any variants of that part).
+
+However, it is also possible to specify that serial numbers must be globally unique across all types of parts. This is configurable in the settings display (see below):
+
+{{ image("stock/serial_numbers_unique.png", title="Serial number uniqueness") }}
+
+#### Generating Serial Numbers
+
+When creating a group of serialized stock items, it can be very useful for the user to be able to generate a group of unique serial numbers, with one serial number for each serialized stock item.
+
+{{ image("stock/serial_next.png", title="Serial number entry") }}
+
+For a given serial number *schema* (either the in-built schema or a custom schema defined by a plugin), a group (or *range*) of serial numbers can be generated using a number of possible patterns:
+
+##### Comma Separated Values
+
+Individual serial numbers can be specified by separating using a comma character (`,`).
+
+| Pattern | Serial Numbers |
+| --- | --- |
+| `1, 2, 45, 99, 101` | `1, 2, 45, 99, 101` |
+
+##### Hyphen Separated Range
+
+Use a hyphen character (`-`) to specify a *range* of sequential values, inclusive of the two values separated by the hyphen.
+
+| Pattern | Serial Numbers |
+| --- | --- |
+| `10-15` | `10, 11, 12, 13, 14, 15` |
+
+##### Starting Value Range
+
+A *starting value* can be supplied, followed by the plus (`+`) character to indicate a number of sequential values following the provided starting value. The `+` character should be followed by an integer value to indicate the number of serial numbers which will be generated.
+
+| Pattern | Serial Numbers |
+| --- | --- |
+| `10+3` | `10, 11, 12, 13` |
+| `100 + 2` | `100, 101, 102` |
+
+##### Next Value
+
+When specifying serial numbers, the tilde (`~`) character is replaced with the next available serial number. It can be used in combination with the available patterns specified above.
+
+For example, if the *next* available serial number is `100`, the following patterns can be used:
+
+| Pattern | Serial Numbers |
+| --- | --- |
+| `~` | `100` |
+| `~, ~, ~` | `100, 101, 102` |
+| `800, ~, 900` | `800, 100, 900` |
+| `~+5` | `100, 101, 102, 103, 104, 105` |
+
+##### Combination Groups
+
+Any of the above patterns can be combined using multiple groups separated by the comma (`,`) character:
+
+| Pattern | Serial Numbers |
+| --- | --- |
+| `1, 2, 4-7, 10` | `1, 2, 4, 5, 6, 7, 10` |
+| `40+4, 50+4` | `40, 41, 42, 43, 44, 50, 51, 52, 53, 54` |
+| `10, 14, 20+3, 30-35` | `10, 14, 20, 21, 22, 23, 30, 31, 32, 33, 34, 35` |
+
+In the default implementation, InvenTree assumes that serial "numbers" are integer values in a simple incrementing sequence e.g. `{1, 2, 3, 4, 5, 6}`. When generating the *next* value for a serial number, the algorithm looks for the *most recent* serial number, and attempts to coerce that value into an integer, and then increment that value.
+
+While this approach is reasonably robust, it is definitely simplistic and is not expected to meet the requirements of every installation. For this reason, more complex serial number management is intended to be implemented using a custom plugin (see below).
+
+#### Serial Number Errors
+
+If a provided serial number (or group of numbers) is not considered valid, an error message is provided to the user.
+
+##### Example: Invalid Quantity
+
+{{ image("stock/serial_error_quantity.png", title="Serial number - invalid quantity") }}
+
+##### Example: Duplicate Serial Numbers
+
+{{ image("stock/serial_error_unique.png", title="Serial number - duplicate values") }}
+
+##### Example: Invalid Serial Numbers
+
+!!! tip "Serial Number Validation"
+ Custom serial number validation can be implemented using an external plugin
+
+#### Adjusting Serial Numbers
+
+Once a stock item has been created with a serial number, it is possible to adjust that serial number value if required. This can be achieved by navigating to the stock item's detail page, and selecting the "Edit" option from the actions menu. Here, the serial number value can be modified as required:
+
+{{ image("stock/serial_edit.png", title="Editing a serial number") }}
+
+Note that any serial number adjustments are subject to the same validation rules as when the stock item was created. If the new serial number value is not valid, an error message will be displayed to the user:
+
+{{ image("stock/serial_edit_error.png", title="Error while editing a serial number") }}
+
+
+#### Plugin Support
+
+Custom serial number functionality, with any arbitrary requirements or level of complexity, can be implemented using the [Validation Plugin Mixin class](../plugins/mixins/validation.md#serial-numbers). Refer to the documentation for this plugin for technical details.
+
+A custom plugin allows the user to determine how a "valid" serial number is defined, and (crucially) how any given serial number value is incremented to provide the next value in the sequence.
+
+Implementing custom methods for these two considerations allows for complex serial number schema to be supported with minimal effort.
diff --git a/docs/docs/stock/tracking.md b/docs/docs/stock/tracking.md
index 5ce0809602..309c682ba7 100644
--- a/docs/docs/stock/tracking.md
+++ b/docs/docs/stock/tracking.md
@@ -4,149 +4,47 @@ title: Stock Tracking
## Stock Tracking
-It may be desirable to track individual stock items, or groups of stock items, with unique identifier values. Stock items may be *tracked* using either *Batch Codes* or *Serial Numbers*.
+Stock tracking entries record the history of stock item adjustments, including the user who performed the action, the date of the action, and the quantity change. This allows users to maintain a complete history of stock item movements and adjustments over time.
-Individual stock items can be assigned a batch code, or a serial number, or both, or neither, as requirements dictate.
+### Tracking Events
-{{ image("stock/batch_and_serial.png", title="Batch and Serial Number Tracking") }}
+Stock tracking entries are created automatically whenever a stock item is adjusted, either through manual adjustments or through automated processes such as order fulfillment or build completion.
-Out of the box, the default implementations for both batch codes and serial numbers are (intentionally) simplistic.
+Some examples of events that may trigger stock tracking entries include:
-As the particular requirements for serial number or batch code conventions may vary significantly from one application to another, InvenTree provides the ability for custom plugins to determine exactly how batch codes and serial numbers are implemented.
+- Manual stock adjustments (e.g. correcting inventory counts)
+- Creation of new stock items (e.g. receiving new inventory)
+- Allocation of stock items to orders (e.g. shipping items against sales orders)
+- Consumption of stock items during build processes (e.g. using items to complete a build order)
-### Batch Codes
+## Viewing Stock Tracking History
-Batch codes can be used to specify a particular "group" of items, and can be assigned to any stock item without restriction. Batch codes are tracked even as stock items are split into separate items.
+There are multiple ways to view the stock tracking history for a particular stock item or part via the user interface.
-Multiple stock items may share the same batch code without restriction, even across different parts.
+### Stock Item Tracking History
-#### Generating Batch Codes
+The stock tracking history for a particular stock item can be viewed on the *Stock Item Detail* page, under the *Stock Tracking* tab:
-Batch codes can be generated automatically based on a provided pattern. The default pattern simply uses the current date-code as the batch number, however this can be customized within a certain scope.
+{{ image("stock/stock_item_tracking_history.png", title="Stock tracking tab") }}
-{{ image("stock/batch_code_template.png", title="Batch code pattern") }}
+This view displays all tracking entries associated with the particular stock item.
-#### Context Variables
+### Part Tracking History
-The following context variables are available by default when generating a batch code using the builtin generation functionality:
+Additionally, the stock tracking history for a particular part can be viewed on the *Part Detail* page, under the *Stock History* tab:
-| Variable | Description |
-| --- | --- |
-| year | The current year e.g. `2024` |
-| month | The current month number, e.g. `5` |
-| day | The current day of month, e.g. `21` |
-| hour | The current hour of day, in 24-hour format, e.g. `23` |
-| minute | The current minute of hour, e.g. `17` |
-| week | The current week of year, e.g. `51` |
+{{ image("stock/part_tracking_history.png", title="Part stock tracking history") }}
-#### Plugin Support
+This view displays all tracking entries associated with any stock item linked to the particular part.
-To implement custom batch code functionality, refer to the details on the [Validation Plugin Mixin](../plugins/mixins/validation.md#batch-codes).
+!!! info "Deleted Stock Items"
+ Even if a stock item is deleted from the system, the associated stock tracking entries are retained for historical reference. They will be visible in the part tracking history, but not in the stock item tracking history (as the stock item itself has been deleted).
-### Serial Numbers
+## Stock Tracking Settings
-A serial "number" is used to uniquely identify a single, unique stock item. Note that while *number* is used throughout the documentation, these values are not required to be numeric.
+There are a number of configuration options available for controlling the behavior of stock tracking functionality in the [system settings view](../settings/global.md):
-#### Uniqueness Requirements
-
-By default, serial numbers must be unique across any given [Part](../part/index.md) instance (including any variants of that part).
-
-However, it is also possible to specify that serial numbers must be globally unique across all types of parts. This is configurable in the settings display (see below):
-
-{{ image("stock/serial_numbers_unique.png", title="Serial number uniqueness") }}
-
-#### Generating Serial Numbers
-
-When creating a group of serialized stock items, it can be very useful for the user to be able to generate a group of unique serial numbers, with one serial number for each serialized stock item.
-
-{{ image("stock/serial_next.png", title="Serial number entry") }}
-
-For a given serial number *schema* (either the in-built schema or a custom schema defined by a plugin), a group (or *range*) of serial numbers can be generated using a number of possible patterns:
-
-##### Comma Separated Values
-
-Individual serial numbers can be specified by separating using a comma character (`,`).
-
-| Pattern | Serial Numbers |
-| --- | --- |
-| `1, 2, 45, 99, 101` | `1, 2, 45, 99, 101` |
-
-##### Hyphen Separated Range
-
-Use a hyphen character (`-`) to specify a *range* of sequential values, inclusive of the two values separated by the hyphen.
-
-| Pattern | Serial Numbers |
-| --- | --- |
-| `10-15` | `10, 11, 12, 13, 14, 15` |
-
-##### Starting Value Range
-
-A *starting value* can be supplied, followed by the plus (`+`) character to indicate a number of sequential values following the provided starting value. The `+` character should be followed by an integer value to indicate the number of serial numbers which will be generated.
-
-| Pattern | Serial Numbers |
-| --- | --- |
-| `10+3` | `10, 11, 12, 13` |
-| `100 + 2` | `100, 101, 102` |
-
-##### Next Value
-
-When specifying serial numbers, the tilde (`~`) character is replaced with the next available serial number. It can be used in combination with the available patterns specified above.
-
-For example, if the *next* available serial number is `100`, the following patterns can be used:
-
-| Pattern | Serial Numbers |
-| --- | --- |
-| `~` | `100` |
-| `~, ~, ~` | `100, 101, 102` |
-| `800, ~, 900` | `800, 100, 900` |
-| `~+5` | `100, 101, 102, 103, 104, 105` |
-
-##### Combination Groups
-
-Any of the above patterns can be combined using multiple groups separated by the comma (`,`) character:
-
-| Pattern | Serial Numbers |
-| --- | --- |
-| `1, 2, 4-7, 10` | `1, 2, 4, 5, 6, 7, 10` |
-| `40+4, 50+4` | `40, 41, 42, 43, 44, 50, 51, 52, 53, 54` |
-| `10, 14, 20+3, 30-35` | `10, 14, 20, 21, 22, 23, 30, 31, 32, 33, 34, 35` |
-
-In the default implementation, InvenTree assumes that serial "numbers" are integer values in a simple incrementing sequence e.g. `{1, 2, 3, 4, 5, 6}`. When generating the *next* value for a serial number, the algorithm looks for the *most recent* serial number, and attempts to coerce that value into an integer, and then increment that value.
-
-While this approach is reasonably robust, it is definitely simplistic and is not expected to meet the requirements of every installation. For this reason, more complex serial number management is intended to be implemented using a custom plugin (see below).
-
-#### Serial Number Errors
-
-If a provided serial number (or group of numbers) is not considered valid, an error message is provided to the user.
-
-##### Example: Invalid Quantity
-
-{{ image("stock/serial_error_quantity.png", title="Serial number - invalid quantity") }}
-
-##### Example: Duplicate Serial Numbers
-
-{{ image("stock/serial_error_unique.png", title="Serial number - duplicate values") }}
-
-##### Example: Invalid Serial Numbers
-
-!!! tip "Serial Number Validation"
- Custom serial number validation can be implemented using an external plugin
-
-#### Adjusting Serial Numbers
-
-Once a stock item has been created with a serial number, it is possible to adjust that serial number value if required. This can be achieved by navigating to the stock item's detail page, and selecting the "Edit" option from the actions menu. Here, the serial number value can be modified as required:
-
-{{ image("stock/serial_edit.png", title="Editing a serial number") }}
-
-Note that any serial number adjustments are subject to the same validation rules as when the stock item was created. If the new serial number value is not valid, an error message will be displayed to the user:
-
-{{ image("stock/serial_edit_error.png", title="Error while editing a serial number") }}
-
-
-#### Plugin Support
-
-Custom serial number functionality, with any arbitrary requirements or level of complexity, can be implemented using the [Validation Plugin Mixin class](../plugins/mixins/validation.md#serial-numbers). Refer to the documentation for this plugin for technical details.
-
-A custom plugin allows the user to determine how a "valid" serial number is defined, and (crucially) how any given serial number value is incremented to provide the next value in the sequence.
-
-Implementing custom methods for these two considerations allows for complex serial number schema to be supported with minimal effort.
+| Name | Description | Default | Units |
+| ---- | ----------- | ------- | ----- |
+{{ globalsetting("STOCK_TRACKING_DELETE_OLD_ENTRIES") }}
+{{ globalsetting("STOCK_TRACKING_DELETE_DAYS") }}
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index d9585f3996..a79df4ce30 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -91,6 +91,7 @@ nav:
- Privacy: privacy.md
- Concepts:
- Terminology: concepts/terminology.md
+ - User Interface: concepts/user_interface.md
- Threat Model: concepts/threat_model.md
- Physical Units: concepts/units.md
- Companies: concepts/company.md
@@ -137,6 +138,7 @@ nav:
- Stock:
- Stock Items: stock/index.md
- Availability: stock/availability.md
+ - Traceability: stock/traceability.md
- Stock Tracking: stock/tracking.md
- Stock Status: stock/status.md
- Adjusting Stock: stock/adjust.md
diff --git a/docs/requirements.in b/docs/requirements.in
index 09178c1b77..708b250cba 100644
--- a/docs/requirements.in
+++ b/docs/requirements.in
@@ -6,5 +6,5 @@ mkdocs-redirects
mkdocs-simple-hooks>=0.1,<1.0
mkdocs-include-markdown-plugin
neoteroi-mkdocs
-mkdocstrings[python]>=0.25.0,<=1.0.0
+mkdocstrings[python]>=0.25.0,<=1.0.3
mkdocs-mermaid2-plugin
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 99f0b5e762..52b6dbac80 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,136 +1,161 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile docs/requirements.in -o docs/requirements.txt --no-strip-extras --generate-hashes -b src/backend/requirements.txt
-anyio==4.10.0 \
- --hash=sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6 \
- --hash=sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1
+# uv pip compile docs/requirements.in -o docs/requirements.txt -c src/backend/requirements.txt
+anyio==4.12.1 \
+ --hash=sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703 \
+ --hash=sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c
# via httpx
-babel==2.17.0 \
- --hash=sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d \
- --hash=sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2
+babel==2.18.0 \
+ --hash=sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d \
+ --hash=sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35
# via
+ # -c src/backend/requirements.txt
# mkdocs-git-revision-date-localized-plugin
# mkdocs-material
-backrefs==5.9 \
- --hash=sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf \
- --hash=sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa \
- --hash=sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59 \
- --hash=sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b \
- --hash=sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f \
- --hash=sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9 \
- --hash=sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60
+backrefs==6.1 \
+ --hash=sha256:13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853 \
+ --hash=sha256:2a2ccb96302337ce61ee4717ceacfbf26ba4efb1d55af86564b8bbaeda39cac1 \
+ --hash=sha256:3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231 \
+ --hash=sha256:4c9d3dc1e2e558965202c012304f33d4e0e477e1c103663fd2c3cc9bb18b0d05 \
+ --hash=sha256:a9e99b8a4867852cad177a6430e31b0f6e495d65f8c6c134b68c14c3c95bf4b0 \
+ --hash=sha256:c64698c8d2269343d88947c0735cb4b78745bd3ba590e10313fbf3f78c34da5a \
+ --hash=sha256:e82bba3875ee4430f4de4b6db19429a27275d95a5f3773c57e9e18abc23fd2b7
# via mkdocs-material
-beautifulsoup4==4.13.4 \
- --hash=sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b \
- --hash=sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195
+beautifulsoup4==4.14.3 \
+ --hash=sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb \
+ --hash=sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86
# via mkdocs-mermaid2-plugin
bracex==2.6 \
--hash=sha256:0b0049264e7340b3ec782b5cb99beb325f36c3782a32e36e876452fd49a09952 \
--hash=sha256:98f1347cd77e22ee8d967a30ad4e310b233f7754dbf31ff3fceb76145ba47dc7
# via wcmatch
-certifi==2025.8.3 \
- --hash=sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407 \
- --hash=sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
# via
+ # -c src/backend/requirements.txt
# httpcore
# httpx
# requests
-charset-normalizer==3.4.2 \
- --hash=sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4 \
- --hash=sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45 \
- --hash=sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7 \
- --hash=sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0 \
- --hash=sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7 \
- --hash=sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d \
- --hash=sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d \
- --hash=sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0 \
- --hash=sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184 \
- --hash=sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db \
- --hash=sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b \
- --hash=sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64 \
- --hash=sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b \
- --hash=sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8 \
- --hash=sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff \
- --hash=sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344 \
- --hash=sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58 \
- --hash=sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e \
- --hash=sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471 \
- --hash=sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148 \
- --hash=sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a \
- --hash=sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836 \
- --hash=sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e \
- --hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \
- --hash=sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c \
- --hash=sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1 \
- --hash=sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01 \
- --hash=sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366 \
- --hash=sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58 \
- --hash=sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5 \
- --hash=sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c \
- --hash=sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2 \
- --hash=sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a \
- --hash=sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597 \
- --hash=sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b \
- --hash=sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5 \
- --hash=sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb \
- --hash=sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f \
- --hash=sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0 \
- --hash=sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941 \
- --hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \
- --hash=sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86 \
- --hash=sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7 \
- --hash=sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7 \
- --hash=sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455 \
- --hash=sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6 \
- --hash=sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4 \
- --hash=sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0 \
- --hash=sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3 \
- --hash=sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1 \
- --hash=sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6 \
- --hash=sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981 \
- --hash=sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c \
- --hash=sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980 \
- --hash=sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645 \
- --hash=sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7 \
- --hash=sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12 \
- --hash=sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa \
- --hash=sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd \
- --hash=sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef \
- --hash=sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f \
- --hash=sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2 \
- --hash=sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d \
- --hash=sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5 \
- --hash=sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02 \
- --hash=sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3 \
- --hash=sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd \
- --hash=sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e \
- --hash=sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214 \
- --hash=sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd \
- --hash=sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a \
- --hash=sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c \
- --hash=sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681 \
- --hash=sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba \
- --hash=sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f \
- --hash=sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a \
- --hash=sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28 \
- --hash=sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691 \
- --hash=sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82 \
- --hash=sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a \
- --hash=sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027 \
- --hash=sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7 \
- --hash=sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518 \
- --hash=sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf \
- --hash=sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b \
- --hash=sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9 \
- --hash=sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544 \
- --hash=sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da \
- --hash=sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509 \
- --hash=sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f \
- --hash=sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a \
- --hash=sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f
- # via requests
-click==8.1.8 \
- --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
- --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
+ # via
+ # -c src/backend/requirements.txt
+ # requests
+click==8.3.1 \
+ --hash=sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a \
+ --hash=sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6
# via
# mkdocs
# neoteroi-mkdocs
@@ -144,9 +169,9 @@ editorconfig==0.17.1 \
--hash=sha256:1eda9c2c0db8c16dbd50111b710572a5e6de934e39772de1959d41f64fc17c82 \
--hash=sha256:23c08b00e8e08cc3adcddb825251c497478df1dada6aefeb01e626ad37303745
# via jsbeautifier
-essentials==1.1.6 \
- --hash=sha256:3fd26923f5f2ece51a219dbb17b1fb22c9190d70fa2104919be92a6419521877 \
- --hash=sha256:a470e693d83c13369ebf1f488d60236b4ea99400f38db6b7224e2808c1369256
+essentials==1.1.9 \
+ --hash=sha256:71ef161e0e27ef77cd6f5fc05e0b8688a575fcab870c01c95940f832e321dfbb \
+ --hash=sha256:7fbea3a518cbeafe5374fb7e2ea2c15a109e8a7fd1eaab62ae87cbd1b3b1e8d0
# via essentials-openapi
essentials-openapi==1.3.0 \
--hash=sha256:453327a0a847a431133f4472ced7e4a9180bf667437049b57381ddf88079e886 \
@@ -160,13 +185,13 @@ gitdb==4.0.12 \
--hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \
--hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf
# via gitpython
-gitpython==3.1.45 \
- --hash=sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c \
- --hash=sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77
+gitpython==3.1.46 \
+ --hash=sha256:400124c7d0ef4ea03f7310ac2fbf7151e09ff97f2a3288d64a440c584a29c37f \
+ --hash=sha256:79812ed143d9d25b6d176a10bb511de0f9c67b1fa641d82097b0ab90398a2058
# via mkdocs-git-revision-date-localized-plugin
-griffe==1.11.0 \
- --hash=sha256:c153b5bc63ca521f059e9451533a67e44a9d06cf9bf1756e4298bda5bd3262e8 \
- --hash=sha256:dc56cc6af8d322807ecdb484b39838c7a51ca750cf21ccccf890500c4d6389d8
+griffe==1.15.0 \
+ --hash=sha256:6f6762661949411031f5fcda9593f586e6ce8340f0ba88921a0f2ef7a81eb9a3 \
+ --hash=sha256:7726e3afd6f298fbc3696e67958803e7ac843c1cfe59734b6251a40cdbfb5eea
# via mkdocstrings-python
h11==0.16.0 \
--hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \
@@ -186,10 +211,11 @@ httpx==0.28.1 \
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
# via neoteroi-mkdocs
-idna==3.10 \
- --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
- --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
+idna==3.11 \
+ --hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
+ --hash=sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902
# via
+ # -c src/backend/requirements.txt
# anyio
# httpx
# requests
@@ -197,6 +223,7 @@ jinja2==3.1.6 \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
# via
+ # -c src/backend/requirements.txt
# mkdocs
# mkdocs-macros-plugin
# mkdocs-material
@@ -206,82 +233,112 @@ jsbeautifier==1.15.4 \
--hash=sha256:5bb18d9efb9331d825735fbc5360ee8f1aac5e52780042803943aa7f854f7592 \
--hash=sha256:72f65de312a3f10900d7685557f84cb61a9733c50dcc27271a39f5b0051bf528
# via mkdocs-mermaid2-plugin
-markdown==3.8.2 \
- --hash=sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45 \
- --hash=sha256:5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24
+markdown==3.10.2 \
+ --hash=sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950 \
+ --hash=sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36
# via
+ # -c src/backend/requirements.txt
# mkdocs
# mkdocs-autorefs
# mkdocs-material
# mkdocstrings
# pymdown-extensions
-markdown-it-py==3.0.0 \
- --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
- --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
+markdown-it-py==4.0.0 \
+ --hash=sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147 \
+ --hash=sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3
# via rich
-markupsafe==3.0.2 \
- --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \
- --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \
- --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \
- --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \
- --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \
- --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \
- --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \
- --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \
- --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \
- --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \
- --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \
- --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \
- --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \
- --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \
- --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \
- --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \
- --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \
- --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \
- --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \
- --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \
- --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \
- --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \
- --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \
- --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \
- --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \
- --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \
- --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \
- --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \
- --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \
- --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \
- --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \
- --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \
- --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \
- --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \
- --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \
- --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \
- --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \
- --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \
- --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \
- --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \
- --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \
- --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \
- --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \
- --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \
- --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \
- --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \
- --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \
- --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \
- --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \
- --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \
- --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \
- --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \
- --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \
- --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \
- --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \
- --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \
- --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \
- --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \
- --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \
- --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \
- --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50
+markupsafe==3.0.3 \
+ --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \
+ --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \
+ --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \
+ --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \
+ --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \
+ --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \
+ --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \
+ --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \
+ --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \
+ --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \
+ --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \
+ --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \
+ --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \
+ --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \
+ --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \
+ --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \
+ --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \
+ --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \
+ --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \
+ --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \
+ --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \
+ --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \
+ --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \
+ --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \
+ --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \
+ --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \
+ --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \
+ --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \
+ --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \
+ --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \
+ --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \
+ --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \
+ --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \
+ --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \
+ --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \
+ --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \
+ --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \
+ --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \
+ --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \
+ --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \
+ --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \
+ --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \
+ --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \
+ --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \
+ --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \
+ --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \
+ --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \
+ --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \
+ --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \
+ --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \
+ --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \
+ --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \
+ --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \
+ --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \
+ --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \
+ --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \
+ --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \
+ --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \
+ --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \
+ --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \
+ --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \
+ --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \
+ --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \
+ --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \
+ --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \
+ --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \
+ --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \
+ --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \
+ --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \
+ --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \
+ --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \
+ --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \
+ --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \
+ --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \
+ --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \
+ --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \
+ --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \
+ --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \
+ --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \
+ --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \
+ --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \
+ --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \
+ --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \
+ --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \
+ --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \
+ --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \
+ --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \
+ --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \
+ --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50
# via
+ # -c src/backend/requirements.txt
# essentials-openapi
# jinja2
# mkdocs
@@ -312,9 +369,9 @@ mkdocs==1.6.1 \
# mkdocs-simple-hooks
# mkdocstrings
# neoteroi-mkdocs
-mkdocs-autorefs==1.4.2 \
- --hash=sha256:83d6d777b66ec3c372a1aad4ae0cf77c243ba5bcda5bf0c6b8a2c5e7a3d89f13 \
- --hash=sha256:e2ebe1abd2b67d597ed19378c0fff84d73d1dbce411fce7a7cc6f161888b6749
+mkdocs-autorefs==1.4.3 \
+ --hash=sha256:469d85eb3114801d08e9cc55d102b3ba65917a869b893403b8987b601cf55dc9 \
+ --hash=sha256:beee715b254455c4aa93b6ef3c67579c399ca092259cc41b7d9342573ff1fc75
# via
# mkdocstrings
# mkdocstrings-python
@@ -322,21 +379,21 @@ mkdocs-get-deps==0.2.0 \
--hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \
--hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
# via mkdocs
-mkdocs-git-revision-date-localized-plugin==1.5.0 \
- --hash=sha256:17345ccfdf69a1905dc96fb1070dce82d03a1eb6b0d48f958081a7589ce3c248 \
- --hash=sha256:933f9e35a8c135b113f21bb57610d82e9b7bcc71dd34fb06a029053c97e99656
+mkdocs-git-revision-date-localized-plugin==1.5.1 \
+ --hash=sha256:2b0239455cd84784dd87ac8dfc9253fe4b2dd35e102696f21b5d34e2175981c6 \
+ --hash=sha256:b00fd36ed0f9b2326b1488fd8fa31bf2ce64e68c4aa60a9ce857f10719571903
# via -r docs/requirements.in
-mkdocs-include-markdown-plugin==7.2.0 \
- --hash=sha256:4a67a91ade680dc0e15f608e5b6343bec03372ffa112c40a4254c1bfb10f42f3 \
- --hash=sha256:d56cdaeb2d113fb66ed0fe4fb7af1da889926b0b9872032be24e19bbb09c9f5b
+mkdocs-include-markdown-plugin==7.2.1 \
+ --hash=sha256:30da634c568ea5d5f9e5881d51f80ac30d8c5f891cec160344ad7a0fdaea6286 \
+ --hash=sha256:5d94db87b06cd303619dbaebba5f7f43a3ded7fd7709451d26f08c176376ffec
# via -r docs/requirements.in
mkdocs-macros-plugin==1.5.0 \
--hash=sha256:12aa45ce7ecb7a445c66b9f649f3dd05e9b92e8af6bc65e4acd91d26f878c01f \
--hash=sha256:c10fabd812bf50f9170609d0ed518e54f1f0e12c334ac29141723a83c881dd6f
# via -r docs/requirements.in
-mkdocs-material==9.7.0 \
- --hash=sha256:602b359844e906ee402b7ed9640340cf8a474420d02d8891451733b6b02314ec \
- --hash=sha256:da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887
+mkdocs-material==9.7.4 \
+ --hash=sha256:6549ad95e4d130ed5099759dfa76ea34c593eefdb9c18c97273605518e99cfbf \
+ --hash=sha256:711b0ee63aca9a8c7124d4c73e83a25aa996e27e814767c3a3967df1b9e56f32
# via -r docs/requirements.in
mkdocs-material-extensions==1.3.1 \
--hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 \
@@ -354,49 +411,52 @@ mkdocs-simple-hooks==0.1.5 \
--hash=sha256:dddbdf151a18723c9302a133e5cf79538be8eb9d274e8e07d2ac3ac34890837c \
--hash=sha256:efeabdbb98b0850a909adee285f3404535117159d5cb3a34f541d6eaa644d50a
# via -r docs/requirements.in
-mkdocstrings[python]==1.0.0 \
- --hash=sha256:351a006dbb27aefce241ade110d3cd040c1145b7a3eb5fd5ac23f03ed67f401a \
- --hash=sha256:4c50eb960bff6e05dfc631f6bc00dfabffbcb29c5ff25f676d64daae05ed82fa
+mkdocstrings[python]==1.0.3 \
+ --hash=sha256:0d66d18430c2201dc7fe85134277382baaa15e6b30979f3f3bdbabd6dbdb6046 \
+ --hash=sha256:ab670f55040722b49bb45865b2e93b824450fb4aef638b00d7acb493a9020434
# via
# -r docs/requirements.in
# mkdocstrings-python
-mkdocstrings-python==1.16.12 \
- --hash=sha256:22ded3a63b3d823d57457a70ff9860d5a4de9e8b1e482876fc9baabaf6f5f374 \
- --hash=sha256:9b9eaa066e0024342d433e332a41095c4e429937024945fea511afe58f63175d
+mkdocstrings-python==2.0.1 \
+ --hash=sha256:66ecff45c5f8b71bf174e11d49afc845c2dfc7fc0ab17a86b6b337e0f24d8d90 \
+ --hash=sha256:843a562221e6a471fefdd4b45cc6c22d2607ccbad632879234fa9692e9cf7732
# via mkdocstrings
neoteroi-mkdocs==1.2.0 \
--hash=sha256:58e25cb1b9db093ffa8d12bdb33264bf567cac30fb964b56e0a493efa749ad6e \
--hash=sha256:91b6aa95a4e46c9bb93e00e021d2044cb0c7d80c0b4600434ff8f440d613a0a8
# via -r docs/requirements.in
-packaging==25.0 \
- --hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
- --hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via
+ # -c src/backend/requirements.txt
# mkdocs
# mkdocs-macros-plugin
paginate==0.5.7 \
--hash=sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945 \
--hash=sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591
# via mkdocs-material
-pathspec==0.12.1 \
- --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
- --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
+pathspec==1.0.1 \
+ --hash=sha256:8870061f22c58e6d83463cfce9a7dd6eca0512c772c1001fb09ac64091816721 \
+ --hash=sha256:e2769b508d0dd47b09af6ee2c75b2744a2cb1f474ae4b1494fd6a1b7a841613c
# via
# mkdocs
# mkdocs-macros-plugin
-platformdirs==4.3.8 \
- --hash=sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc \
- --hash=sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4
- # via mkdocs-get-deps
+platformdirs==4.9.4 \
+ --hash=sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934 \
+ --hash=sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
+ # via
+ # -c src/backend/requirements.txt
+ # mkdocs-get-deps
pygments==2.19.2 \
--hash=sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887 \
--hash=sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b
# via
# mkdocs-material
# rich
-pymdown-extensions==10.16.1 \
- --hash=sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91 \
- --hash=sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d
+pymdown-extensions==10.20 \
+ --hash=sha256:5c73566ab0cf38c6ba084cb7c5ea64a119ae0500cce754ccb682761dfea13a52 \
+ --hash=sha256:ea9e62add865da80a271d00bfa1c0fa085b20d133fb3fc97afdc88e682f60b2f
# via
# mkdocs-material
# mkdocs-mermaid2-plugin
@@ -405,6 +465,7 @@ python-dateutil==2.9.0.post0 \
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
# via
+ # -c src/backend/requirements.txt
# ghp-import
# mkdocs-macros-plugin
pyyaml==6.0.3 \
@@ -482,6 +543,7 @@ pyyaml==6.0.3 \
--hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \
--hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
# via
+ # -c src/backend/requirements.txt
# essentials-openapi
# mkdocs
# mkdocs-get-deps
@@ -496,53 +558,56 @@ requests==2.32.5 \
--hash=sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 \
--hash=sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf
# via
+ # -c src/backend/requirements.txt
# mkdocs-macros-plugin
# mkdocs-material
# mkdocs-mermaid2-plugin
-rich==14.1.0 \
- --hash=sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f \
- --hash=sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8
+rich==14.3.3 \
+ --hash=sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d \
+ --hash=sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b
# via neoteroi-mkdocs
-setuptools==80.9.0 \
- --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \
- --hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
- # via mkdocs-mermaid2-plugin
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
+ # via
+ # -c src/backend/requirements.txt
+ # mkdocs-mermaid2-plugin
six==1.17.0 \
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
# via
+ # -c src/backend/requirements.txt
# jsbeautifier
# python-dateutil
smmap==5.0.2 \
--hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \
--hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e
# via gitdb
-sniffio==1.3.1 \
- --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \
- --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc
- # via anyio
-soupsieve==2.7 \
- --hash=sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4 \
- --hash=sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a
+soupsieve==2.8.1 \
+ --hash=sha256:4cf733bc50fa805f5df4b8ef4740fc0e0fa6218cf3006269afd3f9d6d80fd350 \
+ --hash=sha256:a11fe2a6f3d76ab3cf2de04eb339c1be5b506a8a47f2ceb6d139803177f85434
# via beautifulsoup4
super-collections==0.6.2 \
--hash=sha256:0c8d8abacd9fad2c7c1c715f036c29f5db213f8cac65f24d45ecba12b4da187a \
--hash=sha256:291b74d26299e9051d69ad9d89e61b07b6646f86a57a2f5ab3063d206eee9c56
# via mkdocs-macros-plugin
-termcolor==3.1.0 \
- --hash=sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa \
- --hash=sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970
+termcolor==3.3.0 \
+ --hash=sha256:348871ca648ec6a9a983a13ab626c0acce02f515b9e1983332b17af7979521c5 \
+ --hash=sha256:cf642efadaf0a8ebbbf4bc7a31cec2f9b5f21a9f726f4ccbb08192c9c26f43a5
# via mkdocs-macros-plugin
-typing-extensions==4.14.1 \
- --hash=sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36 \
- --hash=sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76
+typing-extensions==4.15.0 \
+ --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
+ --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
# via
+ # -c src/backend/requirements.txt
# anyio
# beautifulsoup4
-urllib3==2.6.0 \
- --hash=sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f \
- --hash=sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1
- # via requests
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
+ # via
+ # -c src/backend/requirements.txt
+ # requests
watchdog==6.0.0 \
--hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
--hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \
diff --git a/pyproject.toml b/pyproject.toml
index fa2658abfa..9ce50f3710 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,7 +97,7 @@ skip-magic-trailing-comma = true
line-ending = "auto"
[tool.uv.pip]
-python-version = "3.11.0"
+python-version = "3.11"
no-strip-extras=true
generate-hashes=true
@@ -108,11 +108,12 @@ root = ["src/backend/InvenTree"]
unresolved-reference="ignore" # 21 # see https://github.com/astral-sh/ty/issues/220
unresolved-attribute="ignore" # 505 # need Plugin Mixin typing
call-non-callable="ignore" # 8 ##
+invalid-assignment="ignore" # 17 # need to wait for better django field stubs
+invalid-method-override="ignore" # 99
invalid-return-type="ignore" # 22 ##
+possibly-missing-attribute="ignore" # 25 # https://github.com/astral-sh/ty/issues/164
+unknown-argument="ignore" # 3 # need to wait for better django field stubs
invalid-argument-type="ignore" # 49
-possibly-unbound-attribute="ignore" # 25 # https://github.com/astral-sh/ty/issues/164
-unknown-argument="ignore" # 3 # need to wait for betterdjango field stubs
-invalid-assignment="ignore" # 17 # need to wait for betterdjango field stubs
no-matching-overload="ignore" # 3 # need to wait for betterdjango field stubs
[tool.coverage.run]
@@ -139,3 +140,4 @@ django_find_project = false
pythonpath = ["src/backend/InvenTree"]
DJANGO_SETTINGS_MODULE = "InvenTree.settings"
python_files = ["test*.py",]
+timeout = "120"
diff --git a/src/backend/InvenTree/.gitignore b/src/backend/InvenTree/.gitignore
index 4af4473ebe..a91adca39b 100644
--- a/src/backend/InvenTree/.gitignore
+++ b/src/backend/InvenTree/.gitignore
@@ -1,2 +1,6 @@
# Files generated during unit testing
_testfolder/
+_tests_report*.txt
+
+# Playwright files for CI
+InvenTree/static/img/playwright*.png
diff --git a/src/backend/InvenTree/InvenTree/api.py b/src/backend/InvenTree/InvenTree/api.py
index cd57fb1cc2..369d6ccdea 100644
--- a/src/backend/InvenTree/InvenTree/api.py
+++ b/src/backend/InvenTree/InvenTree/api.py
@@ -5,15 +5,19 @@ import json
from pathlib import Path
from django.conf import settings
+from django.contrib.contenttypes.models import ContentType
from django.db import transaction
from django.http import JsonResponse
+from django.urls import path, reverse
from django.utils.translation import gettext_lazy as _
+from django.views.generic.base import RedirectView
import structlog
from django_q.models import OrmQ
from drf_spectacular.utils import OpenApiParameter, OpenApiResponse, extend_schema
from rest_framework import serializers
from rest_framework.generics import GenericAPIView
+from rest_framework.request import clone_request
from rest_framework.response import Response
from rest_framework.serializers import ValidationError
from rest_framework.views import APIView
@@ -22,15 +26,14 @@ import InvenTree.config
import InvenTree.permissions
import InvenTree.version
from common.settings import get_global_setting
-from InvenTree import helpers
+from InvenTree import helpers, ready
from InvenTree.auth_overrides import registration_enabled
from InvenTree.mixins import ListCreateAPI
-from InvenTree.sso import sso_registration_enabled
from plugin.serializers import MetadataSerializer
from users.models import ApiToken
-from users.permissions import check_user_permission
+from users.permissions import check_user_permission, prefetch_rule_sets
-from .helpers import plugins_info
+from .helpers import plugins_info, str2bool
from .helpers_email import is_email_configured
from .mixins import ListAPI, RetrieveUpdateAPI
from .status import check_system_health, is_worker_running
@@ -234,6 +237,7 @@ class InfoApiSerializer(serializers.Serializer):
splash = serializers.CharField()
login_message = serializers.CharField(allow_null=True)
navbar_message = serializers.CharField(allow_null=True)
+ disable_theme_storage = serializers.BooleanField(default=False)
server = serializers.CharField(read_only=True)
id = serializers.CharField(read_only=True, allow_null=True)
@@ -306,6 +310,9 @@ class InfoView(APIView):
'splash': helpers.getSplashScreen(),
'login_message': helpers.getCustomOption('login_message'),
'navbar_message': helpers.getCustomOption('navbar_message'),
+ 'disable_theme_storage': str2bool(
+ helpers.getCustomOption('disable_theme_storage')
+ ),
},
'active_plugins': plugins_info(),
# Following fields are only available to staff users
@@ -318,8 +325,8 @@ class InfoView(APIView):
if (is_staff and settings.INVENTREE_ADMIN_ENABLED)
else None,
'settings': {
- 'sso_registration': sso_registration_enabled(),
- 'registration_enabled': registration_enabled(),
+ 'sso_registration': registration_enabled('LOGIN_ENABLE_SSO_REG'),
+ 'registration_enabled': registration_enabled('LOGIN_ENABLE_REG'),
'password_forgotten_enabled': get_global_setting(
'LOGIN_ENABLE_PWD_FORGOT'
),
@@ -416,23 +423,19 @@ class BulkOperationMixin:
def get_bulk_queryset(self, request):
"""Return a queryset based on the selection made in the request.
- Selection can be made by providing either:
-
- - items: A list of primary key values
- - filters: A dictionary of filter values
+ Selection can be made by providing a list of primary key values,
+ which will be used to filter the queryset.
"""
- model = self.serializer_class.Meta.model
-
items = request.data.pop('items', None)
- filters = request.data.pop('filters', None)
all_filter = request.GET.get('all', None)
- queryset = model.objects.all()
+ # Return the base queryset for this model
+ queryset = self.get_queryset()
- if not items and not filters and all_filter is None:
+ if not items and all_filter is None:
raise ValidationError({
'non_field_errors': _(
- 'List of items or filters must be provided for bulk operation'
+ 'List of items must be provided for bulk operation'
)
})
@@ -450,19 +453,6 @@ class BulkOperationMixin:
'non_field_errors': _('Invalid items list provided')
})
- if filters:
- if type(filters) is not dict:
- raise ValidationError({
- 'non_field_errors': _('Filters must be provided as a dict')
- })
-
- try:
- queryset = queryset.filter(**filters)
- except Exception:
- raise ValidationError({
- 'non_field_errors': _('Invalid filters provided')
- })
-
if all_filter and not helpers.str2bool(all_filter):
raise ValidationError({
'non_field_errors': _('All filter must only be used with true')
@@ -500,7 +490,7 @@ class BulkCreateMixin:
if unique_create_fields := getattr(self, 'unique_create_fields', None):
existing = collections.defaultdict(list)
for idx, item in enumerate(data):
- key = tuple(item[v] for v in unique_create_fields)
+ key = tuple(item[v] for v in list(unique_create_fields))
existing[key].append(idx)
unique_errors = [[] for _ in range(len(data))]
@@ -587,17 +577,24 @@ class BulkUpdateMixin(BulkOperationMixin):
n = queryset.count()
+ instance_data = []
+
with transaction.atomic():
# Perform object update
# Note that we do not perform a bulk-update operation here,
# as we want to trigger any custom post_save methods on the model
+
+ # Run validation first
for instance in queryset:
serializer = self.get_serializer(instance, data=data, partial=True)
-
serializer.is_valid(raise_exception=True)
serializer.save()
- return Response({'success': f'Updated {n} items'}, status=200)
+ instance_data.append(serializer.data)
+
+ return Response(
+ {'success': f'Updated {n} items', 'items': instance_data}, status=200
+ )
class ParameterListMixin:
@@ -764,6 +761,13 @@ class APISearchView(GenericAPIView):
search_filters = self.get_result_filters()
+ # Create a clone of the request object to modify
+ # Use GET method for the individual list views
+ cloned_request = clone_request(request, 'GET')
+
+ # Fetch and cache all groups associated with the current user
+ groups = prefetch_rule_sets(request.user)
+
for key, cls in self.get_result_types().items():
# Only return results which are specifically requested
if key in data:
@@ -787,57 +791,145 @@ class APISearchView(GenericAPIView):
view = cls()
# Override regular query params with specific ones for this search request
- request._request.GET = params
- view.request = request
+ cloned_request._request.GET = params
+ view.request = cloned_request
view.format_kwarg = 'format'
# Check permissions and update results dict with particular query
model = view.serializer_class.Meta.model
+ if not check_user_permission(
+ request.user, model, 'view', groups=groups
+ ):
+ results[key] = {
+ 'error': _('User does not have permission to view this model')
+ }
+ continue
+
try:
- if check_user_permission(request.user, model, 'view'):
- results[key] = view.list(request, *args, **kwargs).data
- else:
- results[key] = {
- 'error': _(
- 'User does not have permission to view this model'
- )
- }
+ results[key] = view.list(request, *args, **kwargs).data
except Exception as exc:
results[key] = {'error': str(exc)}
return Response(results)
-class MetadataView(RetrieveUpdateAPI):
- """Generic API endpoint for reading and editing metadata for a model."""
+class GenericMetadataView(RetrieveUpdateAPI):
+ """Metadata for specific instance; see https://docs.inventree.org/en/stable/plugins/metadata/ for more detail on how metadata works. Most core models support metadata."""
model = None # Placeholder for the model class
-
- @classmethod
- def as_view(cls, model, lookup_field=None, **initkwargs):
- """Override to ensure model specific rendering."""
- if model is None:
- raise ValidationError(
- "MetadataView defined without 'model' arg"
- ) # pragma: no cover
- initkwargs['model'] = model
-
- # Set custom lookup field (instead of default 'pk' value) if supplied
- if lookup_field:
- initkwargs['lookup_field'] = lookup_field
-
- return super().as_view(**initkwargs)
+ serializer_class = MetadataSerializer
+ permission_classes = [InvenTree.permissions.ContentTypePermission]
def get_permission_model(self):
"""Return the 'permission' model associated with this view."""
- return self.model
+ model_name = self.kwargs.get('model', None)
+
+ if model_name is None:
+ raise ValidationError(
+ "GenericMetadataView called without 'model' URL parameter"
+ ) # pragma: no cover
+
+ model = ContentType.objects.filter(model=model_name).first()
+
+ if model is None:
+ raise ValidationError(
+ f"GenericMetadataView called with invalid model '{model_name}'"
+ ) # pragma: no cover
+
+ return model.model_class()
def get_queryset(self):
"""Return the queryset for this endpoint."""
- return self.model.objects.all()
+ model = self.get_permission_model()
+ return model.objects.all()
def get_serializer(self, *args, **kwargs):
"""Return MetadataSerializer instance."""
+ is_gen = ready.isGeneratingSchema()
# Detect if we are currently generating the OpenAPI schema
+ if self.model is None and not is_gen:
+ self.model = self.get_permission_model()
+ if self.model is None and is_gen:
+ # Provide a default model for schema generation
+ import users.models
+
+ self.model = users.models.User
return MetadataSerializer(self.model, *args, **kwargs)
+
+ def dispatch(self, request, *args, **kwargs):
+ """Override dispatch to set lookup field dynamically."""
+ self.lookup_field = self.kwargs.get('lookup_field', 'pk')
+ self.lookup_url_kwarg = (
+ 'lookup_value' if 'lookup_field' in self.kwargs else 'pk'
+ )
+ return super().dispatch(request, *args, **kwargs)
+
+
+class SimpleGenericMetadataView(GenericMetadataView):
+ """Simplified version of GenericMetadataView which always uses 'pk' as the lookup field."""
+
+ def dispatch(self, request, *args, **kwargs):
+ """Override dispatch to set lookup field to 'pk'."""
+ self.lookup_field = 'pk'
+ self.lookup_url_kwarg = None
+ return super().dispatch(request, *args, **kwargs)
+
+ @extend_schema(operation_id='metadata_pk_retrieve')
+ def get(self, request, *args, **kwargs):
+ """Perform a GET request to retrieve metadata for the given object."""
+ return super().get(request, *args, **kwargs)
+
+ @extend_schema(operation_id='metadata_pk_update')
+ def put(self, request, *args, **kwargs):
+ """Perform a PUT request to update metadata for the given object."""
+ return super().put(request, *args, **kwargs)
+
+ @extend_schema(operation_id='metadata_pk_partial_update')
+ def patch(self, request, *args, **kwargs):
+ """Perform a PATCH request to partially update metadata for the given object."""
+ return super().patch(request, *args, **kwargs)
+
+
+class MetadataRedirectView(RedirectView):
+ """Redirect to the generic metadata view for a given model."""
+
+ model_name = None # Placeholder for the model class
+ lookup_field = 'pk'
+ lookup_field_ref = 'pk'
+ permanent = True
+
+ def get_redirect_url(self, *args, **kwargs) -> str | None:
+ """Return the redirect URL for this view."""
+ _kwargs = {
+ 'model': self.model_name,
+ 'lookup_value': self.kwargs.get(self.lookup_field_ref, None),
+ 'lookup_field': self.lookup_field,
+ }
+ return reverse('api-generic-metadata', args=args, kwargs=_kwargs)
+
+
+def meta_path(model, lookup_field: str = 'pk', lookup_field_ref: str = 'pk'):
+ """Helper function for constructing metadata path for a given model.
+
+ Arguments:
+ model: The model class to use
+ lookup_field: The lookup field to use (if not 'pk')
+ lookup_field_ref: The reference name for the lookup field in the request(if not 'pk')
+
+ Returns:
+ A path to the generic metadata view for the given model
+ """
+ if model is None:
+ raise ValidationError(
+ "redirect_metadata_view called without 'model' arg"
+ ) # pragma: no cover
+
+ return path(
+ 'metadata/',
+ MetadataRedirectView.as_view(
+ model_name=model._meta.model_name,
+ lookup_field=lookup_field,
+ lookup_field_ref=lookup_field_ref,
+ ),
+ )
diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py
index 35d64fcb0d..38cd67318d 100644
--- a/src/backend/InvenTree/InvenTree/api_version.py
+++ b/src/backend/InvenTree/InvenTree/api_version.py
@@ -1,11 +1,117 @@
"""InvenTree API version information."""
# InvenTree API version
-INVENTREE_API_VERSION = 435
+INVENTREE_API_VERSION = 467
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
INVENTREE_API_TEXT = """
+v467 -> 2026-03-20 : https://github.com/inventree/InvenTree/pull/11573
+ - Fix definition for the "parent" field on the StockItemSerializer
+
+v466 -> 2026-03-17 : https://github.com/inventree/InvenTree/pull/11525
+ - SalesOrderShipmentComplete endpoint now returns a task ID which can be used to track the progress of the shipment completion process
+
+v465 -> 2026-03-16 : https://github.com/inventree/InvenTree/pull/11529/
+ - BuildOrderAutoAllocate endpoint now returns a task ID which can be used to track the progress of the auto-allocation process
+ - BuildOrderConsume endpoint now returns a task ID which can be used to track the progress of the stock consumption process
+
+v464 -> 2026-03-15 : https://github.com/inventree/InvenTree/pull/11527
+ - Add API endpoint for monitoring the progress of a particular background task
+
+v463 -> 2026-03-12 : https://github.com/inventree/InvenTree/pull/11499
+ - Allow "bulk update" actions against StockItem endpoint
+
+v462 -> 2026-03-12 : https://github.com/inventree/InvenTree/pull/11497
+ - Allow "ScheduledTask" API endpoint to be filtered by "name" field
+
+v461 -> 2026-03-10 : https://github.com/inventree/InvenTree/pull/11479
+ - Adds option to copy parameters when duplicating an order via the API
+
+v460 -> 2026-02-25 : https://github.com/inventree/InvenTree/pull/11374
+ - Adds "updated_at" field to PurchaseOrder, SalesOrder and ReturnOrder API endpoints
+ - Adds "updated_before" and "updated_after" date filters to all three order list endpoints
+ - Adds "updated_at" ordering option to all three order list endpoints
+
+v459 -> 2026-02-23 : https://github.com/inventree/InvenTree/pull/11411
+ - Changed PurchaseOrderLine "auto_pricing" default value from true to false
+
+v458 -> 2026-02-22 : https://github.com/inventree/InvenTree/pull/11401
+ - Switches token refresh endpoint to use POST instead of GET (upstream allauth change)
+
+v457 -> 2026-02-11 : https://github.com/inventree/InvenTree/pull/10887
+ - Extend the "auto allocate" wizard API to include tracked items
+
+v456 -> 2026-02-20 : https://github.com/inventree/InvenTree/pull/11303
+ - Adds "primary" field to the SupplierPart API
+ - Removes "default_supplier" field from the Part API
+
+v455 -> 2026-02-19 : https://github.com/inventree/InvenTree/pull/11383
+ - Adds "exists_for_model_id" filter to ParameterTemplate API endpoint
+ - Adds "exists_for_related_model" filter to ParameterTemplate API endpoint
+ - Adds "exists_for_related_model_id" filter to ParameterTemplate API endpoint
+
+v454 -> 2026-02-19 : https://github.com/inventree/InvenTree/pull/11379
+ - Adds "purchase_price" ordering option to StockItem API endpoint
+
+v453 -> 2026-02-11 : https://github.com/inventree/InvenTree/pull/11244
+ - Adds (internal) endpoint to end a observability tooling session
+
+v452 -> 2026-02-10 : https://github.com/inventree/InvenTree/pull/11276
+ - Adds "install_into_detail" field to the BuildItem API endpoint
+
+v451 -> 2026-02-10 : https://github.com/inventree/InvenTree/pull/11277
+ - Adds sorting to multiple part related endpoints (part, IPN, ...)
+
+v450 -> 2026-02-10 : https://github.com/inventree/InvenTree/pull/11260
+ - Adds "part" field to the StockItemTracking model and API endpoints
+ - Additional filtering options for the StockItemTracking API endpoint
+
+v449 -> 2026-02-07 : https://github.com/inventree/InvenTree/pull/11266
+ - Add missing nullable annotations to PartStocktakeSerializer
+
+v448 -> 2026-02-05 : https://github.com/inventree/InvenTree/pull/11257
+ - Adds API endpoint for manually generating a stocktake entry
+
+v447 -> 2026-02-02 : https://github.com/inventree/InvenTree/pull/11242
+ - Adds "sub_part_active" filter to BomItem API endpoint
+
+v446 -> 2026-02-01 : https://github.com/inventree/InvenTree/pull/11232
+ - Allow ordering of test results by started_datetime and finished_datetime fields
+ - Allow ordering of test results by test_station field
+
+v445 -> 2026-01-29 : https://github.com/inventree/InvenTree/pull/11102
+ - Added "allocated_lines" field to SalesOrderSerializer to track fully allocated line items
+
+v444 -> 2026-01-27 : https://github.com/inventree/InvenTree/pull/11208
+ - Add customize option to disable theme loading from user profile (mainly for demo site use)
+
+v443 -> 2026-01-21 : https://github.com/inventree/InvenTree/pull/11177
+ - Adds IPN ordering option for BomItem API endpoint
+ - Adds IPN ordering option for BuildLine API endpoint
+
+v442 -> 2026-01-17 : https://github.com/inventree/InvenTree/pull/11157
+ - Typo fixes, no functional changes
+
+v441 -> 2026-01-17 : https://github.com/inventree/InvenTree/pull/11153
+ - Allow export of supplier part pricing data
+
+v440 -> 2026-01-15 : https://github.com/inventree/InvenTree/pull/10796
+ - Adds confirm and confirm_text to all settings
+
+v439 -> 2026-01-09 : https://github.com/inventree/InvenTree/pull/11092
+ - Add missing nullable annotations
+
+v438 -> 2026-01-09 : https://github.com/inventree/InvenTree/pull/11104
+ - Adds a simpler / faster health check endpoint at /api/system/health/
+
+v437 -> 2026-01-07 : https://github.com/inventree/InvenTree/pull/11084
+ - Adds generic parameter support for the StockLocation model
+
+v436 -> 2026-01-06 : https://github.com/inventree/InvenTree/pull/11035
+ - Removes model-specific metadata endpoints and replaces them with redirects
+ - Adds new generic /api/metadata// endpoint to retrieve metadata for any model
+
v435 -> 2025-12-16 : https://github.com/inventree/InvenTree/pull/11030
- Adds token refresh endpoint to auth API
diff --git a/src/backend/InvenTree/InvenTree/apps.py b/src/backend/InvenTree/InvenTree/apps.py
index 16e634e023..50d5b6ae5d 100644
--- a/src/backend/InvenTree/InvenTree/apps.py
+++ b/src/backend/InvenTree/InvenTree/apps.py
@@ -65,10 +65,12 @@ class InvenTreeConfig(AppConfig):
self.start_background_tasks()
if not InvenTree.ready.isInTestMode(): # pragma: no cover
- # Update exchange rates
- InvenTree.tasks.offload_task(InvenTree.tasks.update_exchange_rates)
# Let the background worker check for migrations
InvenTree.tasks.offload_task(InvenTree.tasks.check_for_migrations)
+ # Update exchange rates
+ InvenTree.tasks.offload_task(
+ InvenTree.tasks.update_exchange_rates, force_async=True
+ )
self.update_site_url()
self.load_unit_registry()
@@ -331,6 +333,11 @@ class InvenTreeConfig(AppConfig):
if MIGRATIONS_CHECK_DONE:
return
+ # Exit early if we are not in a state where we can access the database,
+ # otherwise we might end up in a deadlock situation
+ if not InvenTree.ready.canAppAccessDatabase():
+ return
+
if not InvenTree.tasks.check_for_migrations():
# Detect if this an empty database - if so, start with a fresh migration
if (
diff --git a/src/backend/InvenTree/InvenTree/auth_overrides.py b/src/backend/InvenTree/InvenTree/auth_overrides.py
index 9b23879838..9a223dd2f9 100644
--- a/src/backend/InvenTree/InvenTree/auth_overrides.py
+++ b/src/backend/InvenTree/InvenTree/auth_overrides.py
@@ -1,5 +1,7 @@
"""Overrides for allauth and adjacent packages to enforce InvenTree specific auth settings and restirctions."""
+from typing import Literal
+
from django import forms
from django.conf import settings
from django.contrib.auth.models import Group
@@ -14,10 +16,10 @@ from allauth.account.forms import LoginForm, SignupForm, set_form_field_order
from allauth.headless.adapter import DefaultHeadlessAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
-import InvenTree.sso
from common.settings import get_global_setting
from InvenTree.exceptions import log_error
+from .helpers import str2bool
from .helpers_email import is_email_configured
logger = structlog.get_logger('inventree')
@@ -85,12 +87,12 @@ class CustomSignupForm(SignupForm):
return cleaned_data
-def registration_enabled():
+RegistrationKeys = Literal['LOGIN_ENABLE_REG', 'LOGIN_ENABLE_SSO_REG']
+
+
+def registration_enabled(setting_name: RegistrationKeys = 'LOGIN_ENABLE_REG'):
"""Determine whether user registration is enabled."""
- if (
- get_global_setting('LOGIN_ENABLE_REG')
- or InvenTree.sso.sso_registration_enabled()
- ):
+ if str2bool(get_global_setting(setting_name)):
if is_email_configured():
return True
else:
@@ -103,13 +105,18 @@ def registration_enabled():
class RegistrationMixin:
"""Mixin to check if registration should be enabled."""
+ REGISTRATION_SETTING: RegistrationKeys = 'LOGIN_ENABLE_REG'
+
def is_open_for_signup(self, request, *args, **kwargs):
"""Check if signup is enabled in settings.
Configure the class variable `REGISTRATION_SETTING` to set which setting should be used, default: `LOGIN_ENABLE_REG`.
"""
- if registration_enabled():
- return super().is_open_for_signup(request, *args, **kwargs)
+ if registration_enabled(self.REGISTRATION_SETTING):
+ return True
+ logger.warning(
+ f'INVE-W12: Signup attempt blocked, because registration is disabled via setting {self.REGISTRATION_SETTING}.'
+ )
return False
def clean_email(self, email):
@@ -187,6 +194,8 @@ class CustomAccountAdapter(RegistrationMixin, DefaultAccountAdapter):
class CustomSocialAccountAdapter(RegistrationMixin, DefaultSocialAccountAdapter):
"""Override of adapter to use dynamic settings."""
+ REGISTRATION_SETTING = 'LOGIN_ENABLE_SSO_REG'
+
def is_auto_signup_allowed(self, request, sociallogin):
"""Check if auto signup is enabled in settings."""
if get_global_setting('LOGIN_SIGNUP_SSO_AUTO', True):
diff --git a/src/backend/InvenTree/InvenTree/backends.py b/src/backend/InvenTree/InvenTree/backends.py
index 29cb505696..a80fc3d6fb 100644
--- a/src/backend/InvenTree/InvenTree/backends.py
+++ b/src/backend/InvenTree/InvenTree/backends.py
@@ -84,10 +84,11 @@ class InvenTreeMaintenanceModeBackend(AbstractStateBackend):
r -= 1
- if r == 0:
- logger.warning(
- 'Failed to set maintenance mode state after %s retries', retries
- )
+ # Disable this warning message (for now) as it is confusing users with no upside
+ # if r == 0:
+ # logger.warning(
+ # 'Failed to set maintenance mode state after %s retries', retries
+ # )
class InvenTreeMailLoggingBackend(BaseEmailBackend):
diff --git a/src/backend/InvenTree/InvenTree/backup.py b/src/backend/InvenTree/InvenTree/backup.py
index 9a14da11b3..bb08308124 100644
--- a/src/backend/InvenTree/InvenTree/backup.py
+++ b/src/backend/InvenTree/InvenTree/backup.py
@@ -5,7 +5,16 @@ We use the django-dbbackup library to handle backup and restore operations.
Ref: https://archmonger.github.io/django-dbbackup/latest/configuration/
"""
+from datetime import datetime, timedelta
+
+from django.conf import settings
+
+import structlog
+
import InvenTree.config
+import InvenTree.version
+
+logger = structlog.get_logger('inventree')
def get_backup_connector_options() -> dict:
@@ -131,3 +140,131 @@ def backup_media_filename_template() -> str:
default_value='InvenTree-media-{datetime}.{extension}',
typecast=str,
)
+
+
+# schema for backup metadata
+InvenTreeBackupMetadata = dict[str, str | int | bool | None]
+
+
+def _gather_environment_metadata() -> InvenTreeBackupMetadata:
+ """Gather metadata about the current environment to be stored with the backup."""
+ import plugin.installer
+
+ new_data: InvenTreeBackupMetadata = {}
+
+ new_data['ivt_1_debug'] = settings.DEBUG
+ new_data['ivt_1_version'] = InvenTree.version.inventreeVersion()
+ new_data['ivt_1_version_api'] = InvenTree.version.inventreeApiVersion()
+ new_data['ivt_1_plugins_enabled'] = settings.PLUGINS_ENABLED
+ new_data['ivt_1_plugins_file_hash'] = plugin.installer.plugins_file_hash()
+ new_data['ivt_1_installer'] = InvenTree.config.inventreeInstaller()
+ new_data['ivt_1_backup_time'] = datetime.now().isoformat()
+
+ return new_data
+
+
+def _parse_environment_metadata(metadata: InvenTreeBackupMetadata) -> dict[str, str]:
+ """Parse backup metadata to extract environment information."""
+ data = {}
+
+ data['debug'] = metadata.get('ivt_1_debug', False)
+ data['version'] = metadata.get('ivt_1_version', 'unknown')
+ data['version_api'] = metadata.get('ivt_1_version_api', 'unknown')
+ data['plugins_enabled'] = metadata.get('ivt_1_plugins_enabled', False)
+ data['plugins_file_hash'] = metadata.get('ivt_1_plugins_file_hash', 'unknown')
+ data['installer'] = metadata.get('ivt_1_installer', 'unknown')
+ data['backup_time'] = metadata.get('ivt_1_backup_time', 'unknown')
+
+ return data
+
+
+def metadata_set(metadata) -> InvenTreeBackupMetadata:
+ """Set backup metadata for the current backup operation."""
+ return _gather_environment_metadata()
+
+
+def validate_restore(metadata: InvenTreeBackupMetadata) -> bool | None:
+ """Validate whether a backup restore operation should proceed, based on the provided metadata."""
+ if metadata.get('ivt_1_version') is None:
+ logger.warning(
+ 'INVE-W13: Backup metadata does not contain version information',
+ error_code='INVE-W13',
+ )
+ return True
+
+ current_environment = _parse_environment_metadata(_gather_environment_metadata())
+ backup_environment = _parse_environment_metadata(metadata)
+
+ # Version mismatch
+ if backup_environment['version'] != current_environment['version']:
+ logger.warning(
+ f'INVE-W13: Backup being restored was created with InvenTree version {backup_environment["version"]}, but current version is {current_environment["version"]}',
+ error_code='INVE-W13',
+ )
+
+ # Backup is from newer version - fail
+ try:
+ if int(backup_environment['version_api']) > int(
+ str(current_environment['version_api'])
+ ):
+ logger.error(
+ 'INVE-E16: Backup being restored was created with a newer version of InvenTree - restore cannot proceed. If you are using the invoke task for your restore this warning might be overridden once with `--restore-allow-newer-version`',
+ error_code='INVE-E16',
+ )
+ # Check for pass flag to allow restore
+ if not settings.BACKUP_RESTORE_ALLOW_NEWER_VERSION: # defaults to False
+ return False
+ else:
+ logger.warning(
+ 'INVE-W13: Backup restore is allowing a restore from a newer version of InvenTree - this can lead to data loss or corruption',
+ error_code='INVE-W13',
+ )
+ except ValueError: # pragma: no cover
+ logger.warning(
+ 'INVE-W13: Could not parse API version from backup metadata - cannot determine if backup is from newer version',
+ error_code='INVE-W13',
+ )
+
+ # Plugins enabled on backup but not restore environment - warn
+ if (
+ backup_environment['plugins_enabled']
+ and not current_environment['plugins_enabled']
+ ):
+ logger.warning(
+ 'INVE-W13: Backup being restored was created with plugins enabled, but current environment has plugins disabled - this can lead to data loss',
+ error_code='INVE-W13',
+ )
+
+ # Plugins file hash mismatch - warn
+ if pg_hash := backup_environment['plugins_file_hash']:
+ if pg_hash != current_environment['plugins_file_hash']:
+ logger.warning(
+ 'INVE-W13: Backup being restored has a different plugins file hash to the current environment - this can lead to data loss or corruption',
+ error_code='INVE-W13',
+ )
+
+ # Installer mismatch - warn
+ if installer := backup_environment['installer']:
+ if installer != current_environment['installer']:
+ logger.warning(
+ f"INVE-W13: Backup being restored was created with installer '{installer}', but current environment has installer '{current_environment['installer']}'",
+ error_code='INVE-W13',
+ )
+
+ # Age of backup
+ last_backup_time = backup_environment.get('backup_time')
+ if datetime.now() - datetime.fromisoformat(last_backup_time) > timedelta(days=120):
+ logger.warning(
+ f'INVE-W13: Backup being restored is over 120 days old (last backup time: {last_backup_time})',
+ error_code='INVE-W13',
+ )
+
+ if settings.DEBUG: # pragma: no cover
+ logger.info(
+ f'INVE-I3: Backup environment: {backup_environment}', error_code='INVE-I3'
+ )
+ logger.info(
+ f'INVE-I3: Current environment: {current_environment}', error_code='INVE-I3'
+ )
+
+ return True
diff --git a/src/backend/InvenTree/InvenTree/config.py b/src/backend/InvenTree/InvenTree/config.py
index 7392543441..d71d80e567 100644
--- a/src/backend/InvenTree/InvenTree/config.py
+++ b/src/backend/InvenTree/InvenTree/config.py
@@ -191,7 +191,7 @@ def load_config_data(set_cache: bool = False) -> map | None:
if CONFIG_DATA is not None and not set_cache:
return CONFIG_DATA
- import yaml
+ import yaml.parser
cfg_file = get_config_file()
diff --git a/src/backend/InvenTree/InvenTree/exceptions.py b/src/backend/InvenTree/InvenTree/exceptions.py
index dbb623eb5b..161860339d 100644
--- a/src/backend/InvenTree/InvenTree/exceptions.py
+++ b/src/backend/InvenTree/InvenTree/exceptions.py
@@ -66,7 +66,7 @@ def log_error(
data = error_data
else:
try:
- formatted_exception = traceback.format_exception(kind, info, data) # type: ignore[no-matching-overload]
+ formatted_exception = traceback.format_exception(kind, info, data)
data = '\n'.join(formatted_exception)
except AttributeError:
data = 'No traceback information available'
diff --git a/src/backend/InvenTree/InvenTree/filters.py b/src/backend/InvenTree/InvenTree/filters.py
index 78c5c5e455..44319b843f 100644
--- a/src/backend/InvenTree/InvenTree/filters.py
+++ b/src/backend/InvenTree/InvenTree/filters.py
@@ -111,9 +111,11 @@ class InvenTreeOrderingFilter(filters.OrderingFilter):
def get_ordering(self, request, queryset, view):
"""Override ordering for supporting aliases."""
- ordering = super().get_ordering(request, queryset, view)
+ ordering = list(super().get_ordering(request, queryset, view) or [])
aliases = getattr(view, 'ordering_field_aliases', None)
+ lookup_field = getattr(view, 'lookup_field', 'pk')
+ lookup_reversed = len(ordering) > 0 and ordering[-1].startswith('-')
# Attempt to map ordering fields based on provided aliases
if ordering is not None and aliases is not None:
@@ -123,9 +125,8 @@ class InvenTreeOrderingFilter(filters.OrderingFilter):
ordering = []
for field in ordering_initial:
- reverse = field.startswith('-')
-
- if reverse:
+ field_reversed = field.startswith('-')
+ if field_reversed:
field = field[1:]
# Are aliases defined for this field?
@@ -153,11 +154,22 @@ class InvenTreeOrderingFilter(filters.OrderingFilter):
continue
for a in alias:
- if reverse:
+ if field_reversed:
a = '-' + a
ordering.append(a)
+ # Ensure that any API filtering appends the primary-key field
+ # This is to prevent "ambiguous ordering" errors across pagination boundaries
+ # Ref: https://github.com/inventree/InvenTree/issues/11442
+ if lookup_field and not any(
+ field in ordering for field in [lookup_field, f'-{lookup_field}']
+ ):
+ if lookup_reversed:
+ ordering.append(f'-{lookup_field}')
+ else:
+ ordering.append(lookup_field)
+
return ordering
@@ -220,18 +232,10 @@ class NumericInFilter(rest_filters.BaseInFilter):
return super().filter(qs, numeric_values)
-SEARCH_ORDER_FILTER = [
- drf_backend.DjangoFilterBackend,
- InvenTreeSearchFilter,
- filters.OrderingFilter,
-]
+ORDER_FILTER = [drf_backend.DjangoFilterBackend, InvenTreeOrderingFilter]
-SEARCH_ORDER_FILTER_ALIAS = [
+SEARCH_ORDER_FILTER = [
drf_backend.DjangoFilterBackend,
InvenTreeSearchFilter,
InvenTreeOrderingFilter,
]
-
-ORDER_FILTER = [drf_backend.DjangoFilterBackend, filters.OrderingFilter]
-
-ORDER_FILTER_ALIAS = [drf_backend.DjangoFilterBackend, InvenTreeOrderingFilter]
diff --git a/src/backend/InvenTree/InvenTree/helpers.py b/src/backend/InvenTree/InvenTree/helpers.py
index 3acf31c67d..344aa7bde0 100644
--- a/src/backend/InvenTree/InvenTree/helpers.py
+++ b/src/backend/InvenTree/InvenTree/helpers.py
@@ -199,7 +199,7 @@ def regenerate_imagefile(_file, _name: str):
_name: Name of the variation (e.g. 'thumbnail', 'preview')
"""
name = _file.field.attr_class.get_variation_name(_file.name, _name)
- return ImageFieldFile(_file.instance, _file, name) # type: ignore
+ return ImageFieldFile(_file.instance, _file, name) # ty:ignore[too-many-positional-arguments]
def image2name(img_obj: StdImageField, do_preview: bool, do_thumbnail: bool):
@@ -229,8 +229,15 @@ def getStaticUrl(filename):
return os.path.join(STATIC_URL, str(filename))
-def TestIfImage(img):
- """Test if an image file is indeed an image."""
+def TestIfImage(img) -> bool:
+ """Test if an image file is indeed an image.
+
+ Arguments:
+ img: A file-like object
+
+ Returns:
+ True if the file is a valid image, False otherwise
+ """
try:
Image.open(img).verify()
return True
@@ -248,9 +255,15 @@ def getBlankThumbnail():
return getStaticUrl('img/blank_image.thumbnail.png')
+def checkStaticFile(*args) -> bool:
+ """Check if a file exists in the static storage."""
+ static_storage = StaticFilesStorage()
+ fn = os.path.join(*args)
+ return static_storage.exists(fn)
+
+
def getLogoImage(as_file=False, custom=True):
"""Return the InvenTree logo image, or a custom logo if available."""
- """Return the path to the logo-file."""
if custom and settings.CUSTOM_LOGO:
static_storage = StaticFilesStorage()
@@ -312,7 +325,7 @@ def TestIfImageURL(url):
]
-def str2bool(text, test=True):
+def str2bool(text, test=True) -> bool:
"""Test if a string 'looks' like a boolean value.
Args:
diff --git a/src/backend/InvenTree/InvenTree/helpers_email.py b/src/backend/InvenTree/InvenTree/helpers_email.py
index 74d189d5d2..f6dca007f2 100644
--- a/src/backend/InvenTree/InvenTree/helpers_email.py
+++ b/src/backend/InvenTree/InvenTree/helpers_email.py
@@ -8,6 +8,7 @@ import structlog
from allauth.account.models import EmailAddress
import InvenTree.ready
+import InvenTree.tasks as tasks
from common.models import Priority, issue_mail
logger = structlog.get_logger('inventree')
@@ -98,7 +99,7 @@ def send_email(
)
return False, 'INVE-W7: no from_email or DEFAULT_FROM_EMAIL specified'
- InvenTree.tasks.offload_task(
+ tasks.offload_task(
issue_mail,
subject=subject,
body=body,
@@ -122,7 +123,8 @@ def get_email_for_user(user) -> Optional[str]:
# Otherwise, find first matching email
# Priority is given to primary or verified email addresses
if (
- email := EmailAddress.objects.filter(user=user)
+ email := EmailAddress.objects
+ .filter(user=user)
.order_by('-primary', '-verified')
.first()
):
diff --git a/src/backend/InvenTree/InvenTree/management/commands/migrate_icons.py b/src/backend/InvenTree/InvenTree/management/commands/migrate_icons.py
index 1ff5e6fd62..ee8456fe4f 100644
--- a/src/backend/InvenTree/InvenTree/management/commands/migrate_icons.py
+++ b/src/backend/InvenTree/InvenTree/management/commands/migrate_icons.py
@@ -99,7 +99,7 @@ class Command(BaseCommand):
if kwargs['include_items']:
icons[icon]['items'].append({
'model': model.__name__.lower(),
- 'id': item.id, # type: ignore
+ 'id': item.id,
})
self.stdout.write(f'Writing icon map for {len(icons.keys())} icons')
diff --git a/src/backend/InvenTree/InvenTree/management/commands/remove_mfa.py b/src/backend/InvenTree/InvenTree/management/commands/remove_mfa.py
index a7a1a038dd..4d030300f9 100644
--- a/src/backend/InvenTree/InvenTree/management/commands/remove_mfa.py
+++ b/src/backend/InvenTree/InvenTree/management/commands/remove_mfa.py
@@ -13,33 +13,59 @@ class Command(BaseCommand):
def add_arguments(self, parser):
"""Add the arguments."""
- parser.add_argument('mail', type=str)
+ parser.add_argument('--mail', type=str, nargs='?')
+ parser.add_argument('--username', type=str, nargs='?')
- def handle(self, *args, mail, **kwargs):
- """Remove MFA for the supplied user (by mail)."""
+ def handle(self, *args, mail, username, **kwargs):
+ """Remove MFA for the supplied user (by mail or username)."""
user = get_user_model()
- mfa_user = [
- *set(
- user.objects.filter(email=mail)
- | user.objects.filter(emailaddress__email=mail)
- )
- ]
+ mfa_user = []
+ success = False
- if len(mfa_user) == 0:
- logger.warning('No user with this mail associated')
- elif len(mfa_user) > 1:
- emails_list = ', '.join(
- sorted(
- {b.email for a in mfa_user for b in a.emailaddress_set.all()}
- | {a.email for a in mfa_user}
+ if mail is not None:
+ mfa_user = [
+ *set(
+ user.objects.filter(email=mail)
+ | user.objects.filter(emailaddress__email=mail)
)
- )
- usernames_list = ', '.join(sorted({a.username for a in mfa_user}))
- logger.error(
- f"Multiple users found with the provided email; Usernames: '{usernames_list}', Emails: '{emails_list}'"
- )
+ ]
+ if len(mfa_user) == 0:
+ logger.warning('No user with this mail associated')
+ elif len(mfa_user) > 1:
+ emails_list = ', '.join(
+ sorted(
+ {b.email for a in mfa_user for b in a.emailaddress_set.all()}
+ | {a.email for a in mfa_user}
+ )
+ )
+ usernames_list = ', '.join(sorted({a.username for a in mfa_user}))
+ logger.error(
+ f"Multiple users found with the provided email; Usernames: '{usernames_list}', Emails: '{emails_list}'"
+ )
+ else:
+ # found exactly one user
+ success = True
+
+ elif username is not None:
+ mfa_user = user.objects.filter(username=username)
+ if len(mfa_user) == 0:
+ logger.warning('No user with this username associated')
+ elif (
+ len(mfa_user) > 1
+ ): # pragma: no cover # Should not be possible due to unique constraint
+ logger.error('Multiple users found with the provided username')
+ else:
+ # found exactly one user
+ success = True
+
else:
- # and clean out all MFA methods
+ logger.error('No mail or username provided')
+ raise ValueError(
+ 'Error: one of the following arguments is required: mail, username'
+ )
+
+ # Clean out all MFA methods
+ if success:
auths = mfa_user[0].authenticator_set.all()
length = len(auths)
auths.delete()
diff --git a/src/backend/InvenTree/InvenTree/management/commands/schema.py b/src/backend/InvenTree/InvenTree/management/commands/schema.py
index 5f7022411f..c71e664a94 100644
--- a/src/backend/InvenTree/InvenTree/management/commands/schema.py
+++ b/src/backend/InvenTree/InvenTree/management/commands/schema.py
@@ -71,7 +71,8 @@ class Command(spectacular.Command):
for p_name, p_spec in spec['paths'].items():
# strip path name
p_name = (
- p_name.removeprefix(dja_path_prefix)
+ p_name
+ .removeprefix(dja_path_prefix)
.removeprefix('/_allauth/browser/v1/')
.removeprefix('/_allauth/app/v1/')
)
diff --git a/src/backend/InvenTree/InvenTree/metadata.py b/src/backend/InvenTree/InvenTree/metadata.py
index c45c20e832..86cbc91229 100644
--- a/src/backend/InvenTree/InvenTree/metadata.py
+++ b/src/backend/InvenTree/InvenTree/metadata.py
@@ -5,7 +5,7 @@ from django.http import Http404
from django.urls import reverse
import structlog
-from rest_framework import exceptions, serializers
+from rest_framework import exceptions, permissions, serializers
from rest_framework.fields import empty
from rest_framework.metadata import SimpleMetadata
from rest_framework.request import clone_request
@@ -131,10 +131,26 @@ class InvenTreeMetadata(SimpleMetadata):
# Remove any HTTP methods that the user does not have permission for
for method, permission in rolemap.items():
+ # general model / role permission
result = check_user_permission(user, self.model, permission) or (
role_required and check_user_role(user, role_required, permission)
)
+ # check if simple IsAuthenticated permission class is used
+ if not result:
+ result = (
+ view.permission_classes
+ and len(view.permission_classes) == 1
+ and any(
+ perm
+ in [
+ permissions.IsAuthenticated,
+ InvenTree.permissions.IsAuthenticatedOrReadScope,
+ ]
+ for perm in view.permission_classes
+ )
+ )
+
if method in actions and not result:
del actions[method]
diff --git a/src/backend/InvenTree/InvenTree/middleware.py b/src/backend/InvenTree/InvenTree/middleware.py
index 60b3dbe48a..efed42d59c 100644
--- a/src/backend/InvenTree/InvenTree/middleware.py
+++ b/src/backend/InvenTree/InvenTree/middleware.py
@@ -42,7 +42,7 @@ def get_token_from_request(request):
def ensure_slashes(path: str):
- """Ensure that slashes are suroudning the passed path."""
+ """Ensure that slashes are surrounding the passed path."""
if not path.startswith('/'):
path = f'/{path}'
if not path.endswith('/'):
@@ -59,6 +59,7 @@ urls = [
paths_ignore_handling = [
'/api/',
+ '/plugin/',
reverse('auth-check'),
settings.MEDIA_URL,
settings.STATIC_URL,
@@ -68,7 +69,7 @@ paths_ignore_handling = [
paths_own_security = [
'/api/', # DRF handles API
'/o/', # oAuth2 library - has its own auth model
- '/anymail/', # Mails - wehbhooks etc
+ '/anymail/', # Mails - webhooks etc
'/accounts/', # allauth account management - has its own auth model
'/assets/', # Web assets - only used for testing, no security model needed
ensure_slashes(
@@ -322,7 +323,7 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
# treat the accessed scheme and host
accessed_scheme = request._current_scheme_host
- referer = urlsplit(accessed_scheme)
+ referrer = urlsplit(accessed_scheme)
site_url = urlsplit(settings.SITE_URL)
@@ -330,8 +331,8 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
site_url_match = (
(
# Exact match on domain
- is_same_domain(referer.netloc, site_url.netloc)
- and referer.scheme == site_url.scheme
+ is_same_domain(referrer.netloc, site_url.netloc)
+ and referrer.scheme == site_url.scheme
)
or (
# Lax protocol match, accessed URL starts with SITE_URL
@@ -341,7 +342,7 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
or (
# Lax protocol match, same domain
settings.SITE_LAX_PROTOCOL_CHECK
- and referer.hostname == site_url.hostname
+ and referrer.hostname == site_url.hostname
)
)
@@ -367,7 +368,7 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
trusted_origins_match = (
# Matching domain found in allowed origins
any(
- is_same_domain(referer.netloc, host)
+ is_same_domain(referrer.netloc, host)
for host in [
urlsplit(origin).netloc.lstrip('*')
for origin in settings.CSRF_TRUSTED_ORIGINS
@@ -377,7 +378,7 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
# Lax protocol match allowed
settings.SITE_LAX_PROTOCOL_CHECK
and any(
- referer.hostname == urlsplit(origin).hostname
+ referrer.hostname == urlsplit(origin).hostname
for origin in settings.CSRF_TRUSTED_ORIGINS
)
)
diff --git a/src/backend/InvenTree/InvenTree/mixins.py b/src/backend/InvenTree/InvenTree/mixins.py
index 498b201872..5dd51c30ca 100644
--- a/src/backend/InvenTree/InvenTree/mixins.py
+++ b/src/backend/InvenTree/InvenTree/mixins.py
@@ -239,10 +239,17 @@ class OutputOptionsMixin:
def get_serializer(self, *args, **kwargs):
"""Return serializer instance with output options applied."""
- if self.output_options and hasattr(self, 'request'):
+ request = getattr(self, 'request', None)
+
+ if self.output_options and request:
params = self.request.query_params
kwargs.update(self.output_options.format_params(params))
+ # Ensure the request is included in the serializer context
+ context = kwargs.get('context', {})
+ context['request'] = request
+ kwargs['context'] = context
+
serializer = super().get_serializer(*args, **kwargs)
# Check if the serializer actually can be filtered - makes not much sense to use this mixin without that prerequisite
diff --git a/src/backend/InvenTree/InvenTree/models.py b/src/backend/InvenTree/InvenTree/models.py
index 978b11532c..07ef3ded71 100644
--- a/src/backend/InvenTree/InvenTree/models.py
+++ b/src/backend/InvenTree/InvenTree/models.py
@@ -610,7 +610,8 @@ class InvenTreeParameterMixin(InvenTreePermissionCheckMixin, models.Model):
def get_parameters(self) -> QuerySet:
"""Return all Parameter instances for this model."""
return (
- self.parameters_list.all()
+ self.parameters_list
+ .all()
.prefetch_related('template', 'model_type')
.order_by('template__name')
)
@@ -752,7 +753,8 @@ class InvenTreeTree(ContentTypeMixin, MPTTModel):
for child in self.get_children():
# Store a flattened list of node IDs for each of the lower trees
nodes = list(
- child.get_descendants(include_self=True)
+ child
+ .get_descendants(include_self=True)
.values_list('pk', flat=True)
.distinct()
)
@@ -1327,7 +1329,7 @@ class InvenTreeBarcodeMixin(models.Model):
@classmethod
def lookup_barcode(cls, barcode_hash: str) -> models.Model:
"""Check if a model instance exists with the specified third-party barcode hash."""
- return cls.objects.filter(barcode_hash=barcode_hash).first()
+ return cls.objects.filter(barcode_hash=barcode_hash).first() # ty:ignore[invalid-return-type]
def assign_barcode(
self,
@@ -1408,32 +1410,22 @@ def after_failed_task(sender, instance: Task, created: bool, **kwargs):
"""Callback when a new task failure log is generated."""
from django.conf import settings
+ from InvenTree.exceptions import log_error
+
max_attempts = int(settings.Q_CLUSTER.get('max_attempts', 5))
n = instance.attempt_count
# Only notify once the maximum number of attempts has been reached
if not instance.success and n >= max_attempts:
- try:
- url = InvenTree.helpers_model.construct_absolute_url(
- reverse(
- 'admin:django_q_failure_change', kwargs={'object_id': instance.pk}
- )
- )
- except (ValueError, NoReverseMatch):
- url = ''
+ # Create a new Error object associated with this failed task
+ # This will, in turn, trigger a notification to staff users via the Error post_save signal
- # Function name
- f = instance.func
-
- notify_staff_users_of_error(
- instance,
- 'inventree.task_failure',
- {
- 'failure': instance,
- 'name': _('Task Failure'),
- 'message': _(f"Background worker task '{f}' failed after {n} attempts"),
- 'link': url,
- },
+ log_error(
+ 'task_failure',
+ scope='worker',
+ error_name='Task Failure',
+ error_info=f"Task '{instance.pk}' failed after {n} attempts",
+ error_data=str(instance.result) if instance.result else '',
)
@@ -1493,7 +1485,7 @@ class InvenTreeImageMixin(models.Model):
def rename_image(self, filename):
"""Rename the uploaded image file using the IMAGE_RENAME function."""
- return self.IMAGE_RENAME(filename) # type: ignore
+ return self.IMAGE_RENAME(filename)
image = StdImageField(
upload_to=rename_image,
diff --git a/src/backend/InvenTree/InvenTree/permissions.py b/src/backend/InvenTree/InvenTree/permissions.py
index bf4335e94c..47af7dabcc 100644
--- a/src/backend/InvenTree/InvenTree/permissions.py
+++ b/src/backend/InvenTree/InvenTree/permissions.py
@@ -376,7 +376,7 @@ def auth_exempt(view_func):
def wrapped_view(*args, **kwargs):
return view_func(*args, **kwargs)
- wrapped_view.auth_exempt = True # type:ignore[unresolved-attribute]
+ wrapped_view.auth_exempt = True
return wraps(view_func)(wrapped_view)
@@ -470,3 +470,25 @@ class DataImporterPermission(OASTokenMixin, permissions.BasePermission):
)
return True
+
+
+class ContentTypePermission(OASTokenMixin, permissions.BasePermission):
+ """Mixin class for determining if the user has correct permissions."""
+
+ ENFORCE_USER_PERMS = True
+
+ def has_permission(self, request, view):
+ """Class level permission checks are handled via InvenTree.permissions.IsAuthenticatedOrReadScope."""
+ return request.user and request.user.is_authenticated
+
+ def get_required_alternate_scopes(self, request, view):
+ """Return the required scopes for the current request."""
+ return map_scope(roles=_roles)
+
+ def has_object_permission(self, request, view, obj):
+ """Check if the user has permission to access the object."""
+ if model_class := obj.__class__:
+ return users.permissions.check_user_permission(
+ request.user, model_class, 'change'
+ )
+ return False
diff --git a/src/backend/InvenTree/InvenTree/ready.py b/src/backend/InvenTree/InvenTree/ready.py
index b7fb78ca6b..bfcc504700 100644
--- a/src/backend/InvenTree/InvenTree/ready.py
+++ b/src/backend/InvenTree/InvenTree/ready.py
@@ -6,6 +6,13 @@ import os
import sys
import warnings
+from django.conf import settings
+
+import structlog
+
+logger = structlog.get_logger('inventree')
+
+
# Keep track of loaded apps, to prevent multiple executions of ready functions
_loaded_apps = set()
@@ -33,6 +40,11 @@ def isInTestMode():
return 'test' in sys.argv or sys.argv[0].endswith('pytest')
+def isWaitingForDatabase():
+ """Return True if we are currently waiting for the database to be ready."""
+ return 'wait_for_db' in sys.argv
+
+
def isImportingData():
"""Returns True if the database is currently importing (or exporting) data, e.g. 'loaddata' command is performed."""
return any(x in sys.argv for x in ['flush', 'loaddata', 'dumpdata'])
@@ -49,7 +61,13 @@ def isRunningMigrations():
def isRebuildingData():
"""Return true if any of the rebuilding commands are being executed."""
return any(
- x in sys.argv for x in ['rebuild_models', 'rebuild_thumbnails', 'rebuild']
+ x in sys.argv
+ for x in [
+ 'rebuild',
+ 'rebuild_models',
+ 'rebuild_thumbnails',
+ 'remove_stale_contenttypes',
+ ]
)
@@ -61,13 +79,18 @@ def isRunningBackup():
'backup',
'restore',
'dbbackup',
- 'dbresotore',
+ 'dbrestore',
'mediabackup',
'mediarestore',
]
)
+def isCollectingPlugins():
+ """Return True if the 'collectplugins' command is being executed."""
+ return 'collectplugins' in sys.argv
+
+
def isGeneratingSchema():
"""Return true if schema generation is being executed."""
if isInServerThread() or isInWorkerThread():
@@ -82,11 +105,54 @@ def isGeneratingSchema():
if isInTestMode():
return False
- if 'schema' in sys.argv:
+ if isWaitingForDatabase():
+ return False
+
+ if isCollectingPlugins():
+ return False
+
+ # Additional set of commands which should not trigger schema generation
+ excluded_commands = [
+ 'compilemessages',
+ 'createsuperuser',
+ 'clean_settings',
+ 'collectstatic',
+ 'makemessages',
+ 'wait_for_db',
+ 'gunicorn',
+ 'qcluster',
+ 'check',
+ 'shell',
+ ]
+
+ if any(cmd in sys.argv for cmd in excluded_commands):
+ return False
+
+ included_commands = [
+ 'schema',
+ # schema adjacent calls
+ 'export_settings_definitions',
+ 'export_tags',
+ 'export_filters',
+ 'export_report_context',
+ ]
+ if any(cmd in sys.argv for cmd in included_commands):
return True
# This is a very inefficient call - so we only use it as a last resort
- return any('drf_spectacular' in frame.filename for frame in inspect.stack())
+ result = any('drf_spectacular' in frame.filename for frame in inspect.stack())
+
+ if not result:
+ # We should only get here if we *are* generating schema
+ # Raise a warning, so that deevlopers can add extra checks above
+
+ if settings.DEBUG:
+ logger.warning(
+ 'isGeneratingSchema called outside of expected contexts - this may be a sign of a problem with the ready() function'
+ )
+ logger.warning('sys.argv: %s', sys.argv)
+
+ return result
def isInWorkerThread():
diff --git a/src/backend/InvenTree/InvenTree/schema.py b/src/backend/InvenTree/InvenTree/schema.py
index 095dbe15d4..8ec7392130 100644
--- a/src/backend/InvenTree/InvenTree/schema.py
+++ b/src/backend/InvenTree/InvenTree/schema.py
@@ -89,12 +89,13 @@ class ExtendedAutoSchema(AutoSchema):
operation['requestBody'] = request_body
self.method = original_method
+ parameters = operation.get('parameters', [])
+
# If pagination limit is not set (default state) then all results will return unpaginated. This doesn't match
# what the schema defines to be the expected result. This forces limit to be present, producing the expected
# type.
pagination_class = getattr(self.view, 'pagination_class', None)
if pagination_class and pagination_class == LimitOffsetPagination:
- parameters = operation.get('parameters', [])
for parameter in parameters:
if parameter['name'] == 'limit':
parameter['required'] = True
@@ -102,7 +103,6 @@ class ExtendedAutoSchema(AutoSchema):
# Add valid order selections to the ordering field description.
ordering_fields = getattr(self.view, 'ordering_fields', None)
if ordering_fields is not None:
- parameters = operation.get('parameters', [])
for parameter in parameters:
if parameter['name'] == 'ordering':
schema_order = []
@@ -117,8 +117,6 @@ class ExtendedAutoSchema(AutoSchema):
if search_fields is not None:
# Ensure consistent ordering of search fields
search_fields = sorted(search_fields)
-
- parameters = operation.get('parameters', [])
for parameter in parameters:
if parameter['name'] == 'search':
parameter['description'] = (
@@ -135,8 +133,57 @@ class ExtendedAutoSchema(AutoSchema):
schema['items'] = {'$ref': schema['$ref']}
del schema['$ref']
+ # Add vendor extensions for custom behavior
+ operation.update(self.get_inventree_extensions())
+
return operation
+ def get_inventree_extensions(self):
+ """Add InvenTree specific extensions to the schema."""
+ from rest_framework.generics import RetrieveAPIView
+ from rest_framework.mixins import RetrieveModelMixin, UpdateModelMixin
+
+ from data_exporter.mixins import DataExportViewMixin
+ from InvenTree.api import BulkOperationMixin
+ from InvenTree.mixins import CleanMixin
+
+ lvl = settings.SCHEMA_VENDOREXTENSION_LEVEL
+ """Level of detail for InvenTree extensions."""
+
+ if lvl == 0:
+ return {}
+
+ mro = self.view.__class__.__mro__
+
+ data = {}
+ if lvl >= 1:
+ data['x-inventree-meta'] = {
+ 'version': '1.0',
+ 'is_detail': any(
+ a in mro
+ for a in [RetrieveModelMixin, UpdateModelMixin, RetrieveAPIView]
+ ),
+ 'is_bulk': BulkOperationMixin in mro,
+ 'is_cleaned': CleanMixin in mro,
+ 'is_filtered': hasattr(self.view, 'output_options'),
+ 'is_exported': DataExportViewMixin in mro,
+ }
+ if lvl >= 2:
+ data['x-inventree-components'] = [str(a) for a in mro]
+ try:
+ qs = self.view.get_queryset()
+ qs = qs.model if qs is not None and hasattr(qs, 'model') else None
+ except Exception:
+ qs = None
+
+ data['x-inventree-model'] = {
+ 'scope': 'core',
+ 'model': str(qs.__name__) if qs else None,
+ 'app': str(qs._meta.app_label) if qs else None,
+ }
+
+ return data
+
def postprocess_schema_enums(result, generator, **kwargs):
"""Override call to drf-spectacular's enum postprocessor to filter out specific warnings."""
diff --git a/src/backend/InvenTree/InvenTree/serializers.py b/src/backend/InvenTree/InvenTree/serializers.py
index 3fc8e04db5..4bd226a574 100644
--- a/src/backend/InvenTree/InvenTree/serializers.py
+++ b/src/backend/InvenTree/InvenTree/serializers.py
@@ -21,6 +21,7 @@ from rest_framework import serializers
from rest_framework.exceptions import ValidationError
from rest_framework.fields import empty
from rest_framework.mixins import ListModelMixin
+from rest_framework.permissions import SAFE_METHODS
from rest_framework.serializers import DecimalField
from rest_framework.utils import model_meta
from taggit.serializers import TaggitSerializer, TagListSerializerField
@@ -163,10 +164,15 @@ class FilterableSerializerMixin:
def gather_filters(self, kwargs) -> None:
"""Gather filterable fields through introspection."""
+ context = kwargs.get('context', {})
+ request = context.get('request', None) or getattr(self, 'request', None)
+
+ # Gather query parameters from the request context
+ query_params = dict(getattr(request, 'query_params', {})) if request else {}
+
# Fast exit if this has already been done or would not have any effect
if getattr(self, '_was_filtered', False) or not hasattr(self, 'fields'):
return
- self._was_filtered = True
# Actually gather the filterable fields
# Also see `enable_filter` where` is_filterable and is_filterable_vals are set
@@ -176,21 +182,22 @@ class FilterableSerializerMixin:
if getattr(a, 'is_filterable', None)
}
- # Gather query parameters from the request context
- query_params = {}
- if context := kwargs.get('context', {}):
- query_params = dict(getattr(context.get('request', {}), 'query_params', {}))
-
# Remove filter args from kwargs to avoid issues with super().__init__
popped_kwargs = {} # store popped kwargs as a arg might be reused for multiple fields
tgs_vals: dict[str, bool] = {}
for k, v in self.filter_targets.items():
pop_ref = v['filter_name'] or k
val = kwargs.pop(pop_ref, popped_kwargs.get(pop_ref))
-
# Optionally also look in query parameters
- if val is None and self.filter_on_query and v.get('filter_by_query', True):
+ # Note that we only do this for a top-level serializer, to avoid issues with nested serializers
+ if (
+ request
+ and val is None
+ and self.filter_on_query
+ and v.get('filter_by_query', True)
+ ):
val = query_params.pop(pop_ref, None)
+
if isinstance(val, list) and len(val) == 1:
val = val[0]
@@ -199,7 +206,9 @@ class FilterableSerializerMixin:
tgs_vals[k] = (
str2bool(val) if isinstance(val, (str, int, float)) else val
) # Support for various filtering style for backwards compatibility
+
self.filter_target_values = tgs_vals
+ self._was_filtered = True
# Ensure this mixin is not broadly applied as it is expensive on scale (total CI time increased by 21% when running all coverage tests)
if len(self.filter_targets) == 0 and not self.no_filters:
@@ -216,14 +225,12 @@ class FilterableSerializerMixin:
):
return
- # Skip filtering when exporting data - leave all fields intact
- if getattr(self, '_exporting_data', False):
- return
+ is_exporting = getattr(self, '_exporting_data', False)
# Skip filtering for a write requests - all fields should be present for data creation
if request := self.context.get('request', None):
if method := getattr(request, 'method', None):
- if str(method).lower() in ['post', 'put', 'patch']:
+ if method not in SAFE_METHODS and not is_exporting:
return
# Throw out fields which are not requested (either by default or explicitly)
diff --git a/src/backend/InvenTree/InvenTree/setting/db_backend.py b/src/backend/InvenTree/InvenTree/setting/db_backend.py
new file mode 100644
index 0000000000..af523ef41a
--- /dev/null
+++ b/src/backend/InvenTree/InvenTree/setting/db_backend.py
@@ -0,0 +1,153 @@
+"""Configuration settings specific to a particular database backend."""
+
+import structlog
+
+from InvenTree.config import get_boolean_setting, get_setting
+
+logger = structlog.get_logger('inventree')
+
+
+def set_db_options(engine: str, db_options: dict):
+ """Update database options based on the specified database backend.
+
+ Arguments:
+ engine: The database engine (e.g. 'sqlite3', 'postgresql', etc.)
+ db_options: The database options dictionary to update
+ """
+ logger.debug('Setting database options: %s', engine)
+
+ if 'postgres' in engine:
+ set_postgres_options(db_options)
+ elif 'mysql' in engine:
+ set_mysql_options(db_options)
+ elif 'sqlite' in engine:
+ set_sqlite_options(db_options)
+ else:
+ raise ValueError(f'Unknown database engine: {engine}')
+
+
+def set_postgres_options(db_options: dict):
+ """Set database options specific to postgres backend."""
+ from django.db.backends.postgresql.psycopg_any import ( # type: ignore[unresolved-import]
+ IsolationLevel,
+ )
+
+ # Connection timeout
+ if 'connect_timeout' not in db_options:
+ # The DB server is in the same data center, it should not take very
+ # long to connect to the database server
+ # # seconds, 2 is minimum allowed by libpq
+ db_options['connect_timeout'] = int(
+ get_setting('INVENTREE_DB_TIMEOUT', 'database.timeout', 2)
+ )
+
+ # Setup TCP keepalive
+ # DB server is in the same DC, it should not become unresponsive for
+ # very long. With the defaults below we wait 5 seconds for the network
+ # issue to resolve itself. If that doesn't happen, whatever happened
+ # is probably fatal and no amount of waiting is going to fix it.
+ # # 0 - TCP Keepalives disabled; 1 - enabled
+ if 'keepalives' not in db_options:
+ db_options['keepalives'] = int(
+ get_setting('INVENTREE_DB_TCP_KEEPALIVES', 'database.tcp_keepalives', 1)
+ )
+
+ # Seconds after connection is idle to send keep alive
+ if 'keepalives_idle' not in db_options:
+ db_options['keepalives_idle'] = int(
+ get_setting(
+ 'INVENTREE_DB_TCP_KEEPALIVES_IDLE', 'database.tcp_keepalives_idle', 1
+ )
+ )
+
+ # Seconds after missing ACK to send another keep alive
+ if 'keepalives_interval' not in db_options:
+ db_options['keepalives_interval'] = int(
+ get_setting(
+ 'INVENTREE_DB_TCP_KEEPALIVES_INTERVAL',
+ 'database.tcp_keepalives_interval',
+ '1',
+ )
+ )
+
+ # Number of missing ACKs before we close the connection
+ if 'keepalives_count' not in db_options:
+ db_options['keepalives_count'] = int(
+ get_setting(
+ 'INVENTREE_DB_TCP_KEEPALIVES_COUNT',
+ 'database.tcp_keepalives_count',
+ '5',
+ )
+ )
+
+ # # Milliseconds for how long pending data should remain unacked
+ # by the remote server
+ # TODO: Supported starting in PSQL 11
+ # "tcp_user_timeout": int(os.getenv("PGTCP_USER_TIMEOUT", "1000"),
+
+ # Postgres's default isolation level is Read Committed which is
+ # normally fine, but most developers think the database server is
+ # actually going to do Serializable type checks on the queries to
+ # protect against simultaneous changes.
+ # https://www.postgresql.org/docs/devel/transaction-iso.html
+ # https://docs.djangoproject.com/en/3.2/ref/databases/#isolation-level
+ if 'isolation_level' not in db_options:
+ serializable = get_boolean_setting(
+ 'INVENTREE_DB_ISOLATION_SERIALIZABLE', 'database.serializable', False
+ )
+ db_options['isolation_level'] = (
+ IsolationLevel.SERIALIZABLE
+ if serializable
+ else IsolationLevel.READ_COMMITTED
+ )
+
+
+def set_mysql_options(db_options: dict):
+ """Set database options specific to mysql backend."""
+ # TODO TCP time outs and keepalives
+
+ # MariaDB's default isolation level is Repeatable Read which is
+ # normally fine, but most developers think the database server is
+ # actually going to Serializable type checks on the queries to
+ # protect against simultaneous changes.
+ # https://mariadb.com/kb/en/mariadb-transactions-and-isolation-levels-for-sql-server-users/#changing-the-isolation-level
+ # https://docs.djangoproject.com/en/3.2/ref/databases/#mysql-isolation-level
+ if 'isolation_level' not in db_options:
+ serializable = get_boolean_setting(
+ 'INVENTREE_DB_ISOLATION_SERIALIZABLE', 'database.serializable', False
+ )
+ db_options['isolation_level'] = (
+ 'serializable' if serializable else 'read committed'
+ )
+
+
+def set_sqlite_options(db_options: dict):
+ """Set database options specific to sqlite backend.
+
+ References:
+ - https://docs.djangoproject.com/en/5.0/ref/databases/#sqlite-notes
+ - https://docs.djangoproject.com/en/6.0/ref/databases/#database-is-locked-errors
+ """
+ import InvenTree.ready
+
+ # Specify minimum timeout behavior for SQLite connections
+ if 'timeout' not in db_options:
+ db_options['timeout'] = int(
+ get_setting('INVENTREE_DB_TIMEOUT', 'database.timeout', 10)
+ )
+
+ # Specify the transaction mode for the database
+ # For the backend worker thread, IMMEDIATE mode is used,
+ # it has been determined to provide better protection against database locks in the worker thread
+ db_options['transaction_mode'] = (
+ 'IMMEDIATE' if InvenTree.ready.isInWorkerThread() else 'DEFERRED'
+ )
+
+ # SQLite's default isolation level is Serializable due to SQLite's
+ # single writer implementation. Presumably as a result of this, it is
+ # not possible to implement any lower isolation levels in SQLite.
+ # https://www.sqlite.org/isolation.html
+
+ if get_boolean_setting('INVENTREE_DB_WAL_MODE', 'database.wal_mode', True):
+ # Specify that we want to use Write-Ahead Logging (WAL) mode for SQLite databases, as this allows for better concurrency and performance
+ db_options['init_command'] = 'PRAGMA journal_mode=WAL;'
diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py
index 1945e3c8c4..83dfe37f6b 100644
--- a/src/backend/InvenTree/InvenTree/settings.py
+++ b/src/backend/InvenTree/InvenTree/settings.py
@@ -26,19 +26,14 @@ from corsheaders.defaults import default_headers as default_cors_headers
import InvenTree.backup
from InvenTree.cache import get_cache_config, is_global_cache_enabled
-from InvenTree.config import (
- get_boolean_setting,
- get_custom_file,
- get_oidc_private_key,
- get_setting,
-)
-from InvenTree.ready import isInMainThread
+from InvenTree.config import get_boolean_setting, get_oidc_private_key, get_setting
+from InvenTree.ready import isInMainThread, isRunningBackup
from InvenTree.sentry import default_sentry_dsn, init_sentry
from InvenTree.version import checkMinPythonVersion, inventreeCommitHash
from users.oauth2_scopes import oauth2_scopes
from . import config
-from .setting import locales, markdown, spectacular, storages
+from .setting import db_backend, locales, markdown, spectacular, storages
try:
import django_stubs_ext
@@ -83,6 +78,9 @@ config.load_version_file()
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = get_boolean_setting('INVENTREE_DEBUG', 'debug', False)
+# Internal flag to determine if we are running in docker mode
+DOCKER = get_boolean_setting('INVENTREE_DOCKER', default_value=False)
+
# Configure logging settings
LOG_LEVEL = get_setting('INVENTREE_LOG_LEVEL', 'log_level', 'WARNING')
JSON_LOG = get_boolean_setting('INVENTREE_JSON_LOG', 'json_log', False)
@@ -260,12 +258,22 @@ DBBACKUP_EMAIL_SUBJECT_PREFIX = InvenTree.backup.backup_email_prefix()
DBBACKUP_CONNECTORS = {'default': InvenTree.backup.get_backup_connector_options()}
+DBBACKUP_BACKUP_METADATA_SETTER = InvenTree.backup.metadata_set
+DBBACKUP_RESTORE_METADATA_VALIDATOR = InvenTree.backup.validate_restore
+
# Data storage options
DBBACKUP_STORAGE_CONFIG = {
'BACKEND': InvenTree.backup.get_backup_storage_backend(),
'OPTIONS': InvenTree.backup.get_backup_storage_options(),
}
+# This can also be overridden with a command line flag --restore-allow-newer-version when running the restore command
+BACKUP_RESTORE_ALLOW_NEWER_VERSION = get_boolean_setting(
+ 'INVENTREE_BACKUP_RESTORE_ALLOW_NEWER_VERSION',
+ 'backup_restore_allow_newer_version',
+ False,
+)
+
# Enable django admin interface?
INVENTREE_ADMIN_ENABLED = get_boolean_setting(
'INVENTREE_ADMIN_ENABLED', config_key='admin_enabled', default_value=True
@@ -475,7 +483,7 @@ if LDAP_AUTH: # pragma: no cover
)
AUTH_LDAP_USER_SEARCH = django_auth_ldap.config.LDAPSearch(
get_setting('INVENTREE_LDAP_SEARCH_BASE_DN', 'ldap.search_base_dn'),
- ldap.SCOPE_SUBTREE, # type: ignore[unresolved-attribute]
+ ldap.SCOPE_SUBTREE,
str(
get_setting(
'INVENTREE_LDAP_SEARCH_FILTER_STR',
@@ -511,7 +519,7 @@ if LDAP_AUTH: # pragma: no cover
)
AUTH_LDAP_GROUP_SEARCH = django_auth_ldap.config.LDAPSearch(
get_setting('INVENTREE_LDAP_GROUP_SEARCH', 'ldap.group_search'),
- ldap.SCOPE_SUBTREE, # type: ignore[unresolved-attribute]
+ ldap.SCOPE_SUBTREE,
f'(objectClass={AUTH_LDAP_GROUP_OBJECT_CLASS})',
)
AUTH_LDAP_GROUP_TYPE_CLASS = get_setting(
@@ -544,9 +552,6 @@ if LDAP_AUTH: # pragma: no cover
)
AUTH_LDAP_FIND_GROUP_PERMS = True
-# Internal flag to determine if we are running in docker mode
-DOCKER = get_boolean_setting('INVENTREE_DOCKER', default_value=False)
-
# Allow secure http developer server in debug mode
if DEBUG:
INSTALLED_APPS.append('sslserver')
@@ -715,108 +720,8 @@ db_options = db_config.get('OPTIONS', db_config.get('options'))
if db_options is None:
db_options = {}
-# Specific options for postgres backend
-if 'postgres' in DB_ENGINE: # pragma: no cover
- from django.db.backends.postgresql.psycopg_any import ( # type: ignore[unresolved-import]
- IsolationLevel,
- )
-
- # Connection timeout
- if 'connect_timeout' not in db_options:
- # The DB server is in the same data center, it should not take very
- # long to connect to the database server
- # # seconds, 2 is minimum allowed by libpq
- db_options['connect_timeout'] = int(
- get_setting('INVENTREE_DB_TIMEOUT', 'database.timeout', 2)
- )
-
- # Setup TCP keepalive
- # DB server is in the same DC, it should not become unresponsive for
- # very long. With the defaults below we wait 5 seconds for the network
- # issue to resolve itself. It it that doesn't happen whatever happened
- # is probably fatal and no amount of waiting is going to fix it.
- # # 0 - TCP Keepalives disabled; 1 - enabled
- if 'keepalives' not in db_options:
- db_options['keepalives'] = int(
- get_setting('INVENTREE_DB_TCP_KEEPALIVES', 'database.tcp_keepalives', 1)
- )
-
- # Seconds after connection is idle to send keep alive
- if 'keepalives_idle' not in db_options:
- db_options['keepalives_idle'] = int(
- get_setting(
- 'INVENTREE_DB_TCP_KEEPALIVES_IDLE', 'database.tcp_keepalives_idle', 1
- )
- )
-
- # Seconds after missing ACK to send another keep alive
- if 'keepalives_interval' not in db_options:
- db_options['keepalives_interval'] = int(
- get_setting(
- 'INVENTREE_DB_TCP_KEEPALIVES_INTERVAL',
- 'database.tcp_keepalives_internal',
- '1',
- )
- )
-
- # Number of missing ACKs before we close the connection
- if 'keepalives_count' not in db_options:
- db_options['keepalives_count'] = int(
- get_setting(
- 'INVENTREE_DB_TCP_KEEPALIVES_COUNT',
- 'database.tcp_keepalives_count',
- '5',
- )
- )
-
- # # Milliseconds for how long pending data should remain unacked
- # by the remote server
- # TODO: Supported starting in PSQL 11
- # "tcp_user_timeout": int(os.getenv("PGTCP_USER_TIMEOUT", "1000"),
-
- # Postgres's default isolation level is Read Committed which is
- # normally fine, but most developers think the database server is
- # actually going to do Serializable type checks on the queries to
- # protect against simultaneous changes.
- # https://www.postgresql.org/docs/devel/transaction-iso.html
- # https://docs.djangoproject.com/en/3.2/ref/databases/#isolation-level
- if 'isolation_level' not in db_options:
- serializable = get_boolean_setting(
- 'INVENTREE_DB_ISOLATION_SERIALIZABLE', 'database.serializable', False
- )
- db_options['isolation_level'] = (
- IsolationLevel.SERIALIZABLE
- if serializable
- else IsolationLevel.READ_COMMITTED
- )
-
-# Specific options for MySql / MariaDB backend
-elif 'mysql' in DB_ENGINE: # pragma: no cover
- # TODO TCP time outs and keepalives
-
- # MariaDB's default isolation level is Repeatable Read which is
- # normally fine, but most developers think the database server is
- # actually going to Serializable type checks on the queries to
- # protect against siumltaneous changes.
- # https://mariadb.com/kb/en/mariadb-transactions-and-isolation-levels-for-sql-server-users/#changing-the-isolation-level
- # https://docs.djangoproject.com/en/3.2/ref/databases/#mysql-isolation-level
- if 'isolation_level' not in db_options:
- serializable = get_boolean_setting(
- 'INVENTREE_DB_ISOLATION_SERIALIZABLE', 'database.serializable', False
- )
- db_options['isolation_level'] = (
- 'serializable' if serializable else 'read committed'
- )
-
-# Specific options for sqlite backend
-elif 'sqlite' in DB_ENGINE:
- # TODO: Verify timeouts are not an issue because no network is involved for SQLite
-
- # SQLite's default isolation level is Serializable due to SQLite's
- # single writer implementation. Presumably as a result of this, it is
- # not possible to implement any lower isolation levels in SQLite.
- # https://www.sqlite.org/isolation.html
- pass
+# Set database-specific options
+db_backend.set_db_options(DB_ENGINE, db_options)
# Provide OPTIONS dict back to the database configuration dict
db_config['OPTIONS'] = db_options
@@ -867,7 +772,7 @@ TRACING_ENABLED = get_boolean_setting(
)
TRACING_DETAILS: Optional[dict] = None
-if TRACING_ENABLED: # pragma: no cover
+if TRACING_ENABLED and not isRunningBackup(): # pragma: no cover
from InvenTree.tracing import setup_instruments, setup_tracing
_t_endpoint = get_setting('INVENTREE_TRACING_ENDPOINT', 'tracing.endpoint', None)
@@ -938,6 +843,10 @@ BACKGROUND_WORKER_COUNT = (
else 1
)
+# If running with SQLite, limit background worker threads to 1 to prevent database locking issues
+if 'sqlite' in DB_ENGINE:
+ BACKGROUND_WORKER_COUNT = 1
+
# django-q background worker configuration
Q_CLUSTER = {
'name': 'InvenTree',
@@ -948,6 +857,7 @@ Q_CLUSTER = {
'max_attempts': int(
get_setting('INVENTREE_BACKGROUND_MAX_ATTEMPTS', 'background.max_attempts', 5)
),
+ 'save_limit': 1000,
'queue_limit': 50,
'catch_up': False,
'bulk': 10,
@@ -1289,10 +1199,12 @@ CORS_ALLOWED_ORIGIN_REGEXES = get_setting(
typecast=list,
)
+_allowed_headers = (*default_cors_headers, 'traceparent')
# Allow extra CORS headers in DEBUG mode
# Required for serving /static/ and /media/ files
if DEBUG:
- CORS_ALLOW_HEADERS = (*default_cors_headers, 'cache-control', 'pragma', 'expires')
+ _allowed_headers = (*_allowed_headers, 'cache-control', 'pragma', 'expires')
+CORS_ALLOW_HEADERS = _allowed_headers
# In debug mode allow CORS requests from localhost
# This allows connection from the frontend development server
@@ -1451,12 +1363,9 @@ if len(GLOBAL_SETTINGS_OVERRIDES) > 0:
logger.debug('- Override value for %s = ********', key)
# User interface customization values
-CUSTOM_LOGO = get_custom_file(
- 'INVENTREE_CUSTOM_LOGO', 'customize.logo', 'custom logo', lookup_media=True
-)
-CUSTOM_SPLASH = get_custom_file(
- 'INVENTREE_CUSTOM_SPLASH', 'customize.splash', 'custom splash'
-)
+CUSTOM_LOGO = get_setting('INVENTREE_CUSTOM_LOGO', 'customize.logo', typecast=str)
+
+CUSTOM_SPLASH = get_setting('INVENTREE_CUSTOM_SPLASH', 'customize.splash', typecast=str)
CUSTOMIZE = get_setting(
'INVENTREE_CUSTOMIZE', 'customize', default_value=None, typecast=dict
@@ -1495,6 +1404,9 @@ LOGIN_REDIRECT_URL = '/api/auth/login-redirect/'
# Configuration for API schema generation / oAuth2
SPECTACULAR_SETTINGS = spectacular.get_spectacular_settings()
+SCHEMA_VENDOREXTENSION_LEVEL = get_setting(
+ 'INVENTREE_SCHEMA_LEVEL', 'schema.level', default_value=0, typecast=int
+)
OAUTH2_PROVIDER = {
# default scopes
diff --git a/src/backend/InvenTree/InvenTree/sso.py b/src/backend/InvenTree/InvenTree/sso.py
index cbb2d79938..d04abf21ba 100644
--- a/src/backend/InvenTree/InvenTree/sso.py
+++ b/src/backend/InvenTree/InvenTree/sso.py
@@ -10,7 +10,6 @@ import structlog
from allauth.socialaccount.models import SocialAccount, SocialLogin
from common.settings import get_global_setting
-from InvenTree.helpers import str2bool
logger = structlog.get_logger('inventree')
@@ -50,7 +49,7 @@ def check_provider(provider):
if not app:
return False
- if allauth.app_settings.SITES_ENABLED: # type: ignore[unresolved-attribute]
+ if allauth.app_settings.SITES_ENABLED:
# At least one matching site must be specified
if not app.sites.exists():
logger.error('SocialApp %s has no sites configured', app)
@@ -69,21 +68,6 @@ def provider_display_name(provider):
return provider.name
-def sso_login_enabled() -> bool:
- """Return True if SSO login is enabled."""
- return str2bool(get_global_setting('LOGIN_ENABLE_SSO'))
-
-
-def sso_registration_enabled() -> bool:
- """Return True if SSO registration is enabled."""
- return str2bool(get_global_setting('LOGIN_ENABLE_SSO_REG'))
-
-
-def auto_registration_enabled() -> bool:
- """Return True if SSO auto-registration is enabled."""
- return str2bool(get_global_setting('LOGIN_SIGNUP_SSO_AUTO'))
-
-
def ensure_sso_groups(sender, sociallogin: SocialLogin, **kwargs):
"""Sync groups from IdP each time a SSO user logs on.
@@ -96,7 +80,9 @@ def ensure_sso_groups(sender, sociallogin: SocialLogin, **kwargs):
group_map = json.loads(get_global_setting('SSO_GROUP_MAP'))
# map SSO groups to InvenTree groups
group_names = []
- for sso_group in sociallogin.account.extra_data.get(group_key, []):
+ for sso_group in sociallogin.account.extra_data.get('userinfo', {}).get(
+ group_key, []
+ ):
if mapped_name := group_map.get(sso_group):
group_names.append(mapped_name)
diff --git a/src/backend/InvenTree/InvenTree/tasks.py b/src/backend/InvenTree/InvenTree/tasks.py
index 0ab4205963..9b29a68da1 100644
--- a/src/backend/InvenTree/InvenTree/tasks.py
+++ b/src/backend/InvenTree/InvenTree/tasks.py
@@ -161,13 +161,20 @@ def record_task_success(task_name: str):
def offload_task(
taskname, *args, force_async=False, force_sync=False, **kwargs
-) -> bool:
+) -> str | bool:
"""Create an AsyncTask if workers are running. This is different to a 'scheduled' task, in that it only runs once!
If workers are not running or force_sync flag, is set then the task is ran synchronously.
+ Arguments:
+ taskname: The name of the task to be run, in the format 'app.module.function'
+ *args: Positional arguments to be passed to the task function
+ force_async: If True, force the task to be offloaded (even if workers are not running)
+ force_sync: If True, force the task to be run synchronously (even if workers are running)
+ **kwargs: Keyword arguments to be passed to the task function
+
Returns:
- bool: True if the task was offloaded (or ran), False otherwise
+ str | bool: Task ID if the task was offloaded, True if ran synchronously, False otherwise
"""
from InvenTree.exceptions import log_error
@@ -203,6 +210,9 @@ def offload_task(
task = AsyncTask(taskname, *args, group=group, **kwargs)
with tracer.start_as_current_span(f'async worker: {taskname}'):
task.run()
+
+ # Return the ID of the offloaded task, so that it can be tracked if needed
+ return task.id
except ImportError:
raise_warning(f"WARNING: '{taskname}' not offloaded - Function not found")
return False
@@ -265,6 +275,40 @@ def offload_task(
return True
+def get_queued_task(task_id: str):
+ """Find the task in the queue, if it exists.
+
+ Note that the OrmQ table does NOT keep the task ID as a database field,
+ it is instead stored in the payload data.
+ If there are a large number of pending tasks, this query may be inefficient,
+ but there is no other way to find a queued task by ID.
+ """
+ offset = 0
+ limit = 500
+
+ if not task_id:
+ # Return early if no task ID was provided
+ return None
+
+ task_id = str(task_id)
+
+ from django_q.models import OrmQ
+
+ while True:
+ queued_tasks = OrmQ.objects.all().order_by('id')[offset : offset + limit]
+ if not queued_tasks:
+ break
+
+ for task in queued_tasks:
+ if task.task_id() == task_id:
+ return task
+
+ offset += limit
+
+ # No matching task was discovered
+ return None
+
+
@dataclass()
class ScheduledTask:
"""A scheduled task.
@@ -286,7 +330,7 @@ class ScheduledTask:
QUARTERLY: str = 'Q'
YEARLY: str = 'Y'
- TYPE: tuple[str] = (MINUTES, HOURLY, DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY) # type: ignore[invalid-assignment]
+ TYPE: tuple[str] = (MINUTES, HOURLY, DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY)
class TaskRegister:
@@ -587,6 +631,15 @@ def update_exchange_rates(force: bool = False):
Arguments:
force: If True, force the update to run regardless of the last update time
"""
+ from InvenTree.ready import canAppAccessDatabase, isRunningMigrations
+
+ if isRunningMigrations():
+ return
+
+ # Do not update exchange rates if we cannot access the database
+ if not canAppAccessDatabase(allow_test=True, allow_shell=True):
+ return
+
try:
from djmoney.contrib.exchange.models import Rate
diff --git a/src/backend/InvenTree/InvenTree/test_api.py b/src/backend/InvenTree/InvenTree/test_api.py
index 7aeacb6751..5475edd03a 100644
--- a/src/backend/InvenTree/InvenTree/test_api.py
+++ b/src/backend/InvenTree/InvenTree/test_api.py
@@ -278,8 +278,7 @@ class BulkDeleteTests(InvenTreeAPITestCase):
response = self.delete(url, {}, expected_code=400)
self.assertIn(
- 'List of items or filters must be provided for bulk operation',
- str(response.data),
+ 'List of items must be provided for bulk operation', str(response.data)
)
# DELETE with invalid 'items'
@@ -287,11 +286,6 @@ class BulkDeleteTests(InvenTreeAPITestCase):
self.assertIn('Items must be provided as a list', str(response.data))
- # DELETE with invalid 'filters'
- response = self.delete(url, {'filters': [1, 2, 3]}, expected_code=400)
-
- self.assertIn('Filters must be provided as a dict', str(response.data))
-
class SearchTests(InvenTreeAPITestCase):
"""Unit tests for global search endpoint."""
@@ -574,7 +568,7 @@ class GeneralApiTests(InvenTreeAPITestCase):
self.assertIn('License file not found at', str(log.output))
- with TemporaryDirectory() as tmp: # type: ignore[no-matching-overload]
+ with TemporaryDirectory() as tmp:
sample_file = Path(tmp, 'temp.txt')
sample_file.write_text('abc', 'utf-8')
diff --git a/src/backend/InvenTree/InvenTree/test_auth.py b/src/backend/InvenTree/InvenTree/test_auth.py
index c8651c4285..465be13b64 100644
--- a/src/backend/InvenTree/InvenTree/test_auth.py
+++ b/src/backend/InvenTree/InvenTree/test_auth.py
@@ -38,7 +38,7 @@ class TestSsoGroupSync(TransactionTestCase):
'SSO_GROUP_MAP', '{"idp_group": "inventree_group"}'
)
# configure sociallogin
- extra_data = {'groups': ['idp_group']}
+ extra_data = {'userinfo': {'groups': ['idp_group']}}
self.group = Group(name='inventree_group')
self.group.save()
# ensure default group exists
diff --git a/src/backend/InvenTree/InvenTree/test_commands.py b/src/backend/InvenTree/InvenTree/test_commands.py
index a83a0d4cc2..82caec7d73 100644
--- a/src/backend/InvenTree/InvenTree/test_commands.py
+++ b/src/backend/InvenTree/InvenTree/test_commands.py
@@ -2,10 +2,15 @@
from pathlib import Path
+from django.conf import settings
from django.contrib.auth.models import User
from django.core.management import call_command
from django.test import TestCase
+from opentelemetry.instrumentation.sqlite3 import SQLite3Instrumentor
+
+from InvenTree.config import get_testfolder_dir
+
class CommandTestCase(TestCase):
"""Test case for custom management commands."""
@@ -19,40 +24,191 @@ class CommandTestCase(TestCase):
def test_remove_mfa(self):
"""Test the remove_mfa command."""
+
+ def get_dummyuser(uname='admin'):
+ admin = User.objects.create_user(
+ username=uname, email=f'{uname}@example.org'
+ )
+ admin.authenticator_set.create(type='TOTP', data={})
+ self.assertEqual(admin.authenticator_set.all().count(), 1)
+ return admin
+
# missing arg
with self.assertRaises(Exception) as cm:
call_command('remove_mfa', verbosity=0)
self.assertEqual(
- 'Error: the following arguments are required: mail', str(cm.exception)
+ 'Error: one of the following arguments is required: mail, username',
+ str(cm.exception),
)
# no user
with self.assertLogs('inventree') as cm:
self.assertFalse(
- call_command('remove_mfa', 'admin@example.org', verbosity=0)
+ call_command('remove_mfa', mail='admin@example.org', verbosity=0)
)
self.assertIn('No user with this mail associated', str(cm[1]))
# correct removal
- my_admin1 = User.objects.create_user(
- username='admin', email='admin@example.org'
- )
- my_admin1.authenticator_set.create(type='TOTP', data={})
- self.assertEqual(my_admin1.authenticator_set.all().count(), 1)
- output = call_command('remove_mfa', 'admin@example.org', verbosity=0)
+ my_admin1 = get_dummyuser()
+ output = call_command('remove_mfa', mail=my_admin1.email, verbosity=0)
self.assertEqual(output, 'done')
self.assertEqual(my_admin1.authenticator_set.all().count(), 0)
# two users with same email
- my_admin2 = User.objects.create_user(
- username='admin2', email='admin@example.org'
- )
+ my_admin2 = User.objects.create_user(username='admin2', email=my_admin1.email)
my_admin2.emailaddress_set.create(email='456')
my_admin2.emailaddress_set.create(email='123')
with self.assertLogs('inventree') as cm:
self.assertFalse(
- call_command('remove_mfa', 'admin@example.org', verbosity=0)
+ call_command('remove_mfa', mail=my_admin1.email, verbosity=0)
)
self.assertIn('Multiple users found with the provided email', str(cm[1]))
self.assertIn('admin, admin2', str(cm[1]))
- self.assertIn('123, 456, admin@example.org', str(cm[1]))
+ self.assertIn(f'123, 456, {my_admin1.email}', str(cm[1]))
+
+ # correct removal by username
+ my_admin3 = get_dummyuser('admin3')
+ output = call_command('remove_mfa', username=my_admin3.username, verbosity=0)
+ self.assertEqual(output, 'done')
+ self.assertEqual(my_admin3.authenticator_set.all().count(), 0)
+
+ def test_backup_metadata(self):
+ """Test the backup metadata functions."""
+ from InvenTree.backup import (
+ _gather_environment_metadata,
+ _parse_environment_metadata,
+ )
+
+ metadata = _gather_environment_metadata()
+ self.assertIn('ivt_1_version', metadata)
+ self.assertIn('ivt_1_plugins_enabled', metadata)
+
+ parsed = _parse_environment_metadata(metadata)
+ self.assertIn('version', parsed)
+ self.assertIn('plugins_enabled', parsed)
+
+ def test_restore_validation(self):
+ """Test the restore validation functions."""
+ from InvenTree.backup import _gather_environment_metadata, validate_restore
+
+ metadata = _gather_environment_metadata()
+
+ self.assertTrue(validate_restore(metadata))
+
+ # Version
+ with self.assertLogs() as cm:
+ self.assertTrue(validate_restore({}))
+ self.assertIn(
+ 'INVE-W13: Backup metadata does not contain version information', str(cm[1])
+ )
+ with self.assertLogs() as cm:
+ self.assertTrue(validate_restore({**metadata, 'ivt_1_version': '123xx'}))
+ self.assertIn(
+ 'INVE-W13: Backup being restored was created with InvenTree version',
+ str(cm[1]),
+ )
+ with self.assertLogs() as cm:
+ self.assertFalse(
+ validate_restore({
+ **metadata,
+ 'ivt_1_version': '9999',
+ 'ivt_1_version_api': '9999',
+ })
+ )
+ self.assertIn(
+ 'INVE-E16: Backup being restored was created with a newer version',
+ str(cm[1]),
+ )
+ # not with allow flag
+ with self.settings(BACKUP_RESTORE_ALLOW_NEWER_VERSION=True):
+ with self.assertLogs() as cm:
+ self.assertTrue(
+ validate_restore({
+ **metadata,
+ 'ivt_1_version': '9999',
+ 'ivt_1_version_api': '9999',
+ })
+ )
+ self.assertIn(
+ 'INVE-W13: Backup restore is allowing a restore from a newer version of InvenTree',
+ str(cm[1]),
+ )
+
+ # Plugins enabled
+ with self.settings(PLUGINS_ENABLED=False):
+ with self.assertLogs() as cm:
+ self.assertTrue(validate_restore(metadata))
+ self.assertIn(
+ 'INVE-W13: Backup being restored was created with plugins enabled',
+ str(cm[1]),
+ )
+
+ # Plugin hash
+ with self.assertLogs() as cm:
+ self.assertTrue(
+ validate_restore({**metadata, 'ivt_1_plugins_file_hash': '123xx'})
+ )
+ self.assertIn(
+ 'INVE-W13: Backup being restored has a different plugins file hash',
+ str(cm[1]),
+ )
+
+ # installer
+ with self.assertLogs() as cm:
+ self.assertTrue(validate_restore({**metadata, 'ivt_1_installer': '123xx'}))
+ self.assertIn(
+ 'INVE-W13: Backup being restored was created with installer', str(cm[1])
+ )
+
+ # Age
+ with self.assertLogs() as cm:
+ self.assertTrue(
+ validate_restore({
+ **metadata,
+ 'ivt_1_backup_time': '2020-02-02T00:00:00',
+ })
+ )
+ self.assertIn(
+ 'INVE-W13: Backup being restored is over 120 days old', str(cm[1])
+ )
+
+ def test_backup_command_e2e(self):
+ """Test the backup command."""
+ # we only test on sqlite, the environment in which we also run coverage
+ if settings.DB_ENGINE != 'django.db.backends.sqlite3':
+ self.skipTest('Backup command test only runs on sqlite database')
+
+ # disable tracing for now
+ if settings.TRACING_ENABLED: # pragma: no cover
+ print('Disabling tracing for backup command test')
+ SQLite3Instrumentor().uninstrument()
+
+ output_path = get_testfolder_dir().joinpath('backup.zip').resolve()
+
+ # Backup
+ with self.assertLogs() as cm:
+ output = call_command(
+ 'dbbackup', noinput=True, verbosity=2, output_path=str(output_path)
+ )
+ self.assertIsNone(output)
+ self.assertIn(f'Writing metadata file to {output_path}', str(cm[1]))
+
+ # Restore
+ with self.assertLogs() as cm:
+ output = call_command(
+ 'dbrestore',
+ noinput=True,
+ interactive=False,
+ verbosity=2,
+ input_path=str(output_path),
+ )
+ self.assertIsNone(output)
+ self.assertIn('Using connector from metadata', str(cm[1]))
+
+ # Cleanup the generated backup file and metadata file
+ output_path.unlink()
+ Path(str(output_path) + '.metadata').unlink()
+
+ if settings.TRACING_ENABLED: # pragma: no cover
+ print('Re-enabling tracing for backup command test')
+ SQLite3Instrumentor().instrument()
diff --git a/src/backend/InvenTree/InvenTree/test_serializers.py b/src/backend/InvenTree/InvenTree/test_serializers.py
index 4cde34d806..b6c794e33f 100644
--- a/src/backend/InvenTree/InvenTree/test_serializers.py
+++ b/src/backend/InvenTree/InvenTree/test_serializers.py
@@ -157,7 +157,7 @@ class FilteredSerializers(InvenTreeAPITestCase):
_ = BadSerializer()
self.assertTrue(True) # Dummy assertion to ensure we reach here
- def test_failiure_OutputOptionsMixin(self):
+ def test_failure_OutputOptionsMixin(self):
"""Test failure case for OutputOptionsMixin."""
class BadSerializer(InvenTree.serializers.InvenTreeModelSerializer):
diff --git a/src/backend/InvenTree/InvenTree/test_tasks.py b/src/backend/InvenTree/InvenTree/test_tasks.py
index f169292711..ac74816827 100644
--- a/src/backend/InvenTree/InvenTree/test_tasks.py
+++ b/src/backend/InvenTree/InvenTree/test_tasks.py
@@ -234,11 +234,8 @@ class InvenTreeTaskTests(PluginRegistryMixin, TestCase):
msg = NotificationMessage.objects.last()
- self.assertEqual(msg.name, 'Task Failure')
- self.assertEqual(
- msg.message,
- "Background worker task 'InvenTree.tasks.failed_task' failed after 10 attempts",
- )
+ self.assertEqual(msg.name, 'Server Error')
+ self.assertEqual(msg.message, 'An error has been logged by the server.')
def test_delete_old_emails(self):
"""Test the delete_old_emails task."""
diff --git a/src/backend/InvenTree/InvenTree/tests.py b/src/backend/InvenTree/InvenTree/tests.py
index a28aad7313..c8a999b563 100644
--- a/src/backend/InvenTree/InvenTree/tests.py
+++ b/src/backend/InvenTree/InvenTree/tests.py
@@ -703,12 +703,12 @@ class TestHelpers(TestCase):
"""Test getMediaUrl."""
# Str should not work
with self.assertRaises(TypeError):
- helpers.getMediaUrl('xx/yy.png') # type: ignore
+ helpers.getMediaUrl('xx/yy.png')
# Correct usage
part = Part().image
self.assertEqual(
- helpers.getMediaUrl(StdImageFieldFile(part, part, 'xx/yy.png')), # type: ignore
+ helpers.getMediaUrl(StdImageFieldFile(part, part, 'xx/yy.png')), # ty:ignore[too-many-positional-arguments]
'/media/xx/yy.png',
)
diff --git a/src/backend/InvenTree/InvenTree/tracing.py b/src/backend/InvenTree/InvenTree/tracing.py
index 4cedbb584d..f97da6c0eb 100644
--- a/src/backend/InvenTree/InvenTree/tracing.py
+++ b/src/backend/InvenTree/InvenTree/tracing.py
@@ -4,7 +4,7 @@ import base64
import logging
from typing import Optional
-from opentelemetry import metrics, trace # type: ignore[import]
+from opentelemetry import metrics, trace
from opentelemetry.instrumentation.django import DjangoInstrumentor
from opentelemetry.instrumentation.redis import RedisInstrumentor
from opentelemetry.instrumentation.requests import RequestsInstrumentor
diff --git a/src/backend/InvenTree/InvenTree/unit_test.py b/src/backend/InvenTree/InvenTree/unit_test.py
index 5360d9f71d..bae1262297 100644
--- a/src/backend/InvenTree/InvenTree/unit_test.py
+++ b/src/backend/InvenTree/InvenTree/unit_test.py
@@ -655,7 +655,9 @@ class InvenTreeAPITestCase(
# Append URL params
url += '?' + '&'.join([f'{key}={value}' for key, value in params.items()])
- response = self.client.get(url, data=None, format='json')
+ response = self.get(
+ url, data=None, format='json', expected_code=expected_code, **kwargs
+ )
self.check_response(url, response, expected_code=expected_code)
# Check that the response is of the correct type
@@ -729,6 +731,48 @@ class InvenTreeAPITestCase(
"""Assert that dictionary 'a' is a subset of dictionary 'b'."""
self.assertEqual(b, b | a)
+ def run_ordering_test(
+ self, url: str, ordering_field: str, params: Optional[dict] = None
+ ):
+ """Run a test to check that the results are ordered correctly.
+
+ Arguments:
+ url: The URL to test
+ ordering_field: The field to order by (e.g. 'name')
+ params: Additional parameters to include in the request (e.g. filters)
+
+ Process:
+ - Run a GET request against the provided URL with the appropriate ordering parameter
+ - Run a separate GET request with the opposite ordering parameter (e.g. '-name')
+ - Check that the results are ordered differently in each case
+ """
+ query_params = {**(params or {})}
+
+ pk_values = set()
+
+ for ordering in [None, ordering_field, f'-{ordering_field}']:
+ response = self.get(
+ url,
+ data={**query_params, 'ordering': ordering}
+ if ordering
+ else query_params,
+ expected_code=200,
+ )
+
+ self.assertGreater(
+ len(response.data),
+ 1,
+ f'No data returned from {url} with ordering={ordering}',
+ )
+
+ pk_values.add(response.data[0]['pk'])
+
+ self.assertGreater(
+ len(pk_values),
+ 1,
+ f"Ordering by '{ordering_field}' does not change the order of results at {url}",
+ )
+
def run_output_test(
self,
url: str,
diff --git a/src/backend/InvenTree/InvenTree/version.py b/src/backend/InvenTree/InvenTree/version.py
index 387d60c0fb..2f77ab765b 100644
--- a/src/backend/InvenTree/InvenTree/version.py
+++ b/src/backend/InvenTree/InvenTree/version.py
@@ -12,16 +12,19 @@ import sys
from datetime import datetime as dt
from datetime import timedelta as td
+from django.conf import settings
+
from .api_version import INVENTREE_API_TEXT, INVENTREE_API_VERSION
# InvenTree software version
-INVENTREE_SW_VERSION = '1.2.0 dev'
+INVENTREE_SW_VERSION = '1.3.0 dev'
# Minimum supported Python version
MIN_PYTHON_VERSION = (3, 11)
logger = logging.getLogger('inventree')
+git_warning_txt = 'INVE-W3: Could not detect git information.'
# Discover git
try:
@@ -33,8 +36,17 @@ try:
main_repo = Repo(pathlib.Path(__file__).parent.parent.parent.parent.parent)
main_commit = main_repo[main_repo.head()]
except NotGitRepository:
- # If we are running in a docker container, the repo may not be available
- logger.warning('INVE-W3: Could not detect git information.')
+ output = logger.warning
+
+ try:
+ if settings.DOCKER:
+ output = logger.info
+ except Exception:
+ # We may not have access to settings at this point
+ pass
+
+ output(git_warning_txt)
+
main_repo = None
main_commit = None
@@ -51,7 +63,7 @@ except ImportError:
main_commit = None
main_branch = None
except Exception as exc:
- logger.warning('INVE-W3: Could not detect git information.', exc_info=exc)
+ logger.warning(git_warning_txt, exc_info=exc)
main_repo = None
main_commit = None
main_branch = None
@@ -277,8 +289,10 @@ def inventreeBranch():
return ' '.join(branch.splitlines())
if main_branch is None:
- return None
- return main_branch.decode('utf-8')
+ return None # pragma: no cover - branch information may not be available in all environments
+ return main_branch.decode(
+ 'utf-8'
+ ) # pragma: no cover - branch information may not be available in all environments
def inventreeTarget():
diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py
index d7b8692bab..232b7adca7 100644
--- a/src/backend/InvenTree/build/api.py
+++ b/src/backend/InvenTree/build/api.py
@@ -11,12 +11,13 @@ import django_filters.rest_framework.filters as rest_filters
from django_filters.rest_framework.filterset import FilterSet
from drf_spectacular.utils import extend_schema, extend_schema_field
from rest_framework import serializers, status
-from rest_framework.exceptions import ValidationError
+from rest_framework.exceptions import NotFound, ValidationError
from rest_framework.response import Response
import build.models as build_models
import build.serializers
import common.models
+import common.serializers
import part.models as part_models
import stock.models as stock_models
import stock.serializers
@@ -24,10 +25,10 @@ from build.models import Build, BuildItem, BuildLine
from build.status_codes import BuildStatus, BuildStatusGroups
from data_exporter.mixins import DataExportViewMixin
from generic.states.api import StatusView
-from InvenTree.api import BulkDeleteMixin, MetadataView, ParameterListMixin
+from InvenTree.api import BulkDeleteMixin, ParameterListMixin, meta_path
from InvenTree.fields import InvenTreeOutputOption, OutputConfiguration
from InvenTree.filters import (
- SEARCH_ORDER_FILTER_ALIAS,
+ SEARCH_ORDER_FILTER,
InvenTreeDateFilter,
NumberOrNullFilter,
)
@@ -145,8 +146,8 @@ class BuildFilter(FilterSet):
def filter_overdue(self, queryset, name, value):
"""Filter the queryset to either include or exclude orders which are overdue."""
if str2bool(value):
- return queryset.filter(Build.OVERDUE_FILTER)
- return queryset.exclude(Build.OVERDUE_FILTER)
+ return queryset.filter(Build.get_overdue_filter())
+ return queryset.exclude(Build.get_overdue_filter())
assigned_to_me = rest_filters.BooleanFilter(
label=_('Assigned to me'), method='filter_assigned_to_me'
@@ -343,9 +344,11 @@ class BuildList(
output_options = BuildListOutputOptions
filterset_class = BuildFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_fields = [
'reference',
+ 'part',
+ 'IPN',
'part__name',
'status',
'creation_date',
@@ -364,6 +367,8 @@ class BuildList(
ordering_field_aliases = {
'reference': ['reference_int', 'reference'],
'project_code': ['project_code__code'],
+ 'part': ['part__name'],
+ 'IPN': ['part__IPN'],
}
ordering = '-reference'
search_fields = [
@@ -590,10 +595,11 @@ class BuildLineList(
"""API endpoint for accessing a list of BuildLine objects."""
filterset_class = BuildLineFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = BuildLineOutputOptions
ordering_fields = [
'part',
+ 'IPN',
'allocated',
'category',
'consumed',
@@ -612,6 +618,7 @@ class BuildLineList(
ordering_field_aliases = {
'part': 'bom_item__sub_part__name',
+ 'IPN': 'bom_item__sub_part__IPN',
'reference': 'bom_item__reference',
'unit_quantity': 'bom_item__quantity',
'category': 'bom_item__sub_part__category__name',
@@ -656,6 +663,13 @@ class BuildLineDetail(BuildLineMixin, OutputOptionsMixin, RetrieveUpdateDestroyA
class BuildOrderContextMixin:
"""Mixin class which adds build order as serializer context variable."""
+ def get_build(self):
+ """Return the Build object associated with this API endpoint."""
+ try:
+ return Build.objects.get(pk=self.kwargs.get('pk', None))
+ except (ValueError, Build.DoesNotExist):
+ raise NotFound(_('Build not found'))
+
def get_serializer_context(self):
"""Add extra context information to the endpoint serializer."""
ctx = super().get_serializer_context()
@@ -664,8 +678,8 @@ class BuildOrderContextMixin:
ctx['to_complete'] = True
try:
- ctx['build'] = Build.objects.get(pk=self.kwargs.get('pk', None))
- except Exception:
+ ctx['build'] = self.get_build()
+ except NotFound:
pass
return ctx
@@ -758,6 +772,37 @@ class BuildAutoAllocate(BuildOrderContextMixin, CreateAPI):
queryset = Build.objects.none()
serializer_class = build.serializers.BuildAutoAllocationSerializer
+ @extend_schema(responses={200: common.serializers.TaskDetailSerializer})
+ def post(self, *args, **kwargs):
+ """Override the POST method to handle auto allocation task.
+
+ As this is offloaded to the background task,
+ we return information about the background task which is performing the auto allocation operation.
+ """
+ from build.tasks import auto_allocate_build
+ from InvenTree.tasks import offload_task
+
+ build = self.get_build()
+ serializer = self.get_serializer(data=self.request.data)
+ serializer.is_valid(raise_exception=True)
+ data = serializer.validated_data
+
+ # Offload the task to the background worker
+ task_id = offload_task(
+ auto_allocate_build,
+ build.pk,
+ location=data.get('location', None),
+ exclude_location=data.get('exclude_location', None),
+ interchangeable=data['interchangeable'],
+ substitutes=data['substitutes'],
+ optional_items=data['optional_items'],
+ item_type=data.get('item_type', 'untracked'),
+ group='build',
+ )
+
+ response = common.serializers.TaskDetailSerializer.from_task(task_id).data
+ return Response(response, status=response['http_status'])
+
class BuildAllocate(BuildOrderContextMixin, CreateAPI):
"""API endpoint to allocate stock items to a build order.
@@ -780,6 +825,39 @@ class BuildConsume(BuildOrderContextMixin, CreateAPI):
queryset = Build.objects.none()
serializer_class = build.serializers.BuildConsumeSerializer
+ @extend_schema(responses={200: common.serializers.TaskDetailSerializer})
+ def post(self, *args, **kwargs):
+ """Override the POST method to handle consume task.
+
+ As this is offloaded to the background task,
+ we return information about the background task which is performing the consume operation.
+ """
+ from build.tasks import consume_build_stock
+ from InvenTree.tasks import offload_task
+
+ build = self.get_build()
+ serializer = self.get_serializer(data=self.request.data)
+ serializer.is_valid(raise_exception=True)
+ data = serializer.validated_data
+
+ # Extract the information we need to consume build stock
+ items = data.get('items', [])
+ lines = data.get('lines', [])
+ notes = data.get('notes', '')
+
+ # Offload the task to the background worker
+ task_id = offload_task(
+ consume_build_stock,
+ build.pk,
+ lines=[line['build_line'].pk for line in lines],
+ items={item['build_item'].pk: item['quantity'] for item in items},
+ user_id=self.request.user.pk,
+ notes=notes,
+ )
+
+ response = common.serializers.TaskDetailSerializer.from_task(task_id).data
+ return Response(response, status=response['http_status'])
+
class BuildIssue(BuildOrderContextMixin, CreateAPI):
"""API endpoint for issuing a BuildOrder."""
@@ -802,13 +880,17 @@ class BuildCancel(BuildOrderContextMixin, CreateAPI):
serializer_class = build.serializers.BuildCancelSerializer
-class BuildItemDetail(RetrieveUpdateDestroyAPI):
- """API endpoint for detail view of a BuildItem object."""
+class BuildItemMixin:
+ """Mixin class for BuildItem API endpoints."""
- queryset = BuildItem.objects.all()
+ queryset = BuildItem.objects.all().prefetch_related('stock_item__location')
serializer_class = build.serializers.BuildItemSerializer
+class BuildItemDetail(BuildItemMixin, RetrieveUpdateDestroyAPI):
+ """API endpoint for detail view of a BuildItem object."""
+
+
class BuildItemFilter(FilterSet):
"""Custom filterset for the BuildItemList API endpoint."""
@@ -893,16 +975,45 @@ class BuildItemOutputOptions(OutputConfiguration):
"""Output options for BuildItem endpoint."""
OPTIONS = [
- InvenTreeOutputOption('part_detail'),
- InvenTreeOutputOption('location_detail'),
- InvenTreeOutputOption('stock_detail'),
- InvenTreeOutputOption('build_detail'),
- InvenTreeOutputOption('supplier_part_detail'),
+ InvenTreeOutputOption(
+ 'part_detail',
+ default=False,
+ description='Include detailed information about the part associated with this build item.',
+ ),
+ InvenTreeOutputOption(
+ 'location_detail',
+ default=False,
+ description='Include detailed information about the location of the allocated stock item.',
+ ),
+ InvenTreeOutputOption(
+ 'stock_detail',
+ default=False,
+ description='Include detailed information about the allocated stock item.',
+ ),
+ InvenTreeOutputOption(
+ 'build_detail',
+ default=False,
+ description='Include detailed information about the associated build order.',
+ ),
+ InvenTreeOutputOption(
+ 'supplier_part_detail',
+ default=False,
+ description='Include detailed information about the supplier part associated with this build item.',
+ ),
+ InvenTreeOutputOption(
+ 'install_into_detail',
+ default=False,
+ description='Include detailed information about the build output for this build item.',
+ ),
]
class BuildItemList(
- DataExportViewMixin, OutputOptionsMixin, BulkDeleteMixin, ListCreateAPI
+ BuildItemMixin,
+ DataExportViewMixin,
+ OutputOptionsMixin,
+ BulkDeleteMixin,
+ ListCreateAPI,
):
"""API endpoint for accessing a list of BuildItem objects.
@@ -911,10 +1022,8 @@ class BuildItemList(
"""
output_options = BuildItemOutputOptions
- queryset = BuildItem.objects.all()
- serializer_class = build.serializers.BuildItemSerializer
filterset_class = BuildItemFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
def get_queryset(self):
"""Override the queryset method, to perform custom prefetch."""
@@ -960,11 +1069,7 @@ build_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=BuildItem),
- name='api-build-item-metadata',
- ),
+ meta_path(BuildItem),
path('', BuildItemDetail.as_view(), name='api-build-item-detail'),
]),
),
@@ -1007,11 +1112,7 @@ build_api_urls = [
path('finish/', BuildFinish.as_view(), name='api-build-finish'),
path('cancel/', BuildCancel.as_view(), name='api-build-cancel'),
path('unallocate/', BuildUnallocate.as_view(), name='api-build-unallocate'),
- path(
- 'metadata/',
- MetadataView.as_view(model=Build),
- name='api-build-metadata',
- ),
+ meta_path(Build),
path('', BuildDetail.as_view(), name='api-build-detail'),
]),
),
diff --git a/src/backend/InvenTree/build/migrations/0012_build_sales_order.py b/src/backend/InvenTree/build/migrations/0012_build_sales_order.py
index 6b4a845a6e..cd2860919f 100644
--- a/src/backend/InvenTree/build/migrations/0012_build_sales_order.py
+++ b/src/backend/InvenTree/build/migrations/0012_build_sales_order.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='build',
name='sales_order',
- field=models.ForeignKey(blank=True, help_text='SalesOrder to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds', to='order.SalesOrder'),
+ field=models.ForeignKey(blank=True, help_text='Sales Order to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds', to='order.SalesOrder'),
),
]
diff --git a/src/backend/InvenTree/build/migrations/0014_auto_20200425_1243.py b/src/backend/InvenTree/build/migrations/0014_auto_20200425_1243.py
index af65a12cb3..88fece94ba 100644
--- a/src/backend/InvenTree/build/migrations/0014_auto_20200425_1243.py
+++ b/src/backend/InvenTree/build/migrations/0014_auto_20200425_1243.py
@@ -50,7 +50,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='build',
name='sales_order',
- field=models.ForeignKey(blank=True, help_text='SalesOrder to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds', to='order.SalesOrder', verbose_name='Sales Order Reference'),
+ field=models.ForeignKey(blank=True, help_text='Sales Order to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds', to='order.SalesOrder', verbose_name='Sales Order Reference'),
),
migrations.AlterField(
model_name='build',
diff --git a/src/backend/InvenTree/build/migrations/0021_auto_20201020_0908_squashed_0026_auto_20201023_1228.py b/src/backend/InvenTree/build/migrations/0021_auto_20201020_0908_squashed_0026_auto_20201023_1228.py
index 5094d74c6d..db2803f53f 100644
--- a/src/backend/InvenTree/build/migrations/0021_auto_20201020_0908_squashed_0026_auto_20201023_1228.py
+++ b/src/backend/InvenTree/build/migrations/0021_auto_20201020_0908_squashed_0026_auto_20201023_1228.py
@@ -37,7 +37,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='build',
name='parent',
- field=mptt.fields.TreeForeignKey(blank=True, help_text='BuildOrder to which this build is allocated', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='children', to='build.Build', verbose_name='Parent Build'),
+ field=mptt.fields.TreeForeignKey(blank=True, help_text='Build Order to which this build is allocated', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='children', to='build.Build', verbose_name='Parent Build'),
),
migrations.AlterField(
model_name='build',
diff --git a/src/backend/InvenTree/build/migrations/0024_auto_20201201_1023.py b/src/backend/InvenTree/build/migrations/0024_auto_20201201_1023.py
index fde4114af5..4e995fdf80 100644
--- a/src/backend/InvenTree/build/migrations/0024_auto_20201201_1023.py
+++ b/src/backend/InvenTree/build/migrations/0024_auto_20201201_1023.py
@@ -15,6 +15,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='build',
name='parent',
- field=mptt.fields.TreeForeignKey(blank=True, help_text='BuildOrder to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='build.Build', verbose_name='Parent Build'),
+ field=mptt.fields.TreeForeignKey(blank=True, help_text='Build Order to which this build is allocated', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='build.Build', verbose_name='Parent Build'),
),
]
diff --git a/src/backend/InvenTree/build/models.py b/src/backend/InvenTree/build/models.py
index 42e8213099..39018c661a 100644
--- a/src/backend/InvenTree/build/models.py
+++ b/src/backend/InvenTree/build/models.py
@@ -1,7 +1,7 @@
"""Build database model definitions."""
import decimal
-from typing import Optional
+from typing import Optional, TypedDict
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
@@ -42,6 +42,7 @@ from common.settings import (
get_global_setting,
prevent_build_output_complete_on_incompleted_tests,
)
+from generic.enums import StringEnum
from generic.states import StateTransitionMixin, StatusCodeMixin
from plugin.events import trigger_event
from stock.status_codes import StockHistoryCode, StockStatus
@@ -49,7 +50,7 @@ from stock.status_codes import StockHistoryCode, StockStatus
logger = structlog.get_logger('inventree')
-class BuildReportContext(report.mixins.BaseReportContext):
+class BuildReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the Build model.
Attributes:
@@ -111,6 +112,7 @@ class Build(
"""
STATUS_CLASS = BuildStatus
+ IMPORT_ID_FIELDS = ['reference']
class Meta:
"""Metaclass options for the BuildOrder model."""
@@ -123,11 +125,21 @@ class Build(
order_insertion_by = ['reference']
- OVERDUE_FILTER = (
- Q(status__in=BuildStatusGroups.ACTIVE_CODES)
- & ~Q(target_date=None)
- & Q(target_date__lte=InvenTree.helpers.current_date())
- )
+ class BuildItemTypes(StringEnum):
+ """Enumeration of available item types."""
+
+ ALL = 'all' # All BOM items (both tracked and untracked)
+ TRACKED = 'tracked' # Tracked BOM items
+ UNTRACKED = 'untracked' # Untracked BOM items
+
+ @classmethod
+ def get_overdue_filter(cls):
+ """Filter for determining if a build order is overdue."""
+ return (
+ Q(status__in=BuildStatusGroups.ACTIVE_CODES)
+ & ~Q(target_date=None)
+ & Q(target_date__lte=InvenTree.helpers.current_date())
+ )
# Global setting for specifying reference pattern
REFERENCE_PATTERN_SETTING = 'BUILDORDER_REFERENCE_PATTERN'
@@ -263,7 +275,7 @@ class Build(
null=True,
related_name='children',
verbose_name=_('Parent Build'),
- help_text=_('BuildOrder to which this build is allocated'),
+ help_text=_('Build Order to which this build is allocated'),
)
part = models.ForeignKey(
@@ -282,7 +294,7 @@ class Build(
related_name='builds',
null=True,
blank=True,
- help_text=_('SalesOrder to which this build is allocated'),
+ help_text=_('Sales Order to which this build is allocated'),
)
take_from = models.ForeignKey(
@@ -456,7 +468,7 @@ class Build(
bool: Is the build overdue
"""
query = Build.objects.filter(pk=self.pk)
- query = query.filter(Build.OVERDUE_FILTER)
+ query = query.filter(Build.get_overdue_filter())
return query.exists()
@@ -949,49 +961,10 @@ class Build(
# Auto-allocate stock based on serial number
if auto_allocate:
- for bom_item in trackable_parts:
- valid_part_ids = valid_parts.get(bom_item.pk, [])
-
- # Find all matching stock items, based on serial number
- stock_items = list(
- stock.models.StockItem.objects.filter(
- part__pk__in=valid_part_ids,
- serial=output.serial,
- quantity=1,
- )
- )
-
- # Filter stock items to only those which are in stock
- # Note that we can accept "in production" items here
- available_items = list(
- filter(
- lambda item: item.is_in_stock(
- check_in_production=False
- ),
- stock_items,
- )
- )
-
- if len(available_items) == 1:
- stock_item = available_items[0]
-
- # Find the 'BuildLine' object which points to this BomItem
- try:
- build_line = BuildLine.objects.get(
- build=self, bom_item=bom_item
- )
-
- # Allocate the stock items against the BuildLine
- allocations.append(
- BuildItem(
- build_line=build_line,
- stock_item=stock_item,
- quantity=1,
- install_into=output,
- )
- )
- except BuildLine.DoesNotExist:
- pass
+ if new_allocations := self.auto_allocate_tracked_output(
+ output, location=self.take_from
+ ):
+ allocations.extend(new_allocations)
# Bulk create tracking entries
stock.models.StockItemTracking.objects.bulk_create(tracking)
@@ -1066,7 +1039,7 @@ class Build(
lines = lines.exclude(bom_item__consumable=True)
lines = lines.annotate(allocated=annotate_allocated_quantity())
- for build_line in lines: # type: ignore[non-iterable]
+ for build_line in lines:
reduce_by = build_line.allocated - build_line.quantity
if reduce_by <= 0:
@@ -1173,6 +1146,7 @@ class Build(
user,
notes=notes,
deltas={
+ 'quantity': float(quantity),
'location': location.pk,
'status': StockStatus.REJECTED.value,
'buildorder': self.pk,
@@ -1222,6 +1196,13 @@ class Build(
# List the allocated BuildItem objects for the given output
allocated_items = output.items_to_install.all()
+ # Ensure that none of the allocated items are themselves still "in production"
+ for build_item in allocated_items:
+ if build_item.stock_item.is_building:
+ raise ValidationError(
+ _('Allocated stock items are still in production')
+ )
+
# If a partial quantity is provided, split the stock output
if quantity is not None and quantity != output.quantity:
# Cannot split a build output with allocated items
@@ -1254,11 +1235,17 @@ class Build(
output.build = self
output.is_building = False
output.location = location
- output.status = status
+
+ # Assign the stock status
+ output.set_status(status)
output.save(add_note=False)
- deltas = {'status': status, 'buildorder': self.pk}
+ deltas = {
+ 'status': status,
+ 'buildorder': self.pk,
+ 'quantity': float(output.quantity),
+ }
if location:
deltas['location'] = location.pk
@@ -1275,11 +1262,134 @@ class Build(
self.save()
@transaction.atomic
- def auto_allocate_stock(self, **kwargs):
+ def auto_allocate_stock(
+ self, item_type: str = BuildItemTypes.UNTRACKED, **kwargs
+ ) -> None:
"""Automatically allocate stock items against this build order.
- Following a number of 'guidelines':
- - Only "untracked" BOM items are considered (tracked BOM items must be manually allocated)
+ Arguments:
+ item_type: The type of BuildItem to allocate (default = untracked)
+ """
+ if item_type in [self.BuildItemTypes.UNTRACKED, self.BuildItemTypes.ALL]:
+ self.auto_allocate_untracked_stock(**kwargs)
+
+ if item_type in [self.BuildItemTypes.TRACKED, self.BuildItemTypes.ALL]:
+ self.auto_allocate_tracked_stock(**kwargs)
+
+ def auto_allocate_tracked_output(self, output, **kwargs):
+ """Auto-allocate tracked stock items against a particular build output.
+
+ This may occur at the time of build output creation, or later when triggered manually.
+ """
+ location = kwargs.get('location')
+ exclude_location = kwargs.get('exclude_location')
+ substitutes = kwargs.get('substitutes', True)
+ optional_items = kwargs.get('optional_items', False)
+
+ # Newly created allocations (not yet committed to the database)
+ allocations = []
+
+ # Return early if the output should not be auto-allocated
+ if not output.serialized:
+ return allocations
+
+ tracked_line_items = self.tracked_line_items.filter(
+ bom_item__consumable=False, bom_item__sub_part__virtual=False
+ )
+
+ for line_item in tracked_line_items:
+ bom_item = line_item.bom_item
+
+ if bom_item.consumable:
+ # Do not auto-allocate stock to consumable BOM items
+ continue
+
+ if bom_item.optional and not optional_items:
+ # User has specified that optional_items are to be ignored
+ continue
+
+ # If the line item is already fully allocated, we can continue
+ if line_item.is_fully_allocated():
+ continue
+
+ # If there is already allocated stock against this build output, skip it
+ if line_item.allocated_quantity(output=output) > 0:
+ continue
+
+ # Find available parts (may include variants and substitutes)
+ available_parts = bom_item.get_valid_parts_for_allocation(
+ allow_variants=True, allow_substitutes=substitutes
+ )
+
+ # Find stock items which match the output serial number
+ available_stock = stock.models.StockItem.objects.filter(
+ part__in=list(available_parts),
+ part__active=True,
+ part__virtual=False,
+ serial=output.serial,
+ ).exclude(Q(serial=None) | Q(serial=''))
+
+ if location:
+ # Filter only stock items located "below" the specified location
+ sublocations = location.get_descendants(include_self=True)
+ available_stock = available_stock.filter(
+ location__in=list(sublocations)
+ )
+
+ if exclude_location:
+ # Exclude any stock items from the provided location
+ sublocations = exclude_location.get_descendants(include_self=True)
+ available_stock = available_stock.exclude(
+ location__in=list(sublocations)
+ )
+
+ # Filter stock items to only those which are in stock
+ # Note that we can accept "in production" items here
+ available_items = list(
+ filter(
+ lambda item: item.is_in_stock(check_in_production=False),
+ available_stock,
+ )
+ )
+
+ if len(available_items) == 1:
+ allocations.append(
+ BuildItem(
+ build_line=line_item,
+ stock_item=available_items[0],
+ quantity=1,
+ install_into=output,
+ )
+ )
+
+ return allocations
+
+ def auto_allocate_tracked_stock(self, **kwargs):
+ """Automatically allocate tracked stock items against serialized build outputs.
+
+ This function allocates tracked stock items automatically against serialized build outputs,
+ following a set of "guidelines":
+
+ - Only "tracked" BOM items are considered (untracked BOM items must be allocated separately)
+ - Only build outputs with serial numbers are considered
+ - Unallocated tracked components are allocated against build outputs with matching serial numbers
+ """
+ new_items = []
+
+ # Select only "tracked" line items
+ for output in self.incomplete_outputs.all():
+ new_items.extend(self.auto_allocate_tracked_output(output, **kwargs))
+
+ # Bulk-create the new BuildItem objects
+ BuildItem.objects.bulk_create(new_items)
+
+ def auto_allocate_untracked_stock(self, **kwargs):
+ """Automatically allocate untracked stock items against this build order.
+
+ This function allocates untracked stock items automatically against a BuildOrder,
+ following a set of "guidelines":
+
+ - Only "untracked" BOM items are considered (tracked BOM items must be allocated separately)
- If a particular BOM item is already fully allocated, it is skipped
- Extract all available stock items for the BOM part
- If variant stock is allowed, extract stock for those too
@@ -1303,7 +1413,7 @@ class Build(
new_items = []
- # Auto-allocation is only possible for "untracked" line items
+ # Select only "untracked" line items
for line_item in self.untracked_line_items.all():
# Find the referenced BomItem
bom_item = line_item.bom_item
@@ -1326,7 +1436,7 @@ class Build(
# Check which parts we can "use" (may include variants and substitutes)
available_parts = bom_item.get_valid_parts_for_allocation(
- allow_variants=True, allow_substitutes=substitutes
+ allow_variants=True, allow_inactive=False, allow_substitutes=substitutes
)
# Look for available stock items
@@ -1337,6 +1447,11 @@ class Build(
# Filter by list of available parts
available_stock = available_stock.filter(part__in=list(available_parts))
+ # Ensure part is active and not virtual
+ available_stock = available_stock.filter(
+ part__active=True, part__virtual=False
+ )
+
# Filter out "serialized" stock items, these cannot be auto-allocated
available_stock = available_stock.filter(
Q(serial=None) | Q(serial='')
@@ -1369,10 +1484,7 @@ class Build(
key=lambda item, b=bom_item, v=variant_parts: stock_sort(item, b, v),
)
- if len(available_stock) == 0:
- # No stock items are available
- continue
- elif len(available_stock) == 1 or interchangeable:
+ if len(available_stock) == 1 or interchangeable:
# Either there is only a single stock item available,
# or all items are "interchangeable" and we don't care where we take stock from
@@ -1400,10 +1512,10 @@ class Build(
unallocated_quantity -= quantity
except (ValidationError, serializers.ValidationError) as exc:
- # Catch model errors and re-throw as DRF errors
+ # Re-raise with a Django-compatible validation payload
raise ValidationError(
- exc.message, detail=serializers.as_serializer_error(exc)
- )
+ serializers.as_serializer_error(exc)
+ ) from exc
if unallocated_quantity <= 0:
# We have now fully-allocated this BomItem - no need to continue!
@@ -1583,7 +1695,7 @@ def after_save_build(sender, instance: Build, created: bool, **kwargs):
instance.update_build_line_items()
-class BuildLineReportContext(report.mixins.BaseReportContext):
+class BuildLineReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the BuildLine model.
Attributes:
@@ -1633,6 +1745,7 @@ class BuildLine(report.mixins.InvenTreeReportMixin, InvenTree.models.InvenTreeMo
"""Return the API URL used to access this model."""
return reverse('api-build-line-list')
+ # type
def report_context(self) -> BuildLineReportContext:
"""Generate custom report context for this BuildLine object."""
return {
@@ -1679,11 +1792,14 @@ class BuildLine(report.mixins.InvenTreeReportMixin, InvenTree.models.InvenTreeMo
"""Return the sub_part reference from the link bom_item."""
return self.bom_item.sub_part
- def allocated_quantity(self):
+ def allocated_quantity(self, output: Optional[stock.models.StockItem] = None):
"""Calculate the total allocated quantity for this BuildLine."""
# Queryset containing all BuildItem objects allocated against this BuildLine
allocations = self.allocations.all()
+ if output is not None:
+ allocations = allocations.filter(install_into=output)
+
allocated = allocations.aggregate(
q=Coalesce(Sum('quantity'), 0, output_field=models.DecimalField())
)
@@ -1746,11 +1862,10 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
def save(self, *args, **kwargs):
"""Custom save method for the BuildItem model."""
- self.clean()
-
+ self.clean(raise_error=False)
super().save()
- def clean(self):
+ def clean(self, raise_error: bool = True):
"""Check validity of this BuildItem instance.
The following checks are performed:
@@ -1774,47 +1889,7 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
)
)
- # Allocated quantity cannot exceed available stock quantity
- if self.quantity > self.stock_item.quantity:
- q = InvenTree.helpers.normalize(self.quantity)
- a = InvenTree.helpers.normalize(self.stock_item.quantity)
-
- raise ValidationError({
- 'quantity': _(
- f'Allocated quantity ({q}) must not exceed available stock quantity ({a})'
- )
- })
-
- # Ensure that we do not 'over allocate' a stock item
- available = decimal.Decimal(self.stock_item.quantity)
- quantity = decimal.Decimal(self.quantity)
- build_allocation_count = decimal.Decimal(
- self.stock_item.build_allocation_count(
- exclude_allocations={'pk': self.pk}
- )
- )
- sales_allocation_count = decimal.Decimal(
- self.stock_item.sales_order_allocation_count()
- )
-
- total_allocation = (
- build_allocation_count + sales_allocation_count + quantity
- )
-
- if total_allocation > available:
- raise ValidationError({'quantity': _('Stock item is over-allocated')})
-
- # Allocated quantity must be positive
- if self.quantity <= 0:
- raise ValidationError({
- 'quantity': _('Allocation quantity must be greater than zero')
- })
-
- # Quantity must be 1 for serialized stock
- if self.stock_item.serialized and self.quantity != 1:
- raise ValidationError({
- 'quantity': _('Quantity must be 1 for serialized stock')
- })
+ self.check_allocated_quantity(raise_error=raise_error)
except stock.models.StockItem.DoesNotExist:
raise ValidationError('Stock item must be specified')
@@ -1876,6 +1951,60 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
'stock_item': _('Selected stock item does not match BOM line')
})
+ def check_allocated_quantity(self, raise_error: bool = False):
+ """Ensure that the allocated quantity is valid.
+
+ Will reduce the allocated quantity if it exceeds available stock.
+
+ Arguments:
+ raise_error: If True, raise ValidationError on failure
+
+ Raises:
+ ValidationError: If the allocated quantity is invalid and raise_error is True
+ """
+ error = None
+
+ # Allocated quantity must be positive
+ if self.quantity <= 0:
+ self.quantity = 0
+ error = {'quantity': _('Allocated quantity must be greater than zero')}
+
+ # Quantity must be 1 for serialized stock
+ if self.stock_item.serialized and self.quantity != 1:
+ self.quantity = 1
+ raise ValidationError({
+ 'quantity': _('Quantity must be 1 for serialized stock')
+ })
+
+ # Allocated quantity cannot exceed available stock quantity
+ if self.quantity > self.stock_item.quantity:
+ q = InvenTree.helpers.normalize(self.quantity)
+ a = InvenTree.helpers.normalize(self.stock_item.quantity)
+ self.quantity = self.stock_item.quantity
+ error = {
+ 'quantity': _(
+ f'Allocated quantity ({q}) must not exceed available stock quantity ({a})'
+ )
+ }
+
+ # Ensure that we do not 'over allocate' a stock item
+ available = decimal.Decimal(self.stock_item.quantity)
+ quantity = decimal.Decimal(self.quantity)
+ build_allocation_count = decimal.Decimal(
+ self.stock_item.build_allocation_count(exclude_allocations={'pk': self.pk})
+ )
+ sales_allocation_count = decimal.Decimal(
+ self.stock_item.sales_order_allocation_count()
+ )
+
+ total_allocation = build_allocation_count + sales_allocation_count + quantity
+
+ if total_allocation > available:
+ error = {'quantity': _('Stock item is over-allocated')}
+
+ if error and raise_error:
+ raise ValidationError(error)
+
@property
def build(self):
"""Return the BuildOrder associated with this BuildItem."""
@@ -1887,7 +2016,7 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
return self.build_line.bom_item if self.build_line else None
@transaction.atomic
- def complete_allocation(self, quantity=None, notes='', user=None) -> None:
+ def complete_allocation(self, quantity=None, notes: str = '', user=None) -> None:
"""Complete the allocation of this BuildItem into the output stock item.
Arguments:
@@ -1910,9 +2039,7 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
# Ensure we are not allocating more than available
if quantity > item.quantity:
- raise ValidationError({
- 'quantity': _('Allocated quantity exceeds available stock quantity')
- })
+ quantity = item.quantity
# Split the allocated stock if there are more available than allocated
if item.quantity > quantity:
diff --git a/src/backend/InvenTree/build/serializers.py b/src/backend/InvenTree/build/serializers.py
index b13d5fdf17..1e1f3c6860 100644
--- a/src/backend/InvenTree/build/serializers.py
+++ b/src/backend/InvenTree/build/serializers.py
@@ -21,7 +21,6 @@ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from rest_framework.serializers import ValidationError
-import build.tasks
import common.filters
import common.settings
import company.serializers
@@ -38,7 +37,6 @@ from InvenTree.serializers import (
NotesFieldMixin,
enable_filter,
)
-from InvenTree.tasks import offload_task
from stock.generators import generate_batch_code
from stock.models import StockItem, StockLocation
from stock.serializers import (
@@ -51,7 +49,6 @@ from users.serializers import OwnerSerializer, UserSerializer
from .models import Build, BuildItem, BuildLine
from .status_codes import BuildStatus
-from .tasks import consume_build_item, consume_build_line
class BuildSerializer(
@@ -168,7 +165,8 @@ class BuildSerializer(
queryset = queryset.annotate(
overdue=Case(
When(
- Build.OVERDUE_FILTER, then=Value(True, output_field=BooleanField())
+ Build.get_overdue_filter(),
+ then=Value(True, output_field=BooleanField()),
),
default=Value(False, output_field=BooleanField()),
)
@@ -1117,25 +1115,16 @@ class BuildAutoAllocationSerializer(serializers.Serializer):
help_text=_('Allocate optional BOM items to build order'),
)
- def save(self):
- """Perform the auto-allocation step."""
- import InvenTree.tasks
-
- data = self.validated_data
-
- build_order = self.context['build']
-
- if not InvenTree.tasks.offload_task(
- build.tasks.auto_allocate_build,
- build_order.pk,
- location=data.get('location', None),
- exclude_location=data.get('exclude_location', None),
- interchangeable=data['interchangeable'],
- substitutes=data['substitutes'],
- optional_items=data['optional_items'],
- group='build',
- ):
- raise ValidationError(_('Failed to start auto-allocation task'))
+ item_type = serializers.ChoiceField(
+ default=Build.BuildItemTypes.UNTRACKED,
+ choices=[
+ (Build.BuildItemTypes.ALL, _('All Items')),
+ (Build.BuildItemTypes.UNTRACKED, _('Untracked Items')),
+ (Build.BuildItemTypes.TRACKED, _('Tracked Items')),
+ ],
+ label=_('Item Type'),
+ help_text=_('Select item type to auto-allocate'),
+ )
class BuildItemSerializer(
@@ -1179,6 +1168,7 @@ class BuildItemSerializer(
'part_detail',
'stock_item_detail',
'supplier_part_detail',
+ 'install_into_detail',
# The following fields are only used for data export
'bom_reference',
'bom_part_id',
@@ -1244,6 +1234,21 @@ class BuildItemSerializer(
],
)
+ install_into_detail = enable_filter(
+ StockItemSerializer(
+ source='install_into',
+ read_only=True,
+ allow_null=True,
+ label=_('Install Into'),
+ part_detail=False,
+ location_detail=False,
+ supplier_part_detail=False,
+ path_detail=False,
+ ),
+ False,
+ prefetch_fields=['install_into', 'install_into__part'],
+ )
+
location = serializers.PrimaryKeyRelatedField(
label=_('Location'), source='stock_item.location', many=False, read_only=True
)
@@ -1378,7 +1383,9 @@ class BuildLineSerializer(
)
allocations = enable_filter(
- BuildItemSerializer(many=True, read_only=True, build_detail=False),
+ BuildItemSerializer(
+ many=True, read_only=True, allow_null=True, build_detail=False
+ ),
True,
prefetch_fields=[
'allocations',
@@ -1426,6 +1433,7 @@ class BuildLineSerializer(
source='bom_item',
many=False,
read_only=True,
+ allow_null=True,
pricing=False,
substitutes=False,
sub_part_detail=False,
@@ -1455,6 +1463,7 @@ class BuildLineSerializer(
source='bom_item.sub_part',
many=False,
read_only=True,
+ allow_null=True,
pricing=False,
),
False,
@@ -1814,46 +1823,3 @@ class BuildConsumeSerializer(serializers.Serializer):
raise ValidationError(_('At least one item or line must be provided'))
return data
-
- @transaction.atomic
- def save(self):
- """Perform the stock consumption step."""
- data = self.validated_data
- request = self.context.get('request')
- notes = data.get('notes', '')
-
- # We may be passed either a list of BuildItem or BuildLine instances
- items = data.get('items', [])
- lines = data.get('lines', [])
-
- with transaction.atomic():
- # Process the provided BuildItem objects
- for item in items:
- build_item = item['build_item']
- quantity = item['quantity']
-
- if build_item.install_into:
- # If the build item is tracked into an output, we do not consume now
- # Instead, it gets consumed when the output is completed
- continue
-
- # Offload a background task to consume this BuildItem
- offload_task(
- consume_build_item,
- build_item.pk,
- quantity,
- notes=notes,
- user_id=request.user.pk if request else None,
- )
-
- # Process the provided BuildLine objects
- for line in lines:
- build_line = line['build_line']
-
- # Offload a background task to consume this BuildLine
- offload_task(
- consume_build_line,
- build_line.pk,
- notes=notes,
- user_id=request.user.pk if request else None,
- )
diff --git a/src/backend/InvenTree/build/tasks.py b/src/backend/InvenTree/build/tasks.py
index fd8e3da1de..363dac3e19 100644
--- a/src/backend/InvenTree/build/tasks.py
+++ b/src/backend/InvenTree/build/tasks.py
@@ -2,8 +2,10 @@
from datetime import timedelta
from decimal import Decimal
+from typing import Optional
from django.contrib.auth.models import User
+from django.db import transaction
from django.utils.translation import gettext_lazy as _
import structlog
@@ -27,61 +29,53 @@ def auto_allocate_build(build_id: int, **kwargs):
"""Run auto-allocation for a specified BuildOrder."""
from build.models import Build
- build_order = Build.objects.filter(pk=build_id).first()
-
- if not build_order:
- logger.warning(
- 'Could not auto-allocate BuildOrder <%s> - BuildOrder does not exist',
- build_id,
- )
- return
-
+ build_order = Build.objects.get(pk=build_id)
build_order.auto_allocate_stock(**kwargs)
-@tracer.start_as_current_span('consume_build_item')
-def consume_build_item(
- item_id: str, quantity, notes: str = '', user_id: int | None = None
+@tracer.start_as_current_span('consume_build_stock')
+def consume_build_stock(
+ build_id: int,
+ lines: Optional[list[int]] = None,
+ items: Optional[dict] = None,
+ user_id: int | None = None,
+ **kwargs,
):
- """Consume stock against a particular BuildOrderLineItem allocation."""
- from build.models import BuildItem
+ """Consume stock for the specified BuildOrder.
- item = BuildItem.objects.filter(pk=item_id).first()
+ Arguments:
+ build_id: The ID of the BuildOrder to consume stock for
+ lines: Optional list of BuildLine IDs to consume
+ items: Optional dict of BuildItem IDs (and quantities)to consume
+ user_id: The ID of the user who initiated the stock consumption
+ """
+ from build.models import Build, BuildItem, BuildLine
- if not item:
- logger.warning(
- 'Could not consume stock for BuildItem <%s> - BuildItem does not exist',
- item_id,
- )
- return
+ build = Build.objects.get(pk=build_id)
+ user = User.objects.filter(pk=user_id).first() if user_id else None
- item.complete_allocation(
- quantity=quantity,
- notes=notes,
- user=User.objects.filter(pk=user_id).first() if user_id else None,
- )
+ lines = lines or []
+ items = items or {}
+ notes = kwargs.pop('notes', '')
+ # Extract the relevant BuildLine and BuildItem objects
+ with transaction.atomic():
+ # Consume each of the specified BuildLine objects
+ for line_id in lines:
+ if build_line := BuildLine.objects.filter(pk=line_id, build=build).first():
+ for item in build_line.allocations.all():
+ item.complete_allocation(
+ quantity=item.quantity, notes=notes, user=user
+ )
-@tracer.start_as_current_span('consume_build_line')
-def consume_build_line(line_id: int, notes: str = '', user_id: int | None = None):
- """Consume stock against a particular BuildOrderLineItem."""
- from build.models import BuildLine
-
- line_item = BuildLine.objects.filter(pk=line_id).first()
-
- if not line_item:
- logger.warning(
- 'Could not consume stock for LineItem <%s> - LineItem does not exist',
- line_id,
- )
- return
-
- for item in line_item.allocations.all():
- item.complete_allocation(
- quantity=item.quantity,
- notes=notes,
- user=User.objects.filter(pk=user_id).first() if user_id else None,
- )
+ # Consume each of the specified BuildItem objects
+ for item_id, quantity in items.items():
+ if build_item := BuildItem.objects.filter(
+ pk=item_id, build_line__build=build
+ ).first():
+ build_item.complete_allocation(
+ quantity=quantity, notes=notes, user=user
+ )
@tracer.start_as_current_span('complete_build_allocations')
@@ -89,7 +83,7 @@ def complete_build_allocations(build_id: int, user_id: int):
"""Complete build allocations for a specified BuildOrder."""
from build.models import Build
- build_order = Build.objects.filter(pk=build_id).first()
+ build_order = Build.objects.get(pk=build_id)
if user_id:
try:
@@ -103,13 +97,6 @@ def complete_build_allocations(build_id: int, user_id: int):
else:
user = None
- if not build_order:
- logger.warning(
- 'Could not complete build allocations for BuildOrder <%s> - BuildOrder does not exist',
- build_id,
- )
- return
-
build_order.complete_allocations(user)
diff --git a/src/backend/InvenTree/build/test_api.py b/src/backend/InvenTree/build/test_api.py
index 241eb1d3e7..26fdaf201e 100644
--- a/src/backend/InvenTree/build/test_api.py
+++ b/src/backend/InvenTree/build/test_api.py
@@ -920,6 +920,77 @@ class BuildAllocationTest(BuildAPITest):
self.assertIsNotNone(bi)
self.assertEqual(bi.build, build)
+ def test_auto_allocate_tracked(self):
+ """Test manual auto-allocation of tracked items against a Build."""
+ # Create a base assembly
+ assembly = Part.objects.create(
+ name='Test Assembly',
+ description='Test Assembly Description',
+ assembly=True,
+ trackable=True,
+ )
+
+ component = Part.objects.create(
+ name='Test Component',
+ description='Test Component Description',
+ trackable=True,
+ component=True,
+ )
+
+ # Create a BOM item for the assembly
+ BomItem.objects.create(part=assembly, sub_part=component, quantity=1)
+
+ # Create a build order for the assembly
+ build = Build.objects.create(part=assembly, reference='BO-12347', quantity=10)
+
+ SN = '123456'
+
+ # Create serialized component item
+ c = StockItem.objects.create(part=component, quantity=1, serial=SN)
+
+ N = BuildItem.objects.count()
+
+ # Create a new build output
+ response = self.post(
+ reverse('api-build-output-create', kwargs={'pk': build.pk}),
+ {'quantity': 1, 'serial_numbers': SN, 'auto_allocate': False},
+ expected_code=201,
+ )
+
+ output = response.data[0]
+
+ self.assertIsNotNone(output)
+ self.assertIsNotNone(output['pk'])
+ self.assertEqual(output['serial'], SN)
+
+ # No new build items (allocations) have been created yet
+ self.assertEqual(N, BuildItem.objects.count())
+
+ # Let's auto-allocate via the API now
+ url = reverse('api-build-auto-allocate', kwargs={'pk': build.pk})
+
+ # Allocate only 'untracked' items - this should not allocate our tracked item
+ self.post(url, data={'item_type': 'untracked'}, expected_code=200)
+
+ self.assertEqual(N, BuildItem.objects.count())
+
+ # Allocate 'tracked' items - this should allocate our tracked item
+ self.post(url, data={'item_type': 'tracked'}, expected_code=200)
+
+ # A new BuildItem should have been created
+ self.assertEqual(N + 1, BuildItem.objects.count())
+
+ line = build.build_lines.first()
+
+ self.assertIsNotNone(line)
+ allocations = line.allocations.filter(install_into_id=output['pk'])
+ self.assertEqual(allocations.count(), 1)
+
+ allocation = allocations.first()
+
+ self.assertEqual(allocation.stock_item, c)
+ self.assertEqual(allocation.quantity, 1)
+
class BuildItemTest(BuildAPITest):
"""Unit tests for build items.
@@ -1493,12 +1564,13 @@ class BuildLineTests(BuildAPITest):
# Filter by 'available' status
# Note: The max_query_time is bumped up here, as postgresql backend has some strange issues (only during testing)
- response = self.get(url, data={'available': True}, max_query_time=15)
+ # TODO: This needs to be addressed in the future, as 25 seconds is an unacceptably long time for a query to take in testing
+ response = self.get(url, data={'available': True}, max_query_time=25)
n_t = len(response.data)
self.assertGreater(n_t, 0)
# Note: The max_query_time is bumped up here, as postgresql backend has some strange issues (only during testing)
- response = self.get(url, data={'available': False}, max_query_time=15)
+ response = self.get(url, data={'available': False}, max_query_time=25)
n_f = len(response.data)
self.assertGreater(n_f, 0)
@@ -1664,7 +1736,7 @@ class BuildConsumeTest(BuildAPITest):
'lines': [{'build_line': line.pk} for line in self.build.build_lines.all()]
}
- self.post(url, data, expected_code=201)
+ self.post(url, data, expected_code=200)
self.assertEqual(self.build.allocated_stock.count(), 0)
self.assertEqual(self.build.consumed_stock.count(), 3)
@@ -1687,7 +1759,7 @@ class BuildConsumeTest(BuildAPITest):
]
}
- self.post(url, data, expected_code=201)
+ self.post(url, data, expected_code=200)
self.assertEqual(self.build.allocated_stock.count(), 0)
self.assertEqual(self.build.consumed_stock.count(), 3)
diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py
index 4118548acc..2fb2a6b09f 100644
--- a/src/backend/InvenTree/common/api.py
+++ b/src/backend/InvenTree/common/api.py
@@ -5,8 +5,9 @@ import json.decoder
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
-from django.core.exceptions import ValidationError
+from django.core.exceptions import FieldDoesNotExist, ValidationError
from django.db.models import Q
+from django.http import JsonResponse
from django.http.response import HttpResponse
from django.urls import include, path, re_path
from django.utils.decorators import method_decorator
@@ -16,11 +17,12 @@ from django.views.decorators.csrf import csrf_exempt
import django_filters.rest_framework.filters as rest_filters
import django_q.models
+import django_q.tasks
from django_filters.rest_framework.filterset import FilterSet
-from django_q.tasks import async_task
from djmoney.contrib.exchange.models import ExchangeBackend, Rate
from drf_spectacular.utils import OpenApiResponse, extend_schema
from error_report.models import Error
+from opentelemetry import trace
from pint._typing import UnitLike
from rest_framework import generics, serializers
from rest_framework.exceptions import NotAcceptable, NotFound, PermissionDenied
@@ -33,17 +35,21 @@ import common.filters
import common.models
import common.serializers
import InvenTree.conversion
+import InvenTree.models
+import InvenTree.ready
from common.icons import get_icon_packs
from common.settings import get_global_setting
from data_exporter.mixins import DataExportViewMixin
from generic.states.api import urlpattern as generic_states_api_urls
-from InvenTree.api import BulkCreateMixin, BulkDeleteMixin, MetadataView
-from InvenTree.config import CONFIG_LOOKUPS
-from InvenTree.filters import (
- ORDER_FILTER,
- SEARCH_ORDER_FILTER,
- SEARCH_ORDER_FILTER_ALIAS,
+from InvenTree.api import (
+ BulkCreateMixin,
+ BulkDeleteMixin,
+ GenericMetadataView,
+ SimpleGenericMetadataView,
+ meta_path,
)
+from InvenTree.config import CONFIG_LOOKUPS
+from InvenTree.filters import ORDER_FILTER, SEARCH_ORDER_FILTER
from InvenTree.helpers import inheritors, str2bool
from InvenTree.helpers_email import send_email
from InvenTree.mixins import (
@@ -109,7 +115,7 @@ class WebhookView(CsrfExemptMixin, APIView):
# process data
message = self.webhook.save_data(payload, headers, request)
if self.run_async:
- async_task(self._process_payload, message.id)
+ django_q.tasks.async_task(self._process_payload, message.id)
else:
self._process_result(
self.webhook.process_payload(message, payload, headers), message
@@ -558,13 +564,29 @@ class ErrorMessageDetail(RetrieveUpdateDestroyAPI):
permission_classes = [IsAuthenticatedOrReadScope, IsAdminUser]
+class BackgroundTaskDetail(APIView):
+ """Detail view for a single background task."""
+
+ permission_classes = [IsAuthenticatedOrReadScope]
+
+ @extend_schema(responses={200: common.serializers.TaskDetailSerializer})
+ def get(self, request, task_id, *args, **kwargs):
+ """Fetch information regarding a particular background task ID."""
+ response = common.serializers.TaskDetailSerializer.from_task(task_id).data
+
+ return Response(response, status=response['http_status'])
+
+
class BackgroundTaskOverview(APIView):
"""Provides an overview of the background task queue status."""
permission_classes = [IsAuthenticatedOrReadScope, IsAdminUser]
serializer_class = None
- @extend_schema(responses={200: common.serializers.TaskOverviewSerializer})
+ @extend_schema(
+ operation_id='background_task_overview',
+ responses={200: common.serializers.TaskOverviewSerializer},
+ )
def get(self, request, fmt=None):
"""Return information about the current status of the background task queue."""
import django_q.models as q_models
@@ -602,7 +624,7 @@ class ScheduledTaskList(ListAPI):
ordering_fields = ['pk', 'func', 'last_run', 'next_run']
- search_fields = ['func']
+ search_fields = ['func', 'name']
def get_queryset(self):
"""Return annotated queryset."""
@@ -830,7 +852,13 @@ class ParameterTemplateFilter(FilterSet):
content_type = common.filters.determine_content_type(value)
if not content_type:
- return queryset.none()
+ raise ValidationError({
+ 'exists_for_model': 'Invalid model type provided - unable to determine content type'
+ })
+
+ # If the 'filter_exists_for_model_id' filter is applied, defer to that
+ if self.request.query_params.get('exists_for_model_id', None):
+ return queryset
queryset = queryset.prefetch_related('parameters')
@@ -844,6 +872,160 @@ class ParameterTemplateFilter(FilterSet):
# Return only those ParameterTemplates which have at least one Parameter for the given model type
return queryset.filter(parameter_count__gt=0)
+ exists_for_model_id = rest_filters.NumberFilter(
+ method='filter_exists_for_model_id', label='Exists For Model ID'
+ )
+
+ def filter_exists_for_model_id(self, queryset, name, value):
+ """Filter queryset to include only ParameterTemplates which have at least one Parameter for the given model type and model id.
+
+ Notes:
+ - This filter can only be applied if the 'exists_for_model' filter is also applied, as the model_id is only meaningful in the context of a particular model type.
+
+ Reference: https://github.com/inventree/InvenTree/issues/11381
+ """
+ exists_for_model = self.request.query_params.get('exists_for_model', None)
+
+ if not exists_for_model:
+ raise ValidationError({
+ 'exists_for_model': 'Invalid model type provided - unable to determine content type'
+ })
+
+ content_type = common.filters.determine_content_type(exists_for_model)
+
+ if not content_type:
+ raise ValidationError({
+ 'exists_for_model': 'Invalid model type provided - unable to determine content type'
+ })
+
+ model_class = content_type.model_class()
+
+ # Try to find the model instance
+ try:
+ instance = model_class.objects.get(pk=value)
+ except (model_class.DoesNotExist, ValueError):
+ # If the model instance does not exist, then we can return an empty queryset
+ raise ValidationError({
+ 'exists_for_model_id': 'Invalid model id provided - no such instance for the given model type'
+ })
+
+ # If the provided model is a "tree" structure, then we should also include any child objects in the filter
+ if isinstance(instance, InvenTree.models.InvenTreeTree):
+ id_values = list(
+ instance.get_descendants(include_self=True).values_list('pk', flat=True)
+ )
+ else:
+ id_values = [instance.pk]
+
+ # Now, filter against model type and model id
+ queryset = queryset.prefetch_related('parameters')
+
+ filters = {'model_type': content_type, 'model_id__in': id_values}
+
+ # Annotate the queryset to determine which ParameterTemplates have at least one Parameter defined
+ queryset = queryset.annotate(
+ parameter_count=SubqueryCount('parameters', filter=Q(**filters))
+ )
+
+ return queryset.filter(parameter_count__gt=0)
+
+ exists_for_related_model = rest_filters.CharFilter(
+ method='filter_exists_for_related_model', label='Exists For Related Model'
+ )
+
+ def filter_exists_for_related_model(self, queryset, name, value):
+ """Filter applied to map parameter templates to a particular model relation against the target model.
+
+ For instance, specify 'category' to filter part parameters which exist for any part in that category.
+
+ Note:
+ - This filter has no effect on its own
+ - It requires the 'exists_for_model' filter to be applied (to specify the base model)
+ - It requires the 'exists_for_related_model_id' filter to be applied also (to specify the related model id)
+ """
+ return queryset
+
+ exists_for_related_model_id = rest_filters.NumberFilter(
+ method='filter_exists_for_related_model_id', label='Exists For Model ID'
+ )
+
+ def filter_exists_for_related_model_id(self, queryset, name, value):
+ """Filter queryset to include only ParameterTemplates which have at least one Parameter for the given related model type and model id.
+
+ Notes:
+ - This filter can only be applied if the 'exists_for_model' filter is also applied, as the model_id is only meaningful in the context of a base model
+ - This filter can only be applied if the 'exists_for_related_model' filter is also applied, as the related model id is only meaningful in the context of a particular model relation
+
+ Example: To filter part parameters which have at least one parameter defined for any part in category 5, you could apply the following filters:
+ - exists_for_model=part
+ - exists_for_related_model=category
+ - exists_for_related_model_id=5
+ """
+ model = self.request.query_params.get('exists_for_model', None)
+ related_model = self.request.query_params.get('exists_for_related_model', None)
+
+ if not model or not related_model:
+ raise ValidationError({
+ 'exists_for_model': 'Invalid model type provided - unable to determine content type'
+ })
+
+ # Determine content type for the base model, to ensure they are valid
+ model_type = common.filters.determine_content_type(model)
+
+ if not model_type:
+ return queryset.none()
+
+ # Determine the model class for the 'related' model
+ try:
+ related_model_field = model_type.model_class()._meta.get_field(
+ related_model
+ )
+ except FieldDoesNotExist:
+ raise ValidationError({
+ 'exists_for_related_model': 'Invalid related model - no such field on the base model'
+ })
+ if related_model_field := model_type.model_class()._meta.get_field(
+ related_model
+ ):
+ related_model_class = related_model_field.related_model
+ else:
+ # Return an empty queryset if the provided related model is invalid
+ return queryset.none()
+
+ # Find all instances of the related model which match the provided related model id
+ try:
+ related_instance = related_model_class.objects.get(pk=value)
+ except (related_model_class.DoesNotExist, ValueError):
+ return queryset.none()
+
+ # Account for potential tree structure in the related model
+ if isinstance(related_instance, InvenTree.models.InvenTreeTree):
+ related_instances = list(
+ related_instance.get_descendants(include_self=True).values_list(
+ 'pk', flat=True
+ )
+ )
+ else:
+ related_instances = [related_instance.pk]
+
+ # Next, find all instances of the base model which are related to the related model instances
+ model_instances = model_type.model_class().objects.filter(**{
+ f'{related_model}__in': related_instances
+ })
+ model_instance_ids = list(model_instances.values_list('pk', flat=True))
+
+ # Now, filter against model type and model id
+ queryset = queryset.prefetch_related('parameters')
+
+ filters = {'model_type': model_type, 'model_id__in': model_instance_ids}
+
+ # Annotate the queryset to determine which ParameterTemplates have at least one Parameter defined
+ queryset = queryset.annotate(
+ parameter_count=SubqueryCount('parameters', filter=Q(**filters))
+ )
+
+ return queryset.filter(parameter_count__gt=0)
+
class ParameterTemplateMixin:
"""Mixin class for ParameterTemplate views."""
@@ -909,7 +1091,7 @@ class ParameterList(
"""List API endpoint for Parameter objects."""
filterset_class = ParameterFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_fields = ['name', 'data', 'units', 'template', 'updated', 'updated_by']
@@ -996,6 +1178,22 @@ class DataOutputEndpointMixin:
serializer_class = common.serializers.DataOutputSerializer
permission_classes = [IsAuthenticatedOrReadScope]
+ def get_queryset(self):
+ """Return the set of DataOutput objects which the user has permission to view."""
+ queryset = super().get_queryset()
+
+ try:
+ user = self.request.user
+ except AttributeError:
+ return common.models.DataOutput.objects.none()
+
+ # Allow staff users access to all DataOutput objects
+ if user.is_staff:
+ return queryset
+
+ # All other users are limited to viewing their own DataOutput objects
+ return queryset.filter(user=user)
+
class DataOutputList(DataOutputEndpointMixin, BulkDeleteMixin, ListAPI):
"""List view for DataOutput objects."""
@@ -1065,6 +1263,92 @@ class TestEmail(CreateAPI):
) # pragma: no cover
+class HealthCheckStatusSerializer(serializers.Serializer):
+ """Status of the overall system health."""
+
+ status = serializers.ChoiceField(
+ help_text='Health status of the InvenTree server',
+ choices=['ok', 'loading'],
+ read_only=True,
+ default='ok',
+ )
+
+
+class HealthCheckView(APIView):
+ """Simple JSON endpoint for InvenTree health check.
+
+ Intended to be used by external services to confirm that the InvenTree server is running.
+ """
+
+ permission_classes = [AllowAnyOrReadScope]
+
+ @extend_schema(
+ responses={
+ 200: OpenApiResponse(
+ response=HealthCheckStatusSerializer,
+ description='InvenTree server health status',
+ )
+ }
+ )
+ def get(self, request, *args, **kwargs):
+ """Simple health check endpoint for monitoring purposes.
+
+ Use the root API endpoint for more detailed information (using an authenticated request).
+ """
+ status = (
+ InvenTree.ready.isPluginRegistryLoaded()
+ if settings.PLUGINS_ENABLED
+ else True
+ )
+ return JsonResponse(
+ {'status': 'ok' if status else 'loading'}, status=200 if status else 503
+ )
+
+
+class ObservabilityEndSerializer(serializers.Serializer):
+ """Serializer for observability end endpoint."""
+
+ traceid = serializers.CharField(
+ help_text='Trace ID to end', max_length=128, required=True
+ )
+ service = serializers.CharField(
+ help_text='Service name', max_length=128, required=True
+ )
+
+
+class ObservabilityEnd(CreateAPI):
+ """Endpoint for observability tools."""
+
+ permission_classes = [AllowAnyOrReadScope]
+ serializer_class = ObservabilityEndSerializer
+
+ def create(self, request, *args, **kwargs):
+ """End a trace in the observability system."""
+ if not settings.TRACING_ENABLED:
+ return Response({'status': 'ok'})
+
+ data = self.get_serializer(data=request.data)
+ data.is_valid(raise_exception=True)
+
+ traceid = data.validated_data['traceid']
+ # service = data.validated_data['service'] # This will become interesting with frontend observability
+
+ # End the foreign trend via the low level otel API
+ tracer = trace.get_tracer(__name__)
+ span_context = trace.SpanContext(
+ trace_id=int(traceid, 16),
+ span_id=0,
+ is_remote=True,
+ trace_flags=trace.TraceFlags(0x01),
+ trace_state=trace.TraceState(),
+ )
+ with tracer.start_span('Ending session') as span:
+ span.add_event('Ending external trace')
+ span.add_link(span_context)
+
+ return Response({'status': 'ok'})
+
+
selection_urls = [
path(
'/',
@@ -1144,6 +1428,9 @@ common_api_urls = [
name='api-scheduled-task-list',
),
path('failed/', FailedTaskList.as_view(), name='api-failed-task-list'),
+ path(
+ '/', BackgroundTaskDetail.as_view(), name='api-task-detail'
+ ),
path('', BackgroundTaskOverview.as_view(), name='api-task-overview'),
]),
),
@@ -1154,11 +1441,7 @@ common_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=common.models.Attachment),
- name='api-attachment-metadata',
- ),
+ meta_path(common.models.Attachment),
path('', AttachmentDetail.as_view(), name='api-attachment-detail'),
]),
),
@@ -1175,13 +1458,7 @@ common_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(
- model=common.models.ParameterTemplate
- ),
- name='api-parameter-template-metadata',
- ),
+ meta_path(common.models.ParameterTemplate),
path(
'',
ParameterTemplateDetail.as_view(),
@@ -1199,11 +1476,7 @@ common_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=common.models.Parameter),
- name='api-parameter-metadata',
- ),
+ meta_path(common.models.Parameter),
path('', ParameterDetail.as_view(), name='api-parameter-detail'),
]),
),
@@ -1217,6 +1490,22 @@ common_api_urls = [
path('', ErrorMessageList.as_view(), name='api-error-list'),
]),
),
+ # Metadata
+ path(
+ 'metadata/',
+ include([
+ path(
+ '///',
+ GenericMetadataView.as_view(),
+ name='api-generic-metadata',
+ ),
+ path(
+ '//',
+ SimpleGenericMetadataView.as_view(),
+ name='api-generic-metadata',
+ ),
+ ]),
+ ),
# Project codes
path(
'project-code/',
@@ -1224,14 +1513,7 @@ common_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(
- model=common.models.ProjectCode,
- permission_classes=[IsStaffOrReadOnlyScope],
- ),
- name='api-project-code-metadata',
- ),
+ meta_path(common.models.ProjectCode),
path(
'', ProjectCodeDetail.as_view(), name='api-project-code-detail'
),
@@ -1345,6 +1627,26 @@ common_api_urls = [
path('', DataOutputList.as_view(), name='api-data-output-list'),
]),
),
+ # System APIs (related to basic system functions)
+ path(
+ 'system/',
+ include([
+ # Health check
+ path('health/', HealthCheckView.as_view(), name='api-system-health')
+ ]),
+ ),
+ # Internal System APIs - DO NOT USE
+ path(
+ 'system-internal/',
+ include([
+ # Observability
+ path(
+ 'observability/end',
+ ObservabilityEnd.as_view(),
+ name='api-system-observability',
+ )
+ ]),
+ ),
]
admin_api_urls = [
diff --git a/src/backend/InvenTree/common/currency.py b/src/backend/InvenTree/common/currency.py
index 6146c321c7..adb3b55cff 100644
--- a/src/backend/InvenTree/common/currency.py
+++ b/src/backend/InvenTree/common/currency.py
@@ -19,6 +19,11 @@ logger = structlog.get_logger('inventree')
def currency_code_default(create: bool = True):
"""Returns the default currency code (or USD if not specified)."""
from common.settings import get_global_setting
+ from InvenTree.ready import isRunningBackup, isRunningMigrations
+
+ if isRunningMigrations() or isRunningBackup():
+ # Prevent database writes during migration or backup operations
+ create = False
code = ''
@@ -225,6 +230,6 @@ def get_price(
quantity = decimal.Decimal(f'{quantity}')
if pb_found:
- cost = pb_cost * quantity
+ cost = decimal.Decimal(pb_cost) * quantity
return InvenTree.helpers.normalize(cost + instance.base_cost)
return None
diff --git a/src/backend/InvenTree/common/models.py b/src/backend/InvenTree/common/models.py
index 6e1dbd2e5f..42bd00f119 100644
--- a/src/backend/InvenTree/common/models.py
+++ b/src/backend/InvenTree/common/models.py
@@ -85,8 +85,8 @@ class RenderMeta(enums.ChoicesType):
return []
-class RenderChoices(models.TextChoices, metaclass=RenderMeta): # type: ignore
- """Class for creating enumerated string choices for schema rendering."""
+class RenderChoices(models.TextChoices, metaclass=RenderMeta):
+ """Class for creating enumerated string choices for schema rendering.""" # ty:ignore[conflicting-metaclass]
class MetaMixin(models.Model):
@@ -148,6 +148,8 @@ class UpdatedUserMixin(models.Model):
class ProjectCode(InvenTree.models.InvenTreeMetadataModel):
"""A ProjectCode is a unique identifier for a project."""
+ IMPORT_ID_FIELDS = ['code']
+
class Meta:
"""Class options for the ProjectCode model."""
@@ -970,6 +972,22 @@ class BaseInvenTreeSetting(models.Model):
return setting.get('model', None)
+ def confirm(self) -> bool:
+ """Return if this setting requires confirmation on change."""
+ setting = self.get_setting_definition(
+ self.key, **self.get_filters_for_instance()
+ )
+
+ return setting.get('confirm', False)
+
+ def confirm_text(self) -> str:
+ """Return the confirmation text for this setting, if provided."""
+ setting = self.get_setting_definition(
+ self.key, **self.get_filters_for_instance()
+ )
+
+ return setting.get('confirm_text', '')
+
def model_filters(self) -> Optional[dict]:
"""Return the model filters associated with this setting."""
setting = self.get_setting_definition(
@@ -1066,7 +1084,7 @@ class BaseInvenTreeSetting(models.Model):
return self.__class__.validator_is_bool(validator)
- def as_bool(self):
+ def as_bool(self) -> bool:
"""Return the value of this setting converted to a boolean value.
Warning: Only use on values where is_bool evaluates to true!
@@ -1200,7 +1218,9 @@ class InvenTreeSetting(BaseInvenTreeSetting):
even if that key does not exist.
"""
- SETTINGS: dict[str, InvenTreeSettingsKeyType]
+ from common.setting.system import SYSTEM_SETTINGS
+
+ SETTINGS: dict[str, InvenTreeSettingsKeyType] = SYSTEM_SETTINGS
CHECK_SETTING_KEY = True
@@ -1266,9 +1286,6 @@ class InvenTreeSetting(BaseInvenTreeSetting):
The keys must be upper-case
"""
- from common.setting.system import SYSTEM_SETTINGS
-
- SETTINGS = SYSTEM_SETTINGS
typ = 'inventree'
@@ -1294,6 +1311,8 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
import common.setting.user
+ SETTINGS = common.setting.user.USER_SETTINGS
+
CHECK_SETTING_KEY = True
class Meta:
@@ -1305,8 +1324,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
models.UniqueConstraint(fields=['key', 'user'], name='unique key and user')
]
- SETTINGS = common.setting.user.USER_SETTINGS
-
typ = 'user'
extra_unique_fields = ['user']
@@ -2381,6 +2398,8 @@ class ParameterTemplate(
enabled: Is this template enabled?
"""
+ IMPORT_ID_FIELDS = ['name']
+
class Meta:
"""Metaclass options for the ParameterTemplate model."""
diff --git a/src/backend/InvenTree/common/notifications.py b/src/backend/InvenTree/common/notifications.py
index bae8fe913a..880b5ba64e 100644
--- a/src/backend/InvenTree/common/notifications.py
+++ b/src/backend/InvenTree/common/notifications.py
@@ -177,9 +177,9 @@ def trigger_notification(obj: Model, category: str = '', obj_ref: str = 'pk', **
# Filter out any users who are inactive, or do not have the required model permissions
valid_users = list(
filter(
- lambda u: u
- and u.is_active
- and (not obj or check_user_permission(u, obj, 'view')),
+ lambda u: (
+ u and u.is_active and (not obj or check_user_permission(u, obj, 'view'))
+ ),
list(target_users),
)
)
diff --git a/src/backend/InvenTree/common/serializers.py b/src/backend/InvenTree/common/serializers.py
index d2fee07132..574c45f265 100644
--- a/src/backend/InvenTree/common/serializers.py
+++ b/src/backend/InvenTree/common/serializers.py
@@ -42,7 +42,7 @@ class SettingsValueField(serializers.Field):
"""Return the object instance, not the attribute value."""
return instance
- def to_representation(self, instance: common_models.InvenTreeSetting) -> str:
+ def to_representation(self, instance: common_models.InvenTreeSetting):
"""Return the value of the setting.
Protected settings are returned as '***'
@@ -88,6 +88,18 @@ class SettingsSerializer(InvenTreeModelSerializer):
choices = serializers.SerializerMethodField()
+ def get_choices(self, obj) -> list:
+ """Returns the choices available for a given item."""
+ results = []
+
+ choices = obj.choices()
+
+ if choices:
+ for choice in choices:
+ results.append({'value': choice[0], 'display_name': choice[1]})
+
+ return results
+
model_name = serializers.CharField(read_only=True, allow_null=True)
model_filters = serializers.DictField(read_only=True)
@@ -108,17 +120,26 @@ class SettingsSerializer(InvenTreeModelSerializer):
typ = serializers.CharField(read_only=True)
- def get_choices(self, obj) -> list:
- """Returns the choices available for a given item."""
- results = []
+ confirm = serializers.BooleanField(
+ read_only=True,
+ help_text=_('Indicates if changing this setting requires confirmation'),
+ )
- choices = obj.choices()
+ confirm_text = serializers.CharField(read_only=True)
- if choices:
- for choice in choices:
- results.append({'value': choice[0], 'display_name': choice[1]})
-
- return results
+ def is_valid(self, *, raise_exception=False):
+ """Validate the setting, including confirmation if required."""
+ ret = super().is_valid(raise_exception=raise_exception)
+ # Check if confirmation was provided if required
+ if self.instance.confirm():
+ req_data = self.context['request'].data
+ if not 'manual_confirm' in req_data or not req_data['manual_confirm']:
+ raise serializers.ValidationError({
+ 'manual_confirm': _(
+ 'This setting requires confirmation before changing. Please confirm the change.'
+ )
+ })
+ return ret
class GlobalSettingsSerializer(SettingsSerializer):
@@ -141,6 +162,8 @@ class GlobalSettingsSerializer(SettingsSerializer):
'api_url',
'typ',
'read_only',
+ 'confirm',
+ 'confirm_text',
]
read_only = serializers.SerializerMethodField(
@@ -184,6 +207,8 @@ class UserSettingsSerializer(SettingsSerializer):
'model_name',
'api_url',
'typ',
+ 'confirm',
+ 'confirm_text',
]
user = serializers.PrimaryKeyRelatedField(read_only=True)
@@ -232,6 +257,8 @@ class GenericReferencedSettingSerializer(SettingsSerializer):
'typ',
'units',
'required',
+ 'confirm',
+ 'confirm_text',
]
# set Meta class
@@ -354,7 +381,7 @@ class ConfigSerializer(serializers.Serializer):
"""Return the configuration data as a dictionary."""
if not isinstance(instance, str):
instance = list(instance.keys())[0]
- return {'key': instance, **self.instance[instance]}
+ return {'key': instance, **self.instance.get(instance)}
class NotesImageSerializer(InvenTreeModelSerializer):
@@ -430,7 +457,7 @@ class FlagSerializer(serializers.Serializer):
data = {'key': instance, 'state': flag_state(instance, request=request)}
if request and request.user.is_superuser:
- data['conditions'] = self.instance[instance]
+ data['conditions'] = self.instance.get(instance)
return data
@@ -495,6 +522,78 @@ class ErrorMessageSerializer(InvenTreeModelSerializer):
read_only_fields = ['when', 'info', 'data', 'path', 'pk']
+class TaskDetailSerializer(serializers.Serializer):
+ """Serializer for a background task detail."""
+
+ task_id = serializers.CharField(read_only=True)
+ exists = serializers.BooleanField(read_only=True)
+ pending = serializers.BooleanField(read_only=True)
+ complete = serializers.BooleanField(read_only=True)
+ success = serializers.BooleanField(read_only=True)
+ http_status = serializers.IntegerField(read_only=True)
+
+ @classmethod
+ def from_task(cls, task_id: str | bool | None) -> 'TaskDetailSerializer':
+ """Create a TaskDetailSerializer instance from a django_q Task.
+
+ Arguments:
+ task_id: The ID of the task to retrieve details for.
+
+ Returns:
+ An instance of TaskDetailSerializer with the task details.
+
+ Notes:
+ - If the provided task_id is None, the task has not been run, or has errored out
+ - If the provided task_id is a boolean, the task has been run synchronously, and the boolean value indicates success or failure
+ - If the provided task_id is a string, the task has been offloaded to the background worker, and the details can be from the database
+
+ """
+ from InvenTree.tasks import get_queued_task
+
+ if task_id is None or type(task_id) is bool:
+ # If the task_id is a boolean, the task has been run synchronously
+ return cls({
+ 'task_id': '',
+ 'exists': False,
+ 'pending': False,
+ 'complete': task_id is not None,
+ 'success': False if task_id is None else bool(task_id),
+ 'http_status': 404 if task_id is None else 200,
+ })
+
+ # A non-boolean result indicates that the task has been offloaded to the background worker
+ success = django_q.models.Success.objects.filter(id=task_id).first()
+ failure = django_q.models.Failure.objects.filter(id=task_id).first()
+ task = (
+ success
+ or failure
+ or django_q.models.Task.objects.filter(id=task_id).first()
+ )
+ queued = False
+
+ exists = bool(success or failure or task)
+
+ if not exists:
+ # If the task has not been started yet, it may be present in the queue
+ queued = bool(get_queued_task(task_id))
+
+ complete = bool(success) or bool(failure)
+
+ # Determine the http_status code for the task
+ # - 200: Task exists and has been completed
+ # - 404: Task does not exist
+ http_status = 200 if exists or queued else 404
+
+ return cls({
+ 'task_id': task_id,
+ 'exists': exists or queued,
+ 'pending': queued,
+ 'complete': complete,
+ 'success': bool(success),
+ 'http_status': http_status,
+ })
+
+
class TaskOverviewSerializer(serializers.Serializer):
"""Serializer for background task overview."""
@@ -808,7 +907,9 @@ class ParameterSerializer(
)
updated_by_detail = enable_filter(
- UserSerializer(source='updated_by', read_only=True, many=False),
+ UserSerializer(
+ source='updated_by', read_only=True, allow_null=True, many=False
+ ),
True,
prefetch_fields=['updated_by'],
)
diff --git a/src/backend/InvenTree/common/setting/system.py b/src/backend/InvenTree/common/setting/system.py
index 087e494400..00fb35a558 100644
--- a/src/backend/InvenTree/common/setting/system.py
+++ b/src/backend/InvenTree/common/setting/system.py
@@ -11,7 +11,7 @@ from django.core.exceptions import FieldDoesNotExist, ValidationError
from django.core.validators import MaxValueValidator, MinValueValidator, URLValidator
from django.utils.translation import gettext_lazy as _
-from jinja2 import Template
+from jinja2.sandbox import SandboxedEnvironment
import build.validators
import common.currency
@@ -52,7 +52,7 @@ def validate_part_name_format(value):
p = Part(name='test part', description='some test part')
try:
- Template(value).render({'part': p})
+ SandboxedEnvironment().from_string(value).render({'part': p})
except Exception as exc:
raise ValidationError({'value': str(exc)})
@@ -106,6 +106,20 @@ def reload_plugin_registry(setting):
registry.reload_plugins(full_reload=True, force_reload=True, collect=True)
+def enforce_mfa(setting):
+ """Enforce multifactor authentication for all users."""
+ from allauth.usersessions.models import UserSession
+
+ from common.models import logger
+
+ logger.info(
+ 'Enforcing multifactor authentication for all users by signing out all sessions.'
+ )
+ for session in UserSession.objects.all():
+ session.end()
+ logger.info('All user sessions have been ended.')
+
+
def barcode_plugins() -> list:
"""Return a list of plugin choices which can be used for barcode generation."""
try:
@@ -623,6 +637,14 @@ SYSTEM_SETTINGS: dict[str, InvenTreeSettingsKeyType] = {
'default': False,
'validator': bool,
},
+ 'PART_BOM_ALLOW_ZERO_QUANTITY': {
+ 'name': _('Allow BOM Zero Quantity'),
+ 'description': _(
+ 'Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity'
+ ),
+ 'default': False,
+ 'validator': bool,
+ },
'LABEL_ENABLE': {
'name': _('Enable label printing'),
'description': _('Enable label printing from the web interface'),
@@ -1007,6 +1029,11 @@ SYSTEM_SETTINGS: dict[str, InvenTreeSettingsKeyType] = {
'description': _('Users must use multifactor security.'),
'default': False,
'validator': bool,
+ 'confirm': True,
+ 'confirm_text': _(
+ 'Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately.'
+ ),
+ 'after_save': enforce_mfa,
},
'PLUGIN_ON_STARTUP': {
'name': _('Check plugins on startup'),
@@ -1080,7 +1107,7 @@ SYSTEM_SETTINGS: dict[str, InvenTreeSettingsKeyType] = {
'validator': bool,
},
'STOCKTAKE_ENABLE': {
- 'name': _('Enable Stock History'),
+ 'name': _('Enable Stocktake'),
'description': _(
'Enable functionality for recording historical stock levels and value'
),
@@ -1090,30 +1117,47 @@ SYSTEM_SETTINGS: dict[str, InvenTreeSettingsKeyType] = {
'STOCKTAKE_EXCLUDE_EXTERNAL': {
'name': _('Exclude External Locations'),
'description': _(
- 'Exclude stock items in external locations from stock history calculations'
+ 'Exclude stock items in external locations from stocktake calculations'
),
'validator': bool,
'default': False,
},
'STOCKTAKE_AUTO_DAYS': {
'name': _('Automatic Stocktake Period'),
- 'description': _('Number of days between automatic stock history recording'),
+ 'description': _('Number of days between automatic stocktake recording'),
'validator': [int, MinValueValidator(1)],
'default': 7,
'units': _('days'),
},
'STOCKTAKE_DELETE_OLD_ENTRIES': {
- 'name': _('Delete Old Stock History Entries'),
+ 'name': _('Delete Old Stocktake Entries'),
'description': _(
- 'Delete stock history entries older than the specified number of days'
+ 'Delete stocktake entries older than the specified number of days'
),
'default': False,
'validator': bool,
},
'STOCKTAKE_DELETE_DAYS': {
- 'name': _('Stock History Deletion Interval'),
+ 'name': _('Stocktake Deletion Interval'),
'description': _(
- 'Stock history entries will be deleted after specified number of days'
+ 'Stocktake entries will be deleted after specified number of days'
+ ),
+ 'default': 365,
+ 'units': _('days'),
+ 'validator': [int, MinValueValidator(30)],
+ },
+ 'STOCK_TRACKING_DELETE_OLD_ENTRIES': {
+ 'name': _('Delete Old Stock Tracking Entries'),
+ 'description': _(
+ 'Delete stock tracking entries older than the specified number of days'
+ ),
+ 'default': False,
+ 'validator': bool,
+ },
+ 'STOCK_TRACKING_DELETE_DAYS': {
+ 'name': _('Stock Tracking Deletion Interval'),
+ 'description': _(
+ 'Stock tracking entries will be deleted after specified number of days'
),
'default': 365,
'units': _('days'),
diff --git a/src/backend/InvenTree/common/setting/type.py b/src/backend/InvenTree/common/setting/type.py
index 5ec029f998..0e788c017f 100644
--- a/src/backend/InvenTree/common/setting/type.py
+++ b/src/backend/InvenTree/common/setting/type.py
@@ -26,12 +26,15 @@ class SettingsKeyType(TypedDict, total=False):
validator: Validation function/list of functions for the setting (optional, default: None, e.g: bool, int, str, MinValueValidator, ...)
default: Default value or function that returns default value (optional)
choices: Function that returns or value of list[tuple[str: key, str: display value]] (optional)
+ model_filters: Filters to apply when querying the associated model (optional)
hidden: Hide this setting from settings page (optional)
before_save: Function that gets called after save with *args, **kwargs (optional)
after_save: Function that gets called after save with *args, **kwargs (optional)
protected: Protected values are not returned to the client, instead "***" is returned (optional, default: False)
required: Is this setting required to work, can be used in combination with .check_all_settings(...) (optional, default: False)
model: Auto create a dropdown menu to select an associated model instance (e.g. 'company.company', 'auth.user' and 'auth.group' are possible too, optional)
+ confirm: Require an explicit confirmation before changing the setting (optional, default: False)
+ confirm_text: Text to display in the confirmation dialog (optional)
"""
name: str
@@ -40,12 +43,15 @@ class SettingsKeyType(TypedDict, total=False):
validator: Callable | list[Callable] | tuple[Callable]
default: Callable | Any
choices: list[tuple[str, str]] | Callable[[], list[tuple[str, str]]]
+ model_filters: dict[str, Any]
hidden: bool
before_save: Callable[..., None]
after_save: Callable[..., None]
protected: bool
required: bool
model: str
+ confirm: bool
+ confirm_text: str
class InvenTreeSettingsKeyType(SettingsKeyType):
diff --git a/src/backend/InvenTree/common/settings.py b/src/backend/InvenTree/common/settings.py
index c721d8c346..79cda8ca50 100644
--- a/src/backend/InvenTree/common/settings.py
+++ b/src/backend/InvenTree/common/settings.py
@@ -44,6 +44,11 @@ def get_global_setting(key, backup_value=None, environment_key=None, **kwargs):
def set_global_setting(key, value, change_user=None, create=True, **kwargs):
"""Set the value of a global setting using the provided key."""
from common.models import InvenTreeSetting
+ from InvenTree.ready import canAppAccessDatabase
+
+ if not canAppAccessDatabase(allow_shell=True, allow_test=True):
+ logger.info(f'Cannot set global setting "{key}" - database is not accessible')
+ return False
kwargs['change_user'] = change_user
kwargs['create'] = create
diff --git a/src/backend/InvenTree/common/test_api.py b/src/backend/InvenTree/common/test_api.py
index 4e77eacf85..1feffb0b6f 100644
--- a/src/backend/InvenTree/common/test_api.py
+++ b/src/backend/InvenTree/common/test_api.py
@@ -6,6 +6,44 @@ import common.models
from InvenTree.unit_test import InvenTreeAPITestCase
+class DataOutputAPITests(InvenTreeAPITestCase):
+ """API tests for the DataOutput endpoint."""
+
+ roles = 'all'
+
+ def setUp(self):
+ """Set up some test data for DataOutput API testing."""
+ from report.models import DataOutput
+
+ super().setUp()
+
+ for ii in range(5):
+ DataOutput.objects.create(
+ output_type='test_output',
+ user=self.user if ii % 2 == 0 else None,
+ complete=ii % 2 == 1,
+ )
+
+ def test_data_output_list(self):
+ """Test the DataOutput API list endpoint."""
+ url = reverse('api-data-output-list')
+
+ # Non-staff user should only see outputs which are either enabled for all users, or created by themselves
+ self.user.is_staff = False
+ self.user.save()
+ response = self.get(url)
+ self.assertEqual(len(response.data), 3)
+
+ for output in response.data:
+ self.assertEqual(output['user'], self.user.pk)
+
+ # Set staff access = True, so we should see all outputs
+ self.user.is_staff = True
+ self.user.save()
+ response = self.get(url)
+ self.assertEqual(len(response.data), 5)
+
+
class ParameterAPITests(InvenTreeAPITestCase):
"""Tests for the Parameter API."""
@@ -237,6 +275,217 @@ class ParameterAPITests(InvenTreeAPITestCase):
f'Incorrect number of templates for model "{model_name}"',
)
+ def test_template_extended_filters(self):
+ """Unit testing for more complex filters on the ParameterTemplate endpoint.
+
+ Ref: https://github.com/inventree/InvenTree/pull/11383
+
+ In these tests we will filter by complex model relations.
+ """
+ from part.models import Part, PartCategory
+
+ # Create some part categories
+ cat_mech = PartCategory.objects.create(
+ name='Mechanical', description='Mechanical components'
+ )
+ cat_elec = PartCategory.objects.create(
+ name='Electronics', description='Electronic components'
+ )
+ cat_pass = PartCategory.objects.create(
+ name='Passive', description='Passive electronic components', parent=cat_elec
+ )
+ cat_res = PartCategory.objects.create(
+ name='Resistors', description='Resistor components', parent=cat_pass
+ )
+ cat_cap = PartCategory.objects.create(
+ name='Capacitors', description='Capacitor components', parent=cat_pass
+ )
+
+ # Create some parts
+ capacitors = [
+ Part.objects.create(
+ name=f'Capacitor {ii}', description='A capacitor', category=cat_cap
+ )
+ for ii in range(5)
+ ]
+
+ resistors = [
+ Part.objects.create(
+ name=f'Resistor {ii}', description='A resistor', category=cat_res
+ )
+ for ii in range(5)
+ ]
+
+ # Create some ParameterTemplates which relate to the category of the part
+ resistance = common.models.ParameterTemplate.objects.create(
+ name='Resistance', description='The resistance of a part', units='Ohms'
+ )
+
+ capacitance = common.models.ParameterTemplate.objects.create(
+ name='Capacitance', description='The capacitance of a part', units='Farads'
+ )
+
+ tolerance = common.models.ParameterTemplate.objects.create(
+ name='Tolerance', description='The tolerance of a part', units='%'
+ )
+
+ for idx, resistor in enumerate(resistors):
+ common.models.Parameter.objects.create(
+ template=resistance,
+ model_type=resistor.get_content_type(),
+ model_id=resistor.pk,
+ data=f'{10 * (idx + 1)}k',
+ )
+
+ common.models.Parameter.objects.create(
+ template=tolerance,
+ model_type=resistor.get_content_type(),
+ model_id=resistor.pk,
+ data=f'{idx + 1}%',
+ )
+
+ for idx, capacitor in enumerate(capacitors):
+ common.models.Parameter.objects.create(
+ template=capacitance,
+ model_type=capacitor.get_content_type(),
+ model_id=capacitor.pk,
+ data=f'{10 * (idx + 1)}uF',
+ )
+
+ common.models.Parameter.objects.create(
+ template=tolerance,
+ model_type=capacitor.get_content_type(),
+ model_id=capacitor.pk,
+ data=f'{5 * (idx + 1)}%',
+ )
+
+ # Ensure that we have the expected number of templates and parameters created for testing
+ self.assertEqual(common.models.ParameterTemplate.objects.count(), 3)
+ self.assertEqual(common.models.Parameter.objects.count(), 20)
+
+ # Now, we have some data - let's apply some filtering
+ url = reverse('api-parameter-template-list')
+
+ # Return *all* results, without filters
+ response = self.get(url)
+ self.assertEqual(len(response.data), 3)
+
+ # Filter by 'exists_for_model'
+ for model_name, count in {
+ 'part.part': 3,
+ 'part': 3,
+ 'company': 0,
+ 'build': 0,
+ }.items():
+ response = self.get(url, data={'exists_for_model': model_name})
+ n = len(response.data)
+ self.assertEqual(
+ n,
+ count,
+ f'Incorrect number of templates ({n}) for model "{model_name}"',
+ )
+
+ # Filter by 'exists_for_model' and 'exists_for_model_id'
+ res = resistors[0]
+ response = self.get(
+ url, data={'exists_for_model': 'part.part', 'exists_for_model_id': res.pk}
+ )
+
+ self.assertEqual(len(response.data), 2)
+ pk_list = [t['pk'] for t in response.data]
+ self.assertIn(resistance.pk, pk_list)
+ self.assertIn(tolerance.pk, pk_list)
+
+ cap = capacitors[0]
+ response = self.get(
+ url, data={'exists_for_model': 'part.part', 'exists_for_model_id': cap.pk}
+ )
+ self.assertEqual(len(response.data), 2)
+ pk_list = [t['pk'] for t in response.data]
+ self.assertIn(capacitance.pk, pk_list)
+ self.assertIn(tolerance.pk, pk_list)
+
+ # Filter by 'exists_for_related_model' (test the "capacitor" relationship)
+
+ # Check the 'capacitor' category
+ response = self.get(
+ url,
+ data={
+ 'exists_for_model': 'part.part',
+ 'exists_for_related_model': 'category',
+ 'exists_for_related_model_id': cat_cap.pk,
+ },
+ )
+
+ self.assertEqual(len(response.data), 2)
+ pk_list = [t['pk'] for t in response.data]
+ self.assertIn(capacitance.pk, pk_list)
+ self.assertIn(tolerance.pk, pk_list)
+
+ # Check the 'electronics' category - this should return all parameters
+ response = self.get(
+ url,
+ data={
+ 'exists_for_model': 'part.part',
+ 'exists_for_related_model': 'category',
+ 'exists_for_related_model_id': cat_elec.pk,
+ },
+ )
+ self.assertEqual(len(response.data), 3)
+ pk_list = [t['pk'] for t in response.data]
+ self.assertIn(resistance.pk, pk_list)
+ self.assertIn(capacitance.pk, pk_list)
+ self.assertIn(tolerance.pk, pk_list)
+
+ # Check the 'mechanical' category - this should return no parameters
+ response = self.get(
+ url,
+ data={
+ 'exists_for_model': 'part.part',
+ 'exists_for_related_model': 'category',
+ 'exists_for_related_model_id': cat_mech.pk,
+ },
+ )
+
+ self.assertEqual(len(response.data), 0)
+
+ def test_invalid_filters(self):
+ """Test error messages for invalid filter combinations."""
+ url = reverse('api-parameter-template-list')
+
+ # Invalid 'exists_for_model' value
+ response = self.get(
+ url, {'exists_for_model': 'asdf---invalid---model'}, expected_code=400
+ )
+
+ self.assertIn(
+ 'Invalid model type provided', str(response.data['exists_for_model'])
+ )
+
+ # Invalid 'exists_for_model_id' value
+ for model_id in ['not_an_integer', -1, 9999]:
+ response = self.get(
+ url,
+ {'exists_for_model': 'part.part', 'exists_for_model_id': model_id},
+ expected_code=400,
+ )
+
+ # Invalid 'exists_for_related_model' value
+ response = self.get(
+ url,
+ {
+ 'exists_for_model': 'part',
+ 'exists_for_related_model': 'invalid_field',
+ 'exists_for_related_model_id': 1,
+ },
+ expected_code=400,
+ )
+
+ self.assertIn(
+ 'no such field on the base model',
+ str(response.data['exists_for_related_model']),
+ )
+
def test_parameter_api(self):
"""Test Parameter API functionality."""
# Create a simple part to test with
diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py
index 4cc16136bd..e6c850e0c3 100644
--- a/src/backend/InvenTree/common/tests.py
+++ b/src/backend/InvenTree/common/tests.py
@@ -408,6 +408,8 @@ class SettingsTest(InvenTreeTestCase):
'requires_restart',
'after_save',
'before_save',
+ 'confirm',
+ 'confirm_text',
]
for k in setting:
@@ -641,6 +643,18 @@ class GlobalSettingsApiTest(InvenTreeAPITestCase):
setting.refresh_from_db()
self.assertEqual(setting.value, val)
+ def test_mfa_change(self):
+ """Test that changes in LOGIN_ENFORCE_MFA are handled correctly."""
+ # Setup admin users
+ self.user.usersession_set.create(ip='192.168.1.1')
+ self.assertEqual(self.user.usersession_set.count(), 1)
+
+ # Enable enforced MFA
+ set_global_setting('LOGIN_ENFORCE_MFA', True)
+
+ # There should be no user sessions now
+ self.assertEqual(self.user.usersession_set.count(), 0)
+
def test_api_detail(self):
"""Test that we can access the detail view for a setting based on the ."""
# These keys are invalid, and should return 404
@@ -1093,6 +1107,41 @@ class TaskListApiTests(InvenTreeAPITestCase):
for task in response.data:
self.assertEqual(task['name'], 'time.sleep')
+ def test_task_detail(self):
+ """Test the BackgroundTaskDetail API endpoint."""
+ from InvenTree.tasks import offload_task
+
+ # Force run a task
+ result = offload_task('fake_module.test_task', force_sync=True)
+ self.assertFalse(result)
+ self.assertEqual(type(result), bool)
+
+ # Schedule a dummy task - and ensure it offloads to the worker
+ task_id = offload_task('fake_module.test_task', force_async=True)
+ self.assertIsNotNone(task_id)
+ self.assertEqual(type(task_id), str)
+
+ url = reverse('api-task-detail', kwargs={'task_id': task_id})
+
+ data = self.get(url, expected_code=200).data
+
+ self.assertEqual(data['task_id'], task_id)
+ self.assertTrue(data['exists'])
+ self.assertTrue(data['pending'])
+ self.assertFalse(data['complete'])
+ self.assertFalse(data['success'])
+
+ # Perform a lookup for a non-existent task
+ url = reverse('api-task-detail', kwargs={'task_id': 'doesnotexist'})
+
+ data = self.get(url, expected_code=404).data
+
+ self.assertEqual(data['task_id'], 'doesnotexist')
+ self.assertFalse(data['exists'])
+ self.assertFalse(data['pending'])
+ self.assertFalse(data['complete'])
+ self.assertFalse(data['success'])
+
class WebhookMessageTests(TestCase):
"""Tests for webhooks."""
@@ -1303,12 +1352,18 @@ class NotificationTest(InvenTreeAPITestCase):
# Now, let's bulk delete all 'unread' notifications via the API,
# but only associated with the logged in user
- response = self.delete(url, {'filters': {'read': False}}, expected_code=200)
+ read_notifications = NotificationMessage.objects.filter(read=True)
+ response = self.delete(
+ url, {'items': [ntf.pk for ntf in read_notifications]}, expected_code=200
+ )
- # Only 7 notifications should have been deleted,
+ # Only 3 notifications should have been deleted,
# as the notifications associated with other users must remain untouched
- self.assertEqual(NotificationMessage.objects.count(), 13)
- self.assertEqual(NotificationMessage.objects.filter(user=self.user).count(), 3)
+ self.assertEqual(NotificationMessage.objects.count(), 17)
+ self.assertEqual(NotificationMessage.objects.filter(user=self.user).count(), 7)
+ self.assertEqual(
+ NotificationMessage.objects.filter(user=self.user, read=True).count(), 0
+ )
def test_simple(self):
"""Test that a simple notification can be created."""
@@ -1471,6 +1526,35 @@ class CommonTest(InvenTreeAPITestCase):
self.user.is_superuser = False
self.user.save()
+ def test_health_api(self):
+ """Test health check URL."""
+ from plugin import registry
+
+ # Fully started system - ok
+ response_data = self.get(reverse('api-system-health'), expected_code=200).json()
+ self.assertIn('status', response_data)
+ self.assertEqual(response_data['status'], 'ok')
+
+ # Simulate plugin reloading - Not ready
+ try:
+ registry.plugins_loaded = False
+ response_data = self.get(
+ reverse('api-system-health'), expected_code=503
+ ).json()
+ self.assertIn('status', response_data)
+ self.assertEqual(response_data['status'], 'loading')
+ finally:
+ registry.plugins_loaded = True
+
+ # No plugins enabled - still ok
+ with self.settings(PLUGINS_ENABLED=False):
+ self.assertEqual(
+ self.get(reverse('api-system-health'), expected_code=200).json()[
+ 'status'
+ ],
+ 'ok',
+ )
+
class CurrencyAPITests(InvenTreeAPITestCase):
"""Unit tests for the currency exchange API endpoints."""
diff --git a/src/backend/InvenTree/company/api.py b/src/backend/InvenTree/company/api.py
index 8ec8a4ae14..9ce3eaf27c 100644
--- a/src/backend/InvenTree/company/api.py
+++ b/src/backend/InvenTree/company/api.py
@@ -9,9 +9,9 @@ from django_filters.rest_framework.filterset import FilterSet
import part.models
from data_exporter.mixins import DataExportViewMixin
-from InvenTree.api import ListCreateDestroyAPIView, MetadataView, ParameterListMixin
+from InvenTree.api import ListCreateDestroyAPIView, ParameterListMixin, meta_path
from InvenTree.fields import InvenTreeOutputOption, OutputConfiguration
-from InvenTree.filters import SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS
+from InvenTree.filters import SEARCH_ORDER_FILTER
from InvenTree.mixins import (
ListCreateAPI,
OutputOptionsMixin,
@@ -200,6 +200,14 @@ class ManufacturerPartList(
filter_backends = SEARCH_ORDER_FILTER
output_options = ManufacturerOutputOptions
+ ordering_fields = ['part', 'IPN', 'MPN', 'manufacturer']
+
+ ordering_field_aliases = {
+ 'part': 'part__name',
+ 'IPN': 'part__IPN',
+ 'manufacturer': 'manufacturer__name',
+ }
+
search_fields = [
'manufacturer__name',
'description',
@@ -241,6 +249,8 @@ class SupplierPartFilter(FilterSet):
active = rest_filters.BooleanFilter(label=_('Supplier Part is Active'))
+ primary = rest_filters.BooleanFilter(label=_('Primary Supplier Part'))
+
# Filter by 'active' status of linked part
part_active = rest_filters.BooleanFilter(
field_name='part__active', label=_('Internal Part is Active')
@@ -350,16 +360,18 @@ class SupplierPartList(
"""
filterset_class = SupplierPartFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = SupplierPartOutputOptions
ordering_fields = [
- 'SKU',
'part',
'supplier',
'manufacturer',
'active',
+ 'primary',
+ 'IPN',
'MPN',
+ 'SKU',
'packaging',
'pack_quantity',
'in_stock',
@@ -370,8 +382,9 @@ class SupplierPartList(
'part': 'part__name',
'supplier': 'supplier__name',
'manufacturer': 'manufacturer_part__manufacturer__name',
- 'MPN': 'manufacturer_part__MPN',
'pack_quantity': ['pack_quantity_native', 'pack_quantity'],
+ 'IPN': 'part__IPN',
+ 'MPN': 'manufacturer_part__MPN',
}
search_fields = [
@@ -447,7 +460,11 @@ class SupplierPriceBreakOutputOptions(OutputConfiguration):
class SupplierPriceBreakList(
- SupplierPriceBreakMixin, SerializerContextMixin, OutputOptionsMixin, ListCreateAPI
+ DataExportViewMixin,
+ SupplierPriceBreakMixin,
+ SerializerContextMixin,
+ OutputOptionsMixin,
+ ListCreateAPI,
):
"""API endpoint for list view of SupplierPriceBreak object.
@@ -458,7 +475,7 @@ class SupplierPriceBreakList(
output_options = SupplierPriceBreakOutputOptions
filterset_class = SupplierPriceBreakFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_fields = ['quantity', 'supplier', 'SKU', 'price']
search_fields = ['part__SKU', 'part__supplier__name']
@@ -476,11 +493,7 @@ manufacturer_part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=ManufacturerPart),
- name='api-manufacturer-part-metadata',
- ),
+ meta_path(ManufacturerPart),
path(
'',
ManufacturerPartDetail.as_view(),
@@ -497,11 +510,7 @@ supplier_part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=SupplierPart),
- name='api-supplier-part-metadata',
- ),
+ meta_path(SupplierPart),
path('', SupplierPartDetail.as_view(), name='api-supplier-part-detail'),
]),
),
@@ -532,11 +541,7 @@ company_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=Company),
- name='api-company-metadata',
- ),
+ meta_path(Company),
path('', CompanyDetail.as_view(), name='api-company-detail'),
]),
),
@@ -546,11 +551,7 @@ company_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=Contact),
- name='api-contact-metadata',
- ),
+ meta_path(Contact),
path('', ContactDetail.as_view(), name='api-contact-detail'),
]),
),
diff --git a/src/backend/InvenTree/company/migrations/0078_supplierpart_primary.py b/src/backend/InvenTree/company/migrations/0078_supplierpart_primary.py
new file mode 100644
index 0000000000..0459589051
--- /dev/null
+++ b/src/backend/InvenTree/company/migrations/0078_supplierpart_primary.py
@@ -0,0 +1,22 @@
+# Generated by Django 5.2.11 on 2026-02-12 10:52
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("company", "0077_delete_manufacturerpartparameter"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="supplierpart",
+ name="primary",
+ field=models.BooleanField(
+ default=False,
+ help_text="Is this the primary supplier part for the linked Part?",
+ verbose_name="Primary",
+ ),
+ ),
+ ]
diff --git a/src/backend/InvenTree/company/migrations/0079_auto_20260212_1054.py b/src/backend/InvenTree/company/migrations/0079_auto_20260212_1054.py
new file mode 100644
index 0000000000..a045edae4a
--- /dev/null
+++ b/src/backend/InvenTree/company/migrations/0079_auto_20260212_1054.py
@@ -0,0 +1,55 @@
+# Generated by Django 5.2.11 on 2026-02-12 10:54
+
+from django.db import migrations
+
+
+def link_primary_supplier_part(apps, schema_editor):
+ """Mark 'primary' SupplierPart for each Part, if one exists."""
+
+ Part = apps.get_model("part", "Part")
+ SupplierPart = apps.get_model("company", "SupplierPart")
+
+ # Find any part which links to a "default_supplier"
+ primary_supplier_ids = Part.objects.exclude(
+ default_supplier=None,
+ ).values_list("default_supplier_id", flat=True).distinct()
+
+ if len(primary_supplier_ids) > 0:
+ # Mark the relevant SupplierPart objects as "primary"
+ SupplierPart.objects.filter(
+ pk__in=primary_supplier_ids
+ ).update(primary=True)
+
+ print(f"Marked {len(primary_supplier_ids)} SupplierPart objects as primary")
+
+
+def reverse_link_primary_supplier_part(apps, schema_editor):
+ """Add 'primary' SupplierPart for each Part."""
+
+ SupplierPart = apps.get_model("company", "SupplierPart")
+
+ # Find any SupplierPart object marked as "primary"
+ primary_supplier_parts = SupplierPart.objects.filter(primary=True)
+
+ if len(primary_supplier_parts) > 0:
+ # Unmark the relevant SupplierPart objects as "primary"
+
+ for supplier_part in primary_supplier_parts:
+ supplier_part.part.default_supplier = supplier_part
+ supplier_part.part.save()
+
+ print(f"Linked {len(primary_supplier_parts)} primary SupplierPart objects")
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("company", "0078_supplierpart_primary"),
+ ]
+
+ operations = [
+ migrations.RunPython(
+ code=link_primary_supplier_part,
+ reverse_code=reverse_link_primary_supplier_part,
+ ),
+ ]
diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py
index 96934ff277..431f7ae11b 100644
--- a/src/backend/InvenTree/company/models.py
+++ b/src/backend/InvenTree/company/models.py
@@ -2,6 +2,7 @@
import os
from decimal import Decimal
+from typing import TypedDict
from django.apps import apps
from django.conf import settings
@@ -53,7 +54,7 @@ def rename_company_image(instance, filename):
return os.path.join(base, fn)
-class CompanyReportContext(report.mixins.BaseReportContext):
+class CompanyReportContext(report.mixins.BaseReportContext, TypedDict):
"""Report context for the Company model.
Attributes:
@@ -111,6 +112,7 @@ class Company(
"""
IMAGE_RENAME = rename_company_image
+ IMPORT_ID_FIELDS = ['name']
class Meta:
"""Metaclass defines extra model options."""
@@ -242,7 +244,11 @@ class Company(
# We may have a pre-fetched primary address list
if hasattr(self, 'primary_address_list'):
addresses = self.primary_address_list
- return addresses[0] if len(addresses) > 0 else None
+ return (
+ addresses[0]
+ if len(addresses) > 0 and isinstance(addresses, list)
+ else None
+ )
# Otherwise, query the database
return self.addresses.filter(primary=True).first()
@@ -297,6 +303,8 @@ class Contact(InvenTree.models.InvenTreeMetadataModel):
role: position in company
"""
+ IMPORT_ID_FIELDS = ['name', 'email']
+
class Meta:
"""Metaclass defines extra model options."""
@@ -370,22 +378,19 @@ class Address(InvenTree.models.InvenTreeModel):
Rules:
- If this address is marked as "primary", ensure that all other addresses for this company are marked as non-primary
"""
- others = list(
- Address.objects.filter(company=self.company).exclude(pk=self.pk).all()
- )
+ others = Address.objects.filter(company=self.company).exclude(pk=self.pk)
# If this is the *only* address for this company, make it the primary one
- if len(others) == 0:
+ if not others.exists():
self.primary = True
super().save(*args, **kwargs)
# Once this address is saved, check others
if self.primary:
- for addr in others:
- if addr.primary:
- addr.primary = False
- addr.save()
+ Address.objects.filter(company=self.company).exclude(pk=self.pk).filter(
+ primary=True
+ ).update(primary=False)
@staticmethod
def get_api_url():
@@ -494,6 +499,8 @@ class ManufacturerPart(
description: Descriptive notes field
"""
+ IMPORT_ID_FIELDS = ['MPN']
+
class Meta:
"""Metaclass defines extra model options."""
@@ -607,6 +614,7 @@ class SupplierPart(
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
+ primary: Boolean value, is this the primary supplier part for the linked Part
SKU: Stock keeping unit (supplier part number)
link: Link to external website for this supplier part
description: Descriptive notes field
@@ -620,6 +628,8 @@ class SupplierPart(
updated: Date that the SupplierPart was last updated
"""
+ IMPORT_ID_FIELDS = ['SKU']
+
class Meta:
"""Metaclass defines extra model options."""
@@ -732,8 +742,21 @@ class SupplierPart(
self.clean()
self.validate_unique()
+ # Ensure that only one SupplierPart is marked as "primary" for a given Part
+ others = SupplierPart.objects.filter(part=self.part).exclude(pk=self.pk)
+
+ # If this is the *only* SupplierPart for this Part, make it the primary one
+ if not others.exists():
+ self.primary = True
+
super().save(*args, **kwargs)
+ # Once this SupplierPart is saved, check others
+ if self.primary:
+ SupplierPart.objects.filter(part=self.part).exclude(pk=self.pk).filter(
+ primary=True
+ ).update(primary=False)
+
part = models.ForeignKey(
'part.Part',
on_delete=models.CASCADE,
@@ -764,6 +787,12 @@ class SupplierPart(
help_text=_('Is this supplier part active?'),
)
+ primary = models.BooleanField(
+ default=False,
+ verbose_name=_('Primary'),
+ help_text=_('Is this the primary supplier part for the linked Part?'),
+ )
+
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 b3c936ae49..eae59f1980 100644
--- a/src/backend/InvenTree/company/serializers.py
+++ b/src/backend/InvenTree/company/serializers.py
@@ -268,11 +268,7 @@ class ManufacturerPartSerializer(
source='part', many=False, read_only=True, allow_null=True
),
True,
- prefetch_fields=[
- Prefetch(
- 'part', queryset=part.models.Part.objects.select_related('pricing_data')
- )
- ],
+ prefetch_fields=['part', 'part__pricing_data', 'part__category'],
)
pretty_name = enable_filter(
@@ -358,6 +354,7 @@ class SupplierPartSerializer(
'on_order',
'link',
'active',
+ 'primary',
'manufacturer_detail',
'manufacturer_part',
'manufacturer_part_detail',
@@ -438,7 +435,7 @@ class SupplierPartSerializer(
label=_('Part'), source='part', many=False, read_only=True, allow_null=True
),
False,
- prefetch_fields=['part'],
+ prefetch_fields=['part', 'part__pricing_data'],
)
supplier_detail = enable_filter(
@@ -544,8 +541,8 @@ class SupplierPartSerializer(
@register_importer()
class SupplierPriceBreakSerializer(
- SupplierPriceBreakBriefSerializer,
DataImportExportSerializerMixin,
+ SupplierPriceBreakBriefSerializer,
InvenTreeModelSerializer,
):
"""Serializer for SupplierPriceBreak object.
diff --git a/src/backend/InvenTree/company/test_api.py b/src/backend/InvenTree/company/test_api.py
index 3599160d93..6df854edd6 100644
--- a/src/backend/InvenTree/company/test_api.py
+++ b/src/backend/InvenTree/company/test_api.py
@@ -505,7 +505,9 @@ class ManufacturerTest(InvenTreeAPITestCase):
def test_manufacturer_part_detail(self):
"""Tests for the ManufacturerPart detail endpoint."""
- url = reverse('api-manufacturer-part-detail', kwargs={'pk': 1})
+ mp = ManufacturerPart.objects.first()
+
+ url = reverse('api-manufacturer-part-detail', kwargs={'pk': mp.pk})
response = self.get(url)
self.assertEqual(response.data['MPN'], 'MPN123')
@@ -710,6 +712,32 @@ class SupplierPartTest(InvenTreeAPITestCase):
for result in response.data:
self.assertEqual(result['supplier'], company.pk)
+ def test_primary(self):
+ """Test for the 'primary' field in the SupplierPart model."""
+ for sp in SupplierPart.objects.filter(part=1):
+ self.patch(
+ reverse('api-supplier-part-detail', kwargs={'pk': sp.pk}),
+ {'primary': True},
+ expected_code=200,
+ )
+
+ # Only one supplier part should be primary for this part
+ self.assertEqual(
+ SupplierPart.objects.filter(part=1, primary=True).count(), 1
+ )
+
+ # Filter via the API
+ response = self.get(
+ reverse('api-supplier-part-list'),
+ {'part': 1, 'primary': True},
+ expected_code=200,
+ )
+
+ self.assertEqual(len(response.data), 1)
+
+ self.assertEqual(SupplierPart.objects.filter(part=1).count(), 4)
+ self.assertEqual(SupplierPart.objects.filter(part=1, primary=False).count(), 3)
+
def test_filterable_fields(self):
"""Test inclusion/exclusion of optional API fields."""
fields = {
@@ -747,58 +775,6 @@ class SupplierPartTest(InvenTreeAPITestCase):
)
-class CompanyMetadataAPITest(InvenTreeAPITestCase):
- """Unit tests for the various metadata endpoints of API."""
-
- fixtures = [
- 'category',
- 'part',
- 'location',
- 'company',
- 'contact',
- 'manufacturer_part',
- 'supplier_part',
- ]
-
- roles = ['company.change', 'purchase_order.change', 'part.change']
-
- def metatester(self, apikey, model):
- """Generic tester."""
- modeldata = model.objects.first()
-
- # Useless test unless a model object is found
- self.assertIsNotNone(modeldata)
-
- url = reverse(apikey, kwargs={'pk': modeldata.pk})
-
- # Metadata is initially null
- self.assertIsNone(modeldata.metadata)
-
- numstr = f'12{len(apikey)}'
-
- self.patch(
- url,
- {'metadata': {f'abc-{numstr}': f'xyz-{apikey}-{numstr}'}},
- expected_code=200,
- )
-
- # Refresh
- modeldata.refresh_from_db()
- self.assertEqual(
- modeldata.get_metadata(f'abc-{numstr}'), f'xyz-{apikey}-{numstr}'
- )
-
- def test_metadata(self):
- """Test all endpoints."""
- for apikey, model in {
- 'api-manufacturer-part-metadata': ManufacturerPart,
- 'api-supplier-part-metadata': SupplierPart,
- 'api-company-metadata': Company,
- 'api-contact-metadata': Contact,
- }.items():
- self.metatester(apikey, model)
-
-
class SupplierPriceBreakAPITest(InvenTreeAPITestCase):
"""Unit tests for the SupplierPart price break API."""
diff --git a/src/backend/InvenTree/config_template.yaml b/src/backend/InvenTree/config_template.yaml
index a65509f072..ab5f232127 100644
--- a/src/backend/InvenTree/config_template.yaml
+++ b/src/backend/InvenTree/config_template.yaml
@@ -40,6 +40,10 @@ debug_silk: False
debug_silk_profiling: False
debug_shell: False
+# Schema generation options
+#schema:
+# level: 0 # Level of added schema extensions detail (0-3) 0 = including no additional detail, or use the environment variable INVENTREE_SCHEMA_LEVEL
+
# Set to False to disable the admin interface, or use the environment variable INVENTREE_ADMIN_ENABLED
#admin_enabled: True
@@ -223,6 +227,7 @@ ldap:
# navbar_message: InvenTree demo mode
# hide_admin_link: true
# hide_password_reset: true
+# disable_theme_storage: true
# logo: img/custom_logo.png
# splash: img/custom_splash.jpg
diff --git a/src/backend/InvenTree/data_exporter/mixins.py b/src/backend/InvenTree/data_exporter/mixins.py
index 316dfdfbce..f40ee113f2 100644
--- a/src/backend/InvenTree/data_exporter/mixins.py
+++ b/src/backend/InvenTree/data_exporter/mixins.py
@@ -304,7 +304,7 @@ class DataExportViewMixin:
"""Export the data in the specified format.
Arguments:
- export_plugin: The plugin instance to use for exporting the data
+ export_plugin: The plugin instance to use for exporting the data. If not provided, the default exporter is used
export_format: The file format to export the data in
export_context: Additional context data to pass to the plugin
output: The DataOutput object to write to
@@ -312,6 +312,11 @@ class DataExportViewMixin:
- By default, uses the provided serializer to generate the data, and return it as a file download.
- If a plugin is specified, the plugin can be used to augment or replace the export functionality.
"""
+ if export_plugin is None:
+ from plugin.registry import registry
+
+ export_plugin = registry.get_plugin('inventree-exporter')
+
# Get the base serializer class for the view
serializer_class = self.get_serializer_class()
@@ -337,6 +342,12 @@ class DataExportViewMixin:
# Update the output instance with the total number of items to export
output.total = queryset.count()
output.save()
+ request = context.get('request', None)
+
+ if request:
+ query_params = getattr(request, 'query_params', {})
+ context.update(**query_params)
+ context['request'] = request
data = None
serializer = serializer_class(context=context, exporting=True)
@@ -363,7 +374,12 @@ class DataExportViewMixin:
# The returned data *must* be a list of dict objects
try:
data = export_plugin.export_data(
- queryset, serializer_class, headers, export_context, output
+ queryset,
+ serializer_class,
+ headers,
+ export_context,
+ output,
+ serializer_context=context,
)
except Exception as e:
diff --git a/src/backend/InvenTree/generic/states/fields.py b/src/backend/InvenTree/generic/states/fields.py
index 9ffa81d8eb..0ca677b4ab 100644
--- a/src/backend/InvenTree/generic/states/fields.py
+++ b/src/backend/InvenTree/generic/states/fields.py
@@ -194,7 +194,7 @@ class InvenTreeCustomStatusSerializerMixin:
"""Ensure the custom field is updated if the leader was changed."""
self.gather_custom_fields()
# Mirror values from leader to follower
- for field in self._custom_fields_leader:
+ for field in self._custom_fields_leader or []:
follower_field_name = f'{field}_custom_key'
if (
field in self.initial_data
@@ -205,7 +205,7 @@ class InvenTreeCustomStatusSerializerMixin:
setattr(self.instance, follower_field_name, self.initial_data[field])
# Mirror values from follower to leader
- for field in self._custom_fields_follower:
+ for field in self._custom_fields_follower or []:
leader_field_name = field.replace('_custom_key', '')
if field in validated_data and leader_field_name not in self.initial_data:
try:
@@ -276,7 +276,7 @@ class InvenTreeCustomStatusSerializerMixin:
# Inherit choices from leader
self.gather_custom_fields()
- if field_name in self._custom_fields:
+ if self._custom_fields and field_name in self._custom_fields:
leader_field_name = field_name.replace('_custom_key', '')
leader_field = self.fields[leader_field_name]
if hasattr(leader_field, 'choices'):
diff --git a/src/backend/InvenTree/generic/states/states.py b/src/backend/InvenTree/generic/states/states.py
index d94793e748..697166645d 100644
--- a/src/backend/InvenTree/generic/states/states.py
+++ b/src/backend/InvenTree/generic/states/states.py
@@ -303,7 +303,20 @@ class StatusCodeMixin:
return getattr(self, f'{self.STATUS_FIELD}_custom_key', None)
def compare_status(self, status: int) -> bool:
- """Determine if the current status matches the provided status code."""
+ """Determine if the current status matches the provided status code.
+
+ Arguments:
+ status: The status code to compare against
+
+ Returns:
+ True if the status matches, False otherwise.
+ """
+ try:
+ status = int(status)
+ except (ValueError, TypeError):
+ # Value cannot be converted to integer - so it cannot match
+ return False
+
if status == self.get_status():
return True
@@ -327,6 +340,13 @@ class StatusCodeMixin:
else custom_values
)
+ # The status must be an integer
+ try:
+ status = int(status)
+ except (ValueError, TypeError):
+ logger.warning(f'Invalid status value {status} for class {self.__class__}')
+ return False
+
custom_field = f'{self.STATUS_FIELD}_custom_key'
result = False
diff --git a/src/backend/InvenTree/importer/models.py b/src/backend/InvenTree/importer/models.py
index 2705435aaf..76f5d8dcc9 100644
--- a/src/backend/InvenTree/importer/models.py
+++ b/src/backend/InvenTree/importer/models.py
@@ -2,6 +2,7 @@
import json
from collections import OrderedDict
+from datetime import datetime
from typing import Optional
from django.contrib.auth.models import User
@@ -151,6 +152,27 @@ class DataImportSession(models.Model):
return supported_models().get(self.model_type, None)
+ def get_related_model(self, field_name: str) -> Optional[models.Model]:
+ """Return the related model for a given field name.
+
+ Arguments:
+ field_name: The name of the field to check
+
+ Returns:
+ The related model class, if one exists, or None otherwise
+ """
+ model_class = self.model_class
+
+ if not model_class:
+ return None
+
+ try:
+ related_field = model_class._meta.get_field(field_name)
+ model = related_field.remote_field.model
+ return model
+ except (AttributeError, models.FieldDoesNotExist):
+ return None
+
def extract_columns(self) -> None:
"""Run initial column extraction and mapping.
@@ -530,6 +552,12 @@ class DataImportRow(models.Model):
self.valid = self.validate()
super().save(*args, **kwargs)
+ def delete(self, *args, **kwargs):
+ """Update the session progress when a row is deleted."""
+ session = self.session
+ super().delete(*args, **kwargs)
+ session.check_complete()
+
session = models.ForeignKey(
DataImportSession,
on_delete=models.CASCADE,
@@ -597,6 +625,8 @@ class DataImportRow(models.Model):
data = {}
+ self.related_field_map = {}
+
# We have mapped column (file) to field (serializer) already
for field, col in field_mapping.items():
# Data override (force value and skip any further checks)
@@ -622,7 +652,9 @@ class DataImportRow(models.Model):
if field_type == 'boolean':
value = InvenTree.helpers.str2bool(value)
elif field_type == 'date':
- value = value or None
+ value = self.convert_date_field(value)
+ elif field_type == 'related field':
+ value = self.lookup_related_field(field, value)
# Use the default value, if provided
if value is None and field in default_values:
@@ -667,6 +699,93 @@ class DataImportRow(models.Model):
if commit:
self.save()
+ def convert_date_field(self, value: str) -> Optional[str]:
+ """Convert an incoming date field to the correct format for the database."""
+ if value in [None, '']:
+ return None
+
+ # Attempt conversion using accepted formats
+ date_formats = ['%Y-%m-%d', '%d/%m/%Y', '%m/%d/%Y', '%Y/%m/%d']
+
+ for fmt in date_formats:
+ try:
+ dt = datetime.strptime(value.strip(), fmt)
+
+ # If the date is valid, convert it to the standard format and return
+ return dt.strftime('%Y-%m-%d')
+ except ValueError:
+ continue
+
+ # If none of the formats matched, return the original value
+ return value
+
+ def lookup_related_field(self, field_name: str, value: str) -> Optional[int]:
+ """Try to perform lookup against a related field.
+
+ - This is used to convert a human-readable value (e.g. a supplier name) into a database reference (e.g. supplier ID).
+ - Reference the value against the related model's allowable import fields
+
+ Arguments:
+ field_name: The name of the field to perform the lookup against
+ value: The value to be looked up
+
+ Returns:
+ A primary key value
+ """
+ if value is None or value == '':
+ return value
+
+ if field_name is None or field_name == '':
+ return value
+
+ if field_name in self.related_field_map:
+ model = self.related_field_map[field_name]
+ else:
+ # Cache the related model for this field name
+ model = self.related_field_map[field_name] = self.session.get_related_model(
+ field_name
+ )
+
+ if not model:
+ raise DjangoValidationError({
+ 'session': f'No related model found for field: {field_name}'
+ })
+
+ valid_items = set()
+
+ base_filters = (
+ self.session.field_filters.get(field_name, {})
+ if self.session.field_filters
+ else {}
+ )
+
+ # First priority is the PK (primary key) field
+ id_fields = ['pk']
+
+ if custom_id_fields := getattr(model, 'IMPORT_ID_FIELDS', None):
+ id_fields += custom_id_fields
+
+ # Iterate through the provided list - if any of the values match, we can perform the lookup
+ for id_field in id_fields:
+ try:
+ queryset = model.objects.filter(**{id_field: value}, **base_filters)
+ except ValueError:
+ continue
+
+ # Evaluate at most two results to determine if there is exactly one match
+ results = list(queryset[:2])
+ if len(results) == 1:
+ # We have a single match against this field
+ valid_items.add(results[0].pk)
+
+ if len(valid_items) == 1:
+ # We found a single valid match against the related model - return this value
+ return valid_items.pop()
+
+ # We found either zero or multiple values matching against the related model
+ # Return the original value and let the serializer validation handle any errors against this field
+ return value
+
def serializer_data(self):
"""Construct data object to be sent to the serializer.
diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po
index 46d379db99..64b0ec1bb9 100644
--- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "نقطة نهاية API غير موجودة"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "المستخدم ليس لديه الصلاحية لعرض هذا النموذج"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "البريد الإلكتروني (مرة أخرى)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "تأكيد البريد الإلكتروني"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "يجب عليك كتابة نفس البريد الإلكتروني كل مرة."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "عنوان البريد الإلكتروني الرئيسي المقدم غير صالح."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "لم تتم الموافقة على نطاق البريد الإلكتروني المقدم."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "تعذّر تحويل {original} إلى {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "الكمية المقدمة غير صحيحة"
@@ -112,13 +104,13 @@ msgstr "أدخل التاريخ"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "ملاحظات"
@@ -131,75 +123,75 @@ msgstr "القيمة '{name}' لا تظهر في تنسيق النمط"
msgid "Provided value does not match required pattern: "
msgstr "القيمة المقدمة لا تتطابق مع النمط المطلوب: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "سلسلة الرقم التسلسلي فارغة"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "تكرار التسلسل"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "نطاق المجموعة {group} يتجاوز الكَمّيَّة المسموح بها ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "لم يتم العثور على أرقام متسلسلة"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "إزالة علامات HTML من هذه القيمة"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "خطأ فى الاتصال"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "البريد الإلكتروني"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
index e93e5251a6..3e65422b42 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Не е намерена крайна точка на API"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Елементите трябва да се предоставят, като списък"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Филтрите следва да се предоставят, като dict"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Потребителя няма нужното разрешение, за да вижда този модел"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Е-поща отново"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Потвърждение на електронната поща"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Трябва ла въведете една и съща електронна поща."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Въведената основна електронна поща е невалидна."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Въведеният домейн на електронната поща не е утвърден."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Преобразуването на {original} в {unit} не беше успешно"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Въведена е недопустима стойност"
@@ -112,13 +104,13 @@ msgstr "Въведи дата"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Бележки"
@@ -131,75 +123,75 @@ msgstr "Значението '{name}' не отговаря на шаблона"
msgid "Provided value does not match required pattern: "
msgstr "Въведеното значение не отговаря на задължителния шаблон: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Липсва сериен номер"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Повтарящ се сериен номер"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Не са открити серийни номера"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Премахнете HTML маркерите от тази стойност"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Грешка при съединението"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Сървърът отговари с невалиден статусен код"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Възникна изключение"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Сървърът отговори с невалидна стойност за дължината на съдържанието (Content-Length)"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Размерът на изображението е твърде голям"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Сваляното на изображение превиши максималния размер"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Отдалеченият сървър върна празен отговор"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr ""
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Трябва да активирате двойно оторизиране преди да направите, каквото и да е."
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Китайски (опростен)"
msgid "Chinese (Traditional)"
msgstr "Китайски (традиционен)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Част"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Потребител"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Изпратено"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Цялостна наличност"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Място в склада"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Места в склада"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
index f91c06515f..ab15fea02d 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint nebyl nalezen"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Seznam položek nebo filtrů musí být k dispozici pro hromadnou operaci"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Položky musí být uvedeny jako seznam"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Zadán neplatný seznam položek"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filtry musí být uvedeny jako slovník"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Poskytnuty neplatné filtry"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Všechny filtry musí být použity s Pravda"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Zadaným kritériím neodpovídají žádné položky"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Nebyla poskytnuta žádná data"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "Toto pole musí být unikátní."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Uživatel nemá právo zobrazit tento model"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (znovu)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Potvrzení emailové adresy"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Pokaždé musíte zadat stejný email."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Zadaná primární e-mailová adresa je neplatná."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Zadaná e-mailová doména není povolena."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Nelze převést {original} na {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
@@ -112,13 +104,13 @@ msgstr "Zadejte datum"
msgid "Invalid decimal value"
msgstr "Neplaté desetinné číslo"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Poznámky"
@@ -131,75 +123,75 @@ msgstr "Hodnota '{name}' neodpovídá formátu vzoru"
msgid "Provided value does not match required pattern: "
msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Nelze serializovat více než 1000 položek najednou"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Nevyplněné výrobní číslo"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplicitní výrobní číslo"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Neplatná skupina: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Rozsah skupiny {group} překračuje povolené množství ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nenalezena žádná výrobní čísla"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Počet jedinečných sériových čísel ({n}) musí odpovídat množství ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Odstranit HTML tagy z této hodnoty"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Data obsahují zakázaný markdown obsah"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Chyba spojení"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Server odpověděl s neplatným stavovým kódem"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Došlo k výjimce"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Server odpověděl s neplatnou hodnotou Content-Length"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Velikost obrázku je příliš velká"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Stahování obrázku překročilo maximální velikost"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Vzdálený server vrátil prázdnou odpověď"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Zadaná URL adresa není platný soubor obrázku"
@@ -207,11 +199,11 @@ msgstr "Zadaná URL adresa není platný soubor obrázku"
msgid "Log in to the app"
msgstr "Přihlásit se do aplikace"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Před tím, než budete dělat cokoli jiného, musíte zapnout dvoufaktorové ověřování."
@@ -255,133 +247,124 @@ msgstr "Referenční číslo musí odpovídat požadovanému vzoru"
msgid "Reference number is too large"
msgstr "Referenční číslo je příliš velké"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Název"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Popis"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Popis (volitelně)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Cesta"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Poznámky (volitelné)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Data čárového kódu"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Data čárového kódu třetí strany"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash čárového kódu"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Jedinečný hash dat čárového kódu"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Nalezen existující čárový kód"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Selhání úlohy"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Úloha na pozadí '{f}' se ani po {n} pokusech nezdařila"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Chyba serveru"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Server zaznamenal chybu."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Obrazek"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Měna"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Vyberte měnu z dostupných možností"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr "Toto pole nesmí být nulové."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Vzdálený obraz"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL souboru vzdáleného obrázku"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Nepodařilo se stáhnout obrázek ze vzdálené adresy URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr "Neplatný formát typu obsahu"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr "Typ obsahu nenalezen"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr "Typ obsahu neodpovídá požadované třídě mixinu"
@@ -537,11 +520,11 @@ msgstr "Čínština (zjednodušená)"
msgid "Chinese (Traditional)"
msgstr "Čínština (tradiční)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Dostupná aktualizace"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Aktualizace pro InvenTree je k dispozici"
@@ -553,30 +536,30 @@ msgstr "Neplatná fyzikální jednotka"
msgid "Not a valid currency code"
msgstr "Neplatný kód měny"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Stav objednávky"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Nadřazená sestava"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Zahrnout varianty"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Zahrnout varianty"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Zahrnout varianty"
msgid "Part"
msgstr "Díl"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategorie"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Sestava předků"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Přiřazeno mě"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Přiřazeno"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Vytvořeno před"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Vytvořeno po"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Má počáteční datum"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Datum začátku před"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Datum začátku po"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Má cílové datum"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Cílové datum před"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Cílové datum po"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Dokončeno před"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Dokončeno po"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Min. datum"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Max datum"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Vyloučit strom"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Sestavení musí být zrušeno před odstraněním"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Spotřební materiál"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Volitelné"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Sestava"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Sledováno"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testovatelné"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Objednávka nevyřízená"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Přiděleno"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Spotřebováno"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Dostupné"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Na objednávku"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Výrobní příkaz"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Lokace"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Výstup"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Filtrovat podle ID výstupní položky zásoby. Použijte 'null' pro nalezení odinstalovaných položek sestavení."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Výrobní příkazy"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Kusovník sestavy ještě nebyl schválen"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Výrobní příkaz nesmí být vytvořen pro neaktivní díl"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Výrobní příkaz nemůže být vytvořen pro odemčený díl"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Výrobní příkaz může být externě splněn pouze pro nakupovatelné díly"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Musí být specifikován odpovědný uživatel nebo skupina"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Díl výrobního příkazu nelze změnit"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Cílové datum musí být po datu zahájení"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Referenční číslo výrobního příkazu"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Referenční číslo výrobního příkazu"
msgid "Reference"
msgstr "Reference"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Stručný popis sestavení (nepovinné)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Výrobní příkaz, kterému je tento výrobní příkaz přidělen"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr "Výrobní příkaz, kterému je tato stavba přiřazena"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Vyber téma, které chceš stavět"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referenční číslo prodejní objednávky"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Prodejní objednávka, které je tento výrobní příkaz přidělen"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Prodejní objednávka, které je tato stavba přiřazena"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Zdrojové umístění"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Vyberte lokaci, ze které chcete brát zásoby pro sestavu (nechte prázdné, chcete-li brát zásoby z libovolné lokace)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Externí sestavení"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Tento výrobní příkaz je plněn externě"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Cílová lokace"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Vyberte lokaci, kde budou dokončené položky uloženy"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Množství sestav"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Počet skladových položek k sestavení"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Dokončené položky"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Počet skladových položek, které byly dokončeny"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Stav sestavení"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Stavový kód sestavení"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Kód dávky"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Dávkový kód pro tento výstup sestavení"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Datum vytvoření"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Datum zahájení sestavení"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Plánované datum zahájení této objednávky"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Cílové datum dokončení"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Datum dokončení"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "dokončil"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Vystavil"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Uživatel, který vystavil tento výrobní příkaz"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Odpovědný"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Uživatel nebo skupina odpovědná za tento výrobní příkaz"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Externí odkaz"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Priorita sestavení"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Priorita tohoto výrobního příkazu"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Kód projektu"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Kód projektu pro tento výrobní příkaz"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Nelze dokončit výrobní příkaz s otevřenými podobjednávkami"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Nelze dokončit výrobní příkaz s neúplnými výstupy"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Výrobní příkaz {build} byl dokončen"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Výrobní příkaz byl dokončen"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "U sledovatelných dílů musí být uvedena sériová čísla"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nebyl specifikováno žádný výstup sestavení"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Výstup sestavení je již dokončen"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Výstup neodpovídá výrobnímu příkazu"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Množství musí být vyšší než nula"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Množství nemůže být větší než výstupní množství"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "Výstup výroby neprošel všemi požadovanými testy"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Výstup sestavy {serial} neprošel všemi požadavky"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Přiřazené skladové položky jsou stále ve výrobě"
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr "Nelze částečně dokončit výrobní příkaz s přiřazenými položkami"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Řádková položka výrobního příkazu"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Vytvořit objekt"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Vytvořit objekt"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Množství"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Vyžadované množství pro výrobní příkaz"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Množství spotřebovaných zásob"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Vybraná skladová položka neodpovídá řádku kusovníku"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "Přiřazené množství musí být vyšší než nula"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Množství musí být 1 pro zřetězený sklad"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Skladová položka je nadměrně zabrána"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Zabrané množství musí být větší než nula"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Množství musí být 1 pro zřetězený sklad"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Vybraná skladová položka neodpovídá řádku kusovníku"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Přidělené množství přesahuje dostupné množství na skladě"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Skladové položky"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Zdrojová skladová položka"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Skladové množství pro sestavení"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Instalovat do"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Cílová skladová položka"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Úroveň sestavení"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Název dílu"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Popisek kódu projektu"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Vytvořit výstup"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Výstupní díl se neshoduje s dílem výrobního příkazu"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Výstup sestavení je již dokončen"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Tento stavební výstup není plně přiřazen"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Zadejte množství pro výstup sestavení"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Celé množství požadované pro sledovatelné díly"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Sériová čísla"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Zadejte sériová čísla pro sestavení výstupů"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Skladové umístění pro výstup sestavy"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Automaticky zvolit sériová čísla"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automaticky přidělit požadované položky s odpovídajícími sériovými čísly"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Následující sériová čísla již existují nebo jsou neplatná"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Musí být uveden seznam výstupů sestavy"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Skladové umístění pro sešrotované výstupy"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Zahodit alokace"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Důvod vyřazení výstupu(ů) sestavy"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Umístění dokončených výstupů sestavy"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Přijmout neúplné přidělení"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Spotřebovat přidělené zásoby"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Odstranit neúplné výstupy"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Není povoleno"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Přijmout jako spotřebované tímto výrobním příkazem"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Uvolnit před dokončením tohoto výrobního příkazu"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Nadměrně přidělené zásoby"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k tomuto výrobnímu příkazu"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Některé skladové položky byly nadměrně přiděleny"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Přijmout nepřidělené"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k tomuto výrobnímu příkazu"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Požadované zásoby nebyly plně přiděleny"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Přijmout neúplné"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Požadované množství sestavy nebylo dokončeno"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Výrobní příkaz má otevřené podpříkazy"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Výrobní příkaz musí být ve stavu produkce"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Výrobní příkaz má neúplné výstupy"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linka sestavy"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Výstup sestavy"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Výstup sestavy musí odkazovat na stejnou sestavu"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Řádková položka sestavy"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part musí ukazovat na stejný díl jako výrobní příkaz"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Položka musí být skladem"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Dostupné množství ({q}) překročeno"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Položky přidělení musí být poskytnuty"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Skladové místo, odkud se mají díly odebírat (ponechte prázdné, pokud chcete odebírat z libovolného místa)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Vynechat lokace"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Vyloučit skladové položky z tohoto vybraného umístění"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Zaměnitelné zásoby"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Skladové položky na více místech lze používat zaměnitelně"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Náhradní zásoby"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Povolit přidělování náhradních dílů"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Volitelné položky"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Přiřazení volitelných položek kusovníku k objednávce sestavy"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Nepodařilo se spustit úlohu automatického přidělování"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "Všechny položky"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "Nesledované položky"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "Sledované položky"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "Typ položky"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "Vyberte typ položky pro automatické přiřazení"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Reference v kusovníku"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID dílu kusovníku"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Název dílu kusovníku"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "Informace instalace"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Sestavení"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Díl dodavatele"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Přidělené množství"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Reference sestavení"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Název kategorie dílů"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Sledovatelné"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Zděděno"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Povolit varianty"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Položka kusovníku"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Ve výrobě"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Naplánováno na sestavení"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Externí zásoby"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Dostupné zásoby"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Dostupné náhradní zásoby"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Dostupná varianta skladu"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "Spotřebované množství přesahuje přidělené množství"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Nepovinné poznámky ke spotřebě zásob"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "Sestavení položky musí odkazovat na správný výrobní příkaz"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Duplikovat přidělení položky sestavení"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "Výrobní linka musí odkazovat na správný výrobní příkaz"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Duplikovat přiřazení výrobní linky"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Musí být poskytnuta alespoň jedna linka nebo předmět"
@@ -1474,67 +1478,71 @@ msgstr "Pozastaveno"
msgid "Cancelled"
msgstr "Zrušeno"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Hotovo"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Zásoby potřebné pro výrobní příkaz"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Výrobní příkaz {build} vyžaduje další zásoby"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Opožděný výrobní příkaz"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Objednávka sestavy {bo} je nyní opožděná"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Je odkaz"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Je soubor"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Uživatel nemá oprávnění k odstranění těchto příloh"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Uživatel nemá oprávnění k odstranění této přílohy"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Neplatný kód měny"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Duplicitní kód měny"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nejsou uvedeny žádné platné kódy měn"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Žádný plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Popisek kódu projektu"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Aktualizováno"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Časové razítko poslední aktualizace"
@@ -1546,778 +1554,778 @@ msgstr "Aktualizoval/a"
msgid "User who last updated this object"
msgstr "Uživatel, který naposledy aktualizoval tento objekt"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Jedinečný kód projektu"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Popis projektu"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Uživatel nebo skupina odpovědná za tento projekt"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Tlačítko nastavení"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Hodnota nastavení"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Zvolená hodnota není platnou možností"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Hodnota musí být logická hodnota"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Hodnota musí být celé číslo"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Hodnota musí být platné číslo"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Hodnota neprošla kontrolou platnosti"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Klíčový text musí být jedinečný"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Uživatel"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Množství cenové slevy"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Cena"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Jednotková cena při stanoveném množství"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Koncový bod"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Koncový bod, ve kterém je tento webhook přijímán"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Název tohoto webhooku"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktivní"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Je tento webhook aktivní"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token pro přístup"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Tajný klíč"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Sdílený tajný klíč pro HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID zprávy"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Unikátní identifikátor pro tuto zprávu"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Hostitel"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Hostitel, od kterého byla tato zpráva přijata"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Záhlaví"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Záhlaví této zprávy"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Tělo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Tělo zprávy"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Koncový bod, na kterém byla zpráva přijata"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Pracoval na"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Byla práce na této zprávě dokončena?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "ID"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Název"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Odkaz"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Zveřejněno"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Souhrn"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Přečteno"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Byla tato novinka přečtena?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Soubor obrázku"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Cílový typ modelu pro tento obrázek"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "Cílové ID modelu pro tento obrázek"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Vlastní jednotka"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Symbol jednotky musí být unikátní"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Název jednotky musí být platný identifikátor"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Název jednotky"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Volitelný symbol jednotky"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definice"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definice jednotky"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Příloha"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Chybějící soubor"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Typ modelu"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Cílový typ modelu pro obrázek"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentář"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Komentář přílohy"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Datum nahrání"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Datum, kdy byl soubor nahrán"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Velikost souboru"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Velikost souboru v bytech"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Uveden neplatný typ modelu pro přílohu"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Vlastní stav"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Vlastní stavy"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Nastavení referenčního stavu"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Stav nastavený, který je prodloužen tímto vlastním stavem"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Logický klíč"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Logický klíč statusu, který je rovný tomuto vlastnímu statusu v podnikové logice"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Hodnota"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Číselná hodnota, která bude uložena v databázi modelů"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Název stavu"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Popisek"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Štítek, který bude zobrazen na webu"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Barva"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Barva, která bude zobrazena ve frontendu"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Model, ke kterému je tento stav přiřazen"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Musí být vybrán model"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Musí být vybrán klíč"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Musí být vybrán logický klíč"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Klíč se musí lišit od logického klíče"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Musí být uvedena platná referenční třída statusu"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Klíč se musí lišit od logických klíčů referenčního statusu"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Název se musí lišit od názvů referenčního statusu"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Výběrové pole"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Výběrová pole"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Název výběrového pole"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Popis výběrového pole"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Uzamčeno"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Je tento seznam výběrů uzamčen?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Může být tento seznam výběru použit?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Zdrojový plugin"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Plugin, který poskytuje seznam výběru"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Zdrojový řetězec"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Volitelný řetězec identifikující zdroj použitý pro tento seznam"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Výchozí položka"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Výchozí položka pro tento seznam výběru"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Vytvořeno"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Datum a čas vytvoření výběrového seznamu"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Poslední aktualizace"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Datum a čas poslední aktualizace výběrového seznamu"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Položka seznamu výběrů"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Položky seznamu výběrů"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Seznam výběru, do kterého tato položka patří"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Název výběrového seznamu"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Popisek pro výběr seznamu"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Popis vstupu výběrového seznamu"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Je tento výběr výběrového listu aktivní?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Šablona parametru"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr "Šablona parametru"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Parametry zaškrtávacího pole nemohou mít jednotky"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Parametry zaškrtávacího pole nemohou mít výběr"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Volby musí být jedinečné"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Název šablony parametru musí být jedinečný"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr "Cílový typ modelu pro šablonu tohoto parametru"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Název parametru"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Jednotky"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Fyzické jednotky pro tento parametr"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Popis parametru"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Zaškrtávací políčko"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Je tento parametr zaškrtávací políčko?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Volby"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Platné volby pro tento parametr (oddělené čárkami)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Seznam výběru pro tento parametr"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Povoleno"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr "Je šablona tohoto parametru povolena?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr "Parametr"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr "Parametry"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Neplatná volba pro hodnotu parametru"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr "Neplatný typ modelu pro daný parametr"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr "ID modelu"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr "ID cílového modelu pro tento parametr"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Šablona"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr "Šablona parametru"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Data"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Hodnota parametru"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Poznámka"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Volitelné pole pro poznámku"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Sken čárového kódu"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Data čárového kódu"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Uživatel, který naskenoval čárový kód"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Časová značka"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Datum a čas skenování čárového kódu"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Koncový bod URL, který zpracoval čárový kód"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontext"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Kontextová data pro skenov čárového kódu"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Odpověď"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Data z odezvy z čárového kódu"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Výsledek"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Bylo skenování čárového kódu úspěšné?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Vyskytla se chyba"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: Odstranení Emailového logu je chráněno. Nastavte INVENTREE_PROTECT_EMAIL_LOG na False pro užmožnění odstranění."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "E-mailová zpráva"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "E-mailové zprávy"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Oznámeno"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Odesláno"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Selhalo"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Doručeno"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Potvrzeno"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Příchozí"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Odchozí"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Bez odpovědi"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Sledovat doručení"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Sledovat přečtení"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Sledovat kliknutí"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "Globální ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Identifikátor pro tuto zprávu (může být poskytnut externím systémem)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID vlákna"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Identifikátor pro toto vlákno (může být poskytnut externím systémem)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Vlákno"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Vlákno propojeno k této zprávě"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr "Priorita"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Emailové vlákno"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Emailové vlákna"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Klíč"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Unikátní klíč pro toto vlákno (použitý k identifikaci vlákna)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Unikátní identifikátor pro toto vlákno"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Začato interně"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Bylo toto vlákno započato interně?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Datum a čas kdy bylo vlákno vytvořeno"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Datum a čas kdy bylo vlákno naposledy aktualizováno"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} zrušeno"
msgid "A order that is assigned to you was canceled"
msgstr "Objednávka, která je vám přidělena, byla zrušena"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Přijaté položky"
@@ -2351,93 +2359,101 @@ msgstr "Položky byly obdrženy proti objednávce"
msgid "Items have been received against a return order"
msgstr "Položky byly obdrženy proti vratce"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Označuje, zda změna tohoto nastavení vyžaduje potvrzení"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Toto nastavení vyžaduje potvrzení před změnou. Prosím potvrďte změnu."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Indikuje zdali bylo nastavení přepsáno proměnou prostředí"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Přepsat"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Je spuštěné"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Čekající úkoly"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Naplánované úlohy"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Neúspěšné úlohy"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID úlohy"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Unikátní ID úlohy"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Zamknout"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Čas uzamčení"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Jméno úkolu"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funkce"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Název funkce"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumenty"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumenty úlohy"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argumenty klíčových slov"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argumenty klíčových slov úlohy"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Název souboru"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Typ modelu"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr "Uživatel nemá práva vytvářet nebo upravovat parametry pro tento model"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Tento výběr je uzamčen"
@@ -2445,1128 +2461,1157 @@ msgstr "Tento výběr je uzamčen"
msgid "No group"
msgstr "Žádná skupina"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Adresa URL webu je uzamčena konfigurací"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Je vyžadován restart"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Bylo změněno nastavení, které vyžaduje restart serveru"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Nevyřízené migrace"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Počet nevyřízených migrací databáze"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Aktivní varovací kódy"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Seznam aktivních varovacích kódů"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID instance"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Unikátní identifikátor pro tuto InvenTree instanci"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "ID oznámení"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Oznámit ID instance pro server na server status infu (nepřihlášeno)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Název instance serveru"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Textový popisovač pro instanci serveru"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Použít název instance"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Použít název instance v liště"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Omezit zobrazování `o aplikaci`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Zobrazovat okno `o aplikaci` pouze superuživatelům"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Jméno společnosti"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Interní název společnosti"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Základní URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Základní URL pro instanci serveru"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Výchozí měna"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Vyberte základní měnu pro cenové kalkulace"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Podporované měny"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Seznam podporovaných kódů měn"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Interval aktualizace měny"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dny"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Plugin aktualizace měny"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Plugin pro aktualizaci měn k použití"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Stáhnout z URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Povolit stahování vzdálených obrázků a souborů z externích URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limit velikosti stahování"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maximální povolená velikost stahování vzdáleného obrázku"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-agent použitý ke stažení z adresy URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Povolit přepsání user-agenta používaného ke stahování obrázků a souborů z externí adresy URL (ponechte prázdné pro výchozí)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Přísná validace URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Vyžadovat specifikaci schématu při ověřování adres URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Interval kontroly aktualizací"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Jak často kontrolovat aktualizace (nastavte na nulu pro vypnutí)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatické Zálohování"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Povolit automatické zálohování databáze a mediálních souborů"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Interval automatického zálohování"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Zadejte počet dní mezi automatickými zálohovými událostmi"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Interval mazání úloh"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Výsledky úloh na pozadí budou odstraněny po zadaném počtu dní"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Interval odstranění protokolu chyb"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Záznamy chyb budou odstraněny po zadaném počtu dní"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Interval pro odstranění oznámení"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Uživatelská oznámení budou smazána po zadaném počtu dní"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Interval mazání emailů"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Emailové zprávy budou odstraněny po specifikovaném počtu dní"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Chránit Email log"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Zabránit odstranění vstupů email logů"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Podpora čárových kódů"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Povolit podporu pro skenování čárových kódů ve webovém rozhraní"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Ukládat výsledky čárových kódů"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Ukládat výsledky skenování čárových kódů v databázi"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Maximální počet naskenovaných čárových kódů"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Maximální počet uložených výsledků skenování čárových kódů"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Zpoždění vstupu čárového kódu"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Doba zpoždění zpracování vstupu čárového kódu"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Podpora webové kamery pro čárové kódy"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Povolit skenování čárových kódů přes webovou kameru v prohlížeči"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Zobrazovat data čárových kódů"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Zobrazovat data čárových kódů v prohlížeči jako text"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Plugin pro generování čárových kódů"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Plugin na použití pro interní generaci čárových kódů"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revize dílu"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Povolit pole revize pro díl"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Revize pouze pro sestavy"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Povolit revize pouze pro sestavy"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Povolit odstranění ze sestavy"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Povolit odstranění dílů, které jsou použity v sestavě"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulární vzorec výrazu pro odpovídající IPN dílu"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Povolit duplicitní IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Povolit více dílům sdílet stejný IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Povolit editaci IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Povolit změnu IPN při úpravách dílu"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Kopírovat data BOM dílu"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopírovat data BOM ve výchozím nastavení při duplikování dílu"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Kopírovat data parametrů dílu"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Kopírovat data parametrů ve výchozím nastavení při duplikování dílu"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Kopírovat zkušební data dílu"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Kopírovat testovací data ve výchozím nastavení při duplikování dílu"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kopírovat šablony parametrů kategorie"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kopírování šablon parametrů kategorie při vytváření dílu"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Díly jsou ve výchozím nastavení šablony"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponent"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Možné zakoupit"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Díly jsou zakoupitelné ve výchozím nastavení"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Prodejné"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Díly jsou prodejné ve výchozím nastavení"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Díly jsou sledovatelné ve výchozím nastavení"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Nehmotné (virtuální)"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Zobrazit související díly"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Zobrazit související díly pro díl"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Počáteční údaje zásob"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Povolit vytvoření počátečního skladu při přidání nové části"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Počáteční údaje dodavatele"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formát zobrazení jména dílu"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formát pro zobrazení názvu dílu"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Výchozí ikona kategorie dílu"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Minimální počet desetinných míst u cen"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Maximální počet desetinných míst u cen"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Použít ceny dodavatele"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Přepsání historie nákupu"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Použít ceny skladových položek"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Stáří cen skladových položek"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Použít cenu varianty"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Zahrnutí cen variant do celkových cenových kalkulací"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Pouze aktivní varianty"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Automatická aktualizace cen"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Automaticky aktualizovat cenu dílu když se změní interní data"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Interval přestavby cen"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Počet dní před automatickou aktualizací cen dílů"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interní ceny"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Povolit interní ceny pro díly"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Přepis interní ceny"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr "Povolit nulovou hodnotu kusovníku"
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr "Přijmout nulové množství pro položku kusovníku. Umožňuje použít nastavení množství pro definování množství požadovaného pro sestavení, nezávisle na počtu staveb"
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Povolit tisk štítků"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Povolit tisk štítků z webového rozhraní"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI rozlišení štítků"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Povolit reporty"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Povolit generování reportů"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Režim ladění chyb"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generovat reporty v režimu ladění (HTML výstup)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Zaznamenávat chyby reportů"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Velikost stránky"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Výchozí velikost stránky pro PDF reporty"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Vynutit jednotky parametru"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globálně unikátní sériová čísla"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Sériová čísla pro skladové položky musí být globálně unikátní"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Odstranit vyčerpané zásoby"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Určuje výchozí chování při vyčerpání zásoby položky"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Šablona kódu dávky"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Expirace zásob"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Povolit funkci expirace zásob"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Prodat prošlé zásoby"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Povolit prodej prošlých zásob"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Čas stáří zásob"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Sestavit prošlé zásoby"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Povolit sestavování s prošlými zásobami"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Kontrola vlastnictví zásob"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Výchozí ikona umístění zásob"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Zobrazit nainstalované skladové položky"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Zkontrolovat BOM při instalaci položek"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Povolit převod mimo sklad"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Referenční vzor objednávky sestavy"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Vyžadovat odpovědného vlastníka"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Vyžadovat aktivní díl"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Zabránit vytváření výrobních příkazů pro neaktivní díly"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Vyžadovat uzamčený díl"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Zabránit vytváření výrobních příkazů pro odemčené díly"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Vyžadovat schválený kusovník"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Zabránit vytváření výrobních příkazů, dokud není schválen kusovník"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Vyžadovat uzavření podobjednávek"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Zabránit dokončení výrobního příkazu dokud nebudou uzavřeny všechny podpříkazy"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Externí výrobní příkazy"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Povolit funkcionalitu externích výrobních příkazů"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blokovat, dokud testy neprojdou"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Povolit vracení objednávek"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Referenční vzor návratové objednávky"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Úprava dokončených návratových objednávek"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Umožnit úpravu návratových objednávek po jejich dokončení"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Referenční vzor prodejní objednávky"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Výchozí přeprava prodejní objednávky"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Úprava dokončených prodejních objednávek"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr "Zásilka vyžaduje kontrolu"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr "Zabránit dokončení zásilek dokud nebudou zkontrolovány položky"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Označit odeslané objednávky jako dokončené"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Referenční vzor nákupní objednávky"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Úprava dokončených nákupních objednávek"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Převést měnu"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Převést hodnotu předmětu na základní měnu při příjmu zásob"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Automatické dokončování nákupních objednávek"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Povolit pole zapomenutého hesla"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Povolit registrace"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Povolit SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Povolit SSO na přihlašovacích stránkách"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Povolit SSO registraci"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Povolit synchronizaci SSO skupin"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Povolit synchronizaci InvenTree skupin se skupinami poskytnutými IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "klíč SSO skupiny"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Název deklarace skupinového atributu poskytnutého IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "mapa SSO skupiny"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Mapování ze skupin SSO do místních InvenTree skupin. Pokud místní skupina neexistuje, bude vytvořena."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Odstranit skupiny mimo SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Zdali mají být skupiny přiřazené uživateli odstraněny pokud nemají backend of IdP. Vypnutí tohoto nastavení můžu způsobit problémy se zabezpečením"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Vyžadován e-mail"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Požadovat, aby uživatel při registraci zadal e-mail"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Automaticky vyplnit SSO uživatele"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Mail dvakrát"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Heslo dvakrát"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Při registraci dvakrát požádat uživatele o heslo"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Povolené domény"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Skupina při registraci"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Skupina do které jsou nový uživatelé přiřazeni při registraci. Pokud je povolena synchronizace SSO skupin, tato skupina lze přiřadit pouze pokud nezle přiřadit skupinu od IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Vynutit MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Uživatelé musí používat vícefaktorové zabezpečení."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Povolení tohoto nastavení bude vyžadovat více fázové ověření u všech uživatelů. Všechny relace budou okamžitě ukončeny."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Zkontrolovat pluginy při spuštění"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Zkontrolujte, zda jsou při spuštění nainstalovány všechny pluginy - povolit v kontejnerových prostředích"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Zkontrolovat aktualizace pluginů"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Povolit pravidelné kontroly aktualizací nainstalovaných pluginů"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Povolit integraci URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Povolit plug-inům přidávat trasy URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Povolit integraci navigace"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Povolit integrování pluginů do navigace"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Povolit integraci aplikací"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Povolit pluginům přidávát aplikace"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Povolit integraci plánu"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Povolit pluginům spouštění naplánovaných úloh"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Povolit integraci událostí"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Povolit pluginům reagovat na interní události"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Povolit rozhraní intergace"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Povolit integrování pluginů do uživatelského rozhraní"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Povolit integraci emailu"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Povolit pluginům zpracování odchozích/příchozích emailů"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Povolit projektové kódy"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Povolit projektové kódy pro sledování projektů"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Povolit historii zásob"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr "Povolit inventuru"
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Povolit funkcionalitu pro zaznamenávání historických stavů zásob a hodnoty"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Vyloučit externí umístění"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Vyloučit skladové položky v externích lokací z výpočtu historie zásob"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr "Vyloučit skladové položky z externích lokací z inventury"
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Perioda automatické inventury"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Počet dní mezi automatickým záznamem historie zásob"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr "Počet dní mezi automatickým záznamem inventury"
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Odstranit starých záznamů historie zásob"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr "Odstranit staré záznamy inventur"
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Odstranit historii zásob starší než zadaný počet dní"
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr "Odstranit záznamy inventur starší než zadaný počet dní"
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Interval odstranení historie zásob"
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr "Interval odstranění inventury"
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Historie zásob vstupu bude odstraněna po zadaném počtu dní"
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr "Záznamy inventur budou odstraněny po zadaném počtu dní"
-#: common/setting/system.py:1123
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr "Odstranit staré záznamy sledování zásob"
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr "Odstranit staré záznamy sledování zásob starší než zadaný počet dní"
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr "Interval odstranění sledování zásob"
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr "Záznamy sledování zásob budou odstraněny po zadaném počtu dní"
+
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "Zobrazit celá jména uživatelů"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "Zobrazit plná jména uživatelů namísto uživatelských jmen"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "Zobrazit uživatelské profily"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "Zobrazit profily uživatelů na jejich profilové stránce"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "Povolit data zkušební stanice"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "Povolit sběr dat ze zkušební stanice pro výsledky testů"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
msgstr "Povolit ping stroje"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr "Povolit pravidelný úkol pingu registrovaných strojů pro kontrolu jejich stavu"
@@ -3596,11 +3641,11 @@ msgstr "Zobrazit reporty PDF v prohlížeči namísto stahování jako soubor"
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Skener čárových kódů v polích formuláře"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Povolit zadávání čárového kódu v polích formuláře"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3911,366 +3956,370 @@ msgstr "Díl je aktivní"
msgid "Manufacturer is Active"
msgstr "Výrobce je aktivní"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Díl dodavatele je aktivní"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr "Primární díl dodavatele"
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Interní díl je aktivní"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Dodavatel je aktivní"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Výrobce"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Společnost"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Má zásoby"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Společnosti"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Popis společnosti"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Popis společnosti"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Webová stránka"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Webové stránky společnosti"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefonní číslo"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kontaktní telefonní číslo"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontaktní e-mailová adresa"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Kontaktní místo"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Odkaz na externí informace o společnosti"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Je tato společnost aktivní?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Je zákazník"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Prodáváte zboží této společnosti?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Je dodavatel"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Zakupujete zboží od této společnosti?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Je výrobce"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Vyrábí tato společnost díly?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Výchozí měna používaná pro tuto společnost"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "DIČ"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "DIČ společnosti"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adresa"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adresy"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Vyberte společnost"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Název adresy"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Název popisující záznam adresy"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Primární adresa"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Nastavit jako primární adresu"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Řádek 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "1. řádek adresy"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Řádek 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "2. řádek adresy"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "PSČ"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Město/Region"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "PSČ město/region"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Stát/kraj"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Stát nebo provincie"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Země"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adresovaná země"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Doručovací poznámky pro kurýra"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Poznámky pro kurýra"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Interní přepravní poznámky"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Doručovací poznámky pro interní použití"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Odkaz na informace o adrese (externí)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Výrobce dílu"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Základní díl"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Zvolte díl"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Vyberte výrobce"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Číslo dílu výrobce"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL pro odkaz na díl externího výrobce"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Popis dílu výrobce"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Jednotky balení musí být kompatibilní s jednotkami základních dílů"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Jednotky balení musí být větší než nula"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Dodavatel"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Vyberte dodavatele"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Skladová evidence dodavatele"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Je tento díl dodavatele aktivní?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr "Primární"
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr "Je tento primární díl dodavatele připojen k dílu?"
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Vyberte díl výrobce"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "Adresa URL pro odkaz na externí díl dodavatele"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Popis dílu dodavatele"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "základní cena"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimální poplatek (např. poplatek za skladování)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Balení"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Balení dílu"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Počet kusů v balení"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "více"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Objednat více"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Množství dostupné od dodavatele"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Dostupnost aktualizována"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Datum poslední aktualizace údajů o dostupnosti"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Cenová sleva dodavatele"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr "Hlavní adresa"
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Vrátí reprezentaci řetězce pro primární adresu. Tato vlastnost existuje pro zpětnou kompatibilitu."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Výchozí měna používaná pro tohoto dodavatele"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Jméno společnosti"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Skladem"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr "Množstevní sleva"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Při exportu dat došlo k chybě"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Plugin pro export dat vrátil nesprávný formát dat"
@@ -4318,119 +4367,119 @@ msgstr "Umístěno"
msgid "Invalid status code"
msgstr "Neplatný kód statusu"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datový soubor"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Datový soubor k importu"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Sloupce"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Cílový typ modelu pro tuto relaci importu"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Stav importu"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Výchozí Hodnoty"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Přepsání Pole"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filtry pole"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Aktualizovat existující záznamy"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Pokud je povoleno, existující záznamy budou aktualizovány s novými daty"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Některá povinná pole nebyla namapována"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Existující databázový identifikátor pro tento záznam"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Sloupec je již napamován k poli databáze"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Pole je již namapováno do datového sloupce"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Mapování sloupců musí být připojeno k platné relaci importu"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Sloupec neexistuje v datovém souboru"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Pole neexistuje v cílovém modelu"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Vybrané pole je pouze pro čtení"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Importovací relace"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Pole"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Sloupec"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Index řádku"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Původní data řádku"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Chyby"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Platné"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "ID je vyžadováno pro aktualizaci existujících záznamů."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Žádný záznam nalezen pro zadané ID"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Poskytnut neplatný formát ID"
@@ -4530,7 +4579,7 @@ msgstr "Počet kopií, které se mají tisknout pro každý štítek"
msgid "Connected"
msgstr "Připojeno"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Neznámý"
@@ -4658,105 +4707,117 @@ msgstr "Maximální pokrok"
msgid "Maximum value for progress type, required if type=progress"
msgstr "Maximální hodnota pro pokrok typu, vyžadováno pokud typ=pokrok"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Označení objednávky"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Vynikající"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Má projektový kód"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Vytvořil(a)"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Vytvořeno před"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Vytvořeno po"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Má počáteční datum"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Datum začátku před"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Datum začátku po"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Má cílové datum"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Cílové datum před"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Cílové datum po"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr "Aktualizováno před"
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr "Aktualizováno po"
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Má cenu"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Dokončeno před"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Dokončeno po"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Externí výrobní příkaz"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Objednávka"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Objednávka byla dokončena"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Interní díl"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Objednávka čeká na vyřízení"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Dokončeno"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Má zásilku"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Nákupní objednávka"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Nákupní objednávka"
msgid "Sales Order"
msgstr "Prodejní objednávka"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Celková cena"
msgid "Total price for this order"
msgstr "Celková cena za tuto objednávku"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Měna objednávky"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Měna pro tuto objednávku (nechte prázdné pro použití výchozí hodnoty společnosti)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Tato objednávka je uzamčena a nelze ji upravit"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Kontakt nesouhlasí s vybranou společností"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Datum zahájení musí být před cílovým datem"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr "Adresa nesouhlasí s vybranou společností"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Popis objednávky (volitelné)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Vyberte kód projektu pro tuto objednávku"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Odkaz na externí stránku"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Datum zahájení"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Plánované datum zahájení této objednávky"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Cílené datum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Očekávané datum doručení objednávky. Objednávka bude po tomto datu splatná."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Datum vystavení"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Datum vystavení objednávky"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr "Aktualizováno v"
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Uživatel nebo skupina odpovědná za tuto objednávku"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Kontaktní bod pro tuto objednávku"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Adresa společnosti pro tuto objednávku"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Číslo objednávky"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Stav"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Stav objednávky"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Společnost, od které se položky objednávají"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Reference dodavatele"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Referenční kód objednávky dodavatele"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "přijal"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Datum dokončení objednávky"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Místo určení"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Cílové místo pro přijaté položky"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Dodavatel dílu se musí shodovat s dodavatelem PO"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Řádková položka neodpovídá nákupní objednávce"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Řádkové položce chybí propojený díl"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Množství musí být kladné"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Zákazník"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Společnost, jíž se položky prodávají"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Stav prodejní objednávky"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Reference zákazníka "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Referenční kód objednávky zákazníka"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Datum odeslání"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "odesláno společností"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Objednávka je již dokončena"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Objednávka je již zrušena"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Pouze otevřená objednávka může být označena jako kompletní"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Objednávku nelze dokončit, protože dodávky jsou nekompletní"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Objednávka nemůže být dokončena, protože jsou neúplné přiřazení"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Objednávka nemůže být dokončena, protože jsou neúplné řádkové položky"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "Objednávka je uzamčena a nelze ji upravit"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Množství položky"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Označení řádkové položky"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Poznámky k řádkovým položkám"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Cílové datum pro tuto řádkovou položku (pro použití cílového data z objednávky ponechte prázdné)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Popis řádkové položky (nepovinné)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Dodatečný kontext pro tento řádek"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Cena za jednotku"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Řádková položka nákupní objednávky"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Dodavatelský díl musí odpovídat dodavateli"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Objednávka sestavení musí být označená jako externí"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Objednávka sestavení může být propojena pouze s montážními díly"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Výrobní příkaz musí odpovídat lince předmětu dílu"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Díl dodavatele"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Doručeno"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Počet přijatých položek"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Nákupní cena"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Jednotková nákupní cena"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Externí výrobní příkaz který má být splněn touto linkovou položkou"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Nákupní příkaz extra linka"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Řádková položka prodejní objednávky"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "K prodejní objednávce lze přiřadit pouze prodejné díly"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Prodejní cena"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Jednotková prodejní cena"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Odesláno"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Odeslané množství"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Zásilka prodejní objednávky"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr "Adresa zásilky musí odpovídat adrese zákazníka"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr "Dodací adresa pro tuto zásilku"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Datum odeslání"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Datum doručení"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Datum doručení zásilky"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Kontroloval(a)"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Uživatel, který zkontroloval tuto zásilku"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Doprava"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Číslo zásilky"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Sledovací číslo"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informace o sledování zásilky"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Číslo faktury"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Referenční číslo přiřazené faktury"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Zásilka již byla odeslána"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Zásilka nemá žádné přidělené skladové položky"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr "Zásilka musí být zkontrolována než může být dokončená"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Prodejní příkaz extra linka"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Přidělení prodejní objednávky"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Skladová položka nebyla přiřazena"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Nelze přidělit skladovou položku na řádek s jiným dílem"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Nelze přidělit skladovou položku na řádek bez dílu"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Přidělené množství nesmí překročit množství zásob"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Zabrané množství musí být větší než nula"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Množství musí být 1 pro serializovanou skladovou položku"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Prodejní objednávka neodpovídá zásilce"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Zásilka neodpovídá prodejní objednávce"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Řádek"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Odkaz na zásilku z prodejní objednávky"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Položka"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Vyberte skladovou položku pro přidělení"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Zadejte množství pro přidělení zásob"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Reference návratové objednávky"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Společnost, od které se vrací položky"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Stav návratové objednávky"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Linkový předmět vratky"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Zásobní položka musí být specifikována"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Množství vratky přesahuje množstvní zásob"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Množstvní vratky musí být více než nula"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Neplatné množství pro sériovou skladovou položku"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Vyberte položku pro vrácení od zákazníka"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Datum přijetí"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Datum přijetí této vrácené položky"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr "Datum příjetí této vratky"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Výsledek"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Výsledky pro tuto položku"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Náklady spojené s návratem nebo opravou této položky"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Vratka extra linka"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID objednávky"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID objednávky k duplikaci"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Kopírovat řádky"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Kopírovat řádkové položky z původní objednávky"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Kopírovat extra řádky"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Kopírovat extra řádkové položky z původní objednávky"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopírovat parametry"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr "Kopírovat parametry objednávky z původní objednávky"
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Řádkové položky"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Dokončené řádky"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplikovat objednávku"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Specifikujte možnosti pro duplikaci této objednávky"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Neplatné ID objednávky"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Název dodavatele"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Objednávku nelze zrušit"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Povolit uzavření objednávky s neúplnými řádkovými položkami"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Objednávka má nedokončené řádkové položky"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Objednávka není otevřena"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automatická cena"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Automaticky vypočítat nákupní cenu na základě údajů o dílech dodavatele"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Měna nákupní ceny"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Sloučit položky"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem do jedné řádkové položky"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Číslo zboží (SKU)"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Interní číslo dílu"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Interní název dílu"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Musí být uveden díl dodavatele"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Objednávka musí být zadána"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Dodavatel musí odpovídat objednávce"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Objednávka musí odpovídat dodavateli"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Řádková položka"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Vyberte cílové umístění pro přijaté položky"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Zadat kód šarže pro příchozí skladové položky"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Datum expirace"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Zadejte datum expirace pro příchozí skladové položky"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Zadat sériová čísla pro příchozí skladové položky"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Přepsat informace o obalu pro příchozí skladové položky"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Dodatečná poznámka pro příchozí skladové položky"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Čárový kód"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Naskenovaný čárový kód"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Tento čárový kód se již používá"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Musí být uvedeny řádkové položky"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Místo určení musí být specifikováno"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Hodnoty dodaných čárových kódů musí být unikátní"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Zásilky"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Dokončené zásilky"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "Přidělené řádky"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Měna prodejní ceny"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Přidělené položky"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nebyly poskytnuty žádné údaje o zásilce"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Řádková položka není přiřazena k této objednávce"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Množství musí být kladné"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Zadejte sériová čísla pro přidělení"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Zásilka již byla odeslána"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Zásilka není spojena s touto objednávkou"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nebyla nalezena žádná shoda pro následující sériová čísla"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Následující sériová čísla nejsou k dispozici"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Řádkový předmět vratky"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Řádková položka neodpovídá vratce"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Řádková položka již byla přijata"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Položky lze přijímat pouze proti objednávkám, které probíhají"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Množství k vrácení"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Měna ceny řádku"
@@ -5532,1174 +5613,1226 @@ msgstr "Vrácení peněz"
msgid "Reject"
msgstr "Odmítnout"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Objednávka po splatnosti"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Nákupní objednávka {po} je nyní opožděná"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Opožděná prodejní objednávka"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Prodejní objednávka {so} je nyní opožděná"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Vratka po termínu vrácení"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "Vratka {ro} je nyní opožděná"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Označené"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filtrovat podle kategorií s hvězdičkou"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Hloubka"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtrovat podle hloubky kategorie"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Nejvyšší úroveň"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtrovat podle nejvyšších kategorií"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Kaskáda"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Zahrnout podkategorie do filtrovaných výsledků"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Předek"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filtrovat podle nadřazené kategorie"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Vyloučit podkategorie v zadané kategorii"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Má výsledky"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Je varianta"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Je revizí"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Má revize"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Kusovník schválen"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr "Kaskádové kategorie"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr "Pokud je pravda, zahrne položky z podkategorií dané kategorie"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr "Filtrovat podle numerického ID kategorie nebo doslovného 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "Sestavený díl je aktivní"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "Sestavený díl je sledovatelný"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Sestavený díl je testovatelný"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr "Kompotenta je aktivní"
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr "Komponenta je sledovatelná"
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Díl komponenty je testovatelný"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr "Komponenta je část sestavy"
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr "Komponenta je virtuální"
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr "Má dostupné zásoby"
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Využití"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Kategorie dílu"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Kategorie dílů"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Výchozí umístění"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Výchozí umístění dílů v této kategorii"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Strukturální"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Díly nesmějí být přímo zařazeny do strukturální kategorie, ale mohou být zařazeny do jejích podkategorií."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Výchozí klíčová slova"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Výchozí klíčová slova pro díly v této kategorii"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikona"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikona (volitelná)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Nemůžete tuto kategorii označit jako strukturální, protože má již přiřazené díly!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Šablona parametru kategorie dílu"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Výchozí hodnota"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Výchozí hodnota parametru"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Díly"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr "Nelze odstranit parametry zamčeného dílu"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr "Nelze upravit parametry zamčeného dílu"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Tento díl nelze smazat, protože je uzamčen"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Tento díl nelze odstanit, protože je stále aktivní"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Tento díl nelze odstranit, protože je použit v sestavě"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Díl '{self}' nelze použít v kusovníku '{parent}' (rekurzivní)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Díl '{parent}' je využit v kusovníku '{self}' (rekurzivní)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN musí odpovídat regex vzoru {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Díl nemůže být revize same sebe"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Nelze udělat revizi dílu, který už je revize"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Kód revize musí být uveden"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Revize jsou povoleny pouze pro sestavy"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Nelze provést revizi šablony"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Nadřazený díl musí odkazovat na stejnou šablonu"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Skladová položka s tímto sériovým číslem již existuje"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Duplicitní IPN není povoleno v nastavení dílu"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Duplicitní díl revize již existuje."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Díl s tímto názvem, IPN a revizí již existuje."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Díly nemohou být přiřazeny do strukturálních kategorií!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Název dílu"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Je šablonou"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Je tento díl šablona?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Je tento díl varianta jiného dílu?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Varianta"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Popis dílu (nepovinné)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Klíčová slova"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Klíčová slova dílu pro zlepšení vyhledávání"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Kategorie dílu"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "Interní číslo dílu (IPN)"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Číslo revize nebo verze dílu"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revize"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Je tento díl revizí jiného dílu?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Revize"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Kde je tato položka obvykle skladněna?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Výchozí dodavatel"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Výchozí díl dodavatele"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Výchozí expirace"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Expirační čas (ve dnech) pro zásoby tohoto dílu"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimální zásoby na skladě"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimální povolená úroveň zásob"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Měrné jednotky pro tento díl"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Lze tento díl sestavit z jiných dílů?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Lze tento díl použít k sestavení jiných dílů?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Lze u tohoto dílu sledovat jednotlivé položky?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Může mít tento díl zaznamenány výsledky testu?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Může být tento díl zakoupen od externích dodavatelů?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Lze tento díl prodávat zákazníkům?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Je tento díl aktivní?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Uzamčené díly nelze upravit"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Je to virtuální díl, například softwarový produkt nebo licence?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Kusovník ověřen"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Je kusovník pro tuto část platný?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Kontrolní součet kusovníku"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Uložený kontrolní součet kusovníku"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Kusovník zkontroloval"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Datum kontroly kusovníku"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Vytváření uživatele"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Vlastník odpovědný za tento díl"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Prodat více"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Měna použitá pro výpočet cen v mezipaměti"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimální cena kusovníku"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minimální cena komponent dílu"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maximální cena kusovníku"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maximální cena komponent dílu"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimální nákupní cena"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Minimální historická nákupní cena"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maximální nákupní cena"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Maximální historická nákupní cena"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimální interní cena"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimální cena závislá na množstevní slevě"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maximální interní cena"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maximální cena závislá na množstevní slevě"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimální cena dodavatele"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Minimální cena dílu od externích dodavatelů"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maximální cena dodavatele"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maximální cena dílu od externích dodavatelů"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimální cena variant"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Vypočítané minimální náklady na varianty dílů"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maximální cena variant"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Vypočítané maximální náklady na varianty dílů"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimální cena"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Přepsat minimální náklady"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maximální cena"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Přepsat maximální náklady"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Vypočítané minimální celkové náklady"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Vypočítané maximální celkové náklady"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimální prodejní cena"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Minimální prodejní cena na základě cenových zvýhodnění"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maximální prodejní cena"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maximální prodejní cena na základě cenových zvýhodnění"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Minimální prodejní cena"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Minimální historická prodejní cena"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maximální prodejní cena"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Maximální historická prodejní cena"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Díl na inventuru"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Počet položek"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Počet jednotlivých položek zásob v době inventury"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Celkové dostupné zásoby v době inventury"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Datum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Datum provedení inventury"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimální cena zásob"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Odhadovaná minimální cena zásob k dispozici"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maximální cena zásob"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Odhadovaná maximální cena zásob k dispozici"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Částeční sleva v ceně"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Šablona testu položky"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Neplatný název šablony - musí obsahovat alespoň jeden alfanumerický znak"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Zkušební šablony lze vytvořit pouze pro testovatelné části"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Testovací šablona se stejným klíčem již existuje pro díl"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Název testu"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Zadejte název testu"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Testovací klíč"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Zjednodušený klíč pro testování"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Popis testu"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Zadejte popis pro tento test"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Je tento test povolen?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Požadováno"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Je tato zkouška vyžadována k projití?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Požadovaná hodnota"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Vyžaduje tato zkouška hodnotu při výpočtu výsledku zkoušky?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Vyžaduje přílohu"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Vyžaduje tato zkouška soubor při přidání výsledku testu?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Platné volby pro tento test (oddělené čárkami)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "Položku kusovníku nelze změnit - sestava je uzamčena"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Položku kusovníku nelze změnit - varianta montáže je uzamčena"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Vyberte nadřazený díl"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Poddílec"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Vyberte díl které bude použit v kusovníku"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Kusovníkové množství pro tuto kusovníkovou položku"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Tato položka kusovníku je nepovinná"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Tento předmět kusovníku je spotřebovatelný (není sledován v objednávkách stavby)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Nastavit množství"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "Dodatečné množství potřebné pro sestavení k vyúčtování ztráty nastavení"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Přirozené ztráty"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Odhadované přirozené ztráty pro stavbu, vyjádřeno v procentech (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Zaokrouhlení více"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Zaokrouhlit požadované množství produkce na nejbližší násobek této hodnoty"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Reference položky kusovníku"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Poznámky k položce kusovníku"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Kontrolní součet"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Kontrolní součet řádku kusovníku"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Schváleno"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Tato položka kusovníku ještě nebyla schválena"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Se zdědí"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Tento kusovník se zdědí kusovníky pro varianty dílů"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Skladové položky pro varianty dílu lze použít pro tuto položku kusovníku"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Množství musí být celé číslo pro sledovatelné díly"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Poddíl musí být specifikován"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Náhradní položka kusovníku"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Náhradní díl nemůže být stejný jako hlavní díl"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Nadřazená položka kusovníku"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Náhradní díl"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Díl 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Díl 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Vyberte související díl"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Poznámka pro tento vztah"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Část vztahu nemůže být vytvořena mezi dílem samotným"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Duplicitní vztah již existuje"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Nadřazená kategorie"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Nadřazená kategorie dílu"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Podkategorie"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Výsledky"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Počet výsledků zaznamenaných podle této šablony"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Nákupní měna této skladové položky"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Soubor není obrázek"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Původní díl"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Vyberte původní díl, který má být duplikován"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopírovat obrázek"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Kopírovat obrázek z původního dílu"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Kopírovat kusovník"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Kopírovat kusovník z původního dílu"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopírovat parametry"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Kopírovat data parametrů z původního dílu"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Kopírovat poznámky"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Kopírovat poznámky z původního dílu"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Kopírovat testy"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Kopírovat testovací šablony z původního dílu"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Počáteční skladové množství"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Zadejte počáteční skladové množství pro tuto část. Pokud je množství nulové, není přidáno žádné."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Počáteční skladové místo"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Zadejte počáteční skladové místo pro tento díl"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Vyberte dodavatele (nebo nechte prázdné pro přeskočení)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Vyberte výrobce (nebo nechte prázdné pro přeskočení)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Číslo dílu výrobce"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Vybraná společnost není platný dodavatel"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Vybraná společnost není platný výrobce"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Výrobce dílu se stejným MPN již existuje"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Dodavatelský díl s tímto SKU již existuje"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Název kategorie"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Budova"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Množství tohoto dílu, které je v současné době ve výrobě"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Zbývající množství tohoto dílu, které má být postaveno"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Skladové položky"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Revize"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Dodavatelé"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Celkem skladem"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Nezařazené zásoby"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Skladové varianty"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Duplikovat díl"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kopírovat počáteční data z jiného dílu"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Počáteční zásoby"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Vytvořit díl s počátečním množstvím zásob"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Informace o dodavateli"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Přidat počáteční informace dodavatele pro tento díl"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kopírovat parametry kategorie"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Kopírovat šablony parametrů z vybrané kategorie dilu"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Stávající obrázek"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Název souboru existujícího obrázku dílu"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Obrázek neexistuje"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Schválit celý kusovník"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Lze postavit"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Vyžadováno pro výrobní objednávku"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Přířazeno výrobním objednávkám"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Vyžadováno pro prodejní objednávky"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Přiřazeno prodejním objednávkám"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr "IPN dílu"
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "Popis dílu"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr "Vyberte díl u kterého chce vytvořit informace inventury (i pro jeho varianty)"
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr "Vyberte kategorii pro obsažení všech dílů v dané kategorii (a podkategoriích)"
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr "Vyberte lokaci pro obsažení všech dílů se zásobami na dané lokaci (včetně pod-lokací)"
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr "Generovat vstupy inventury"
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr "Uložit vstupy inventury pro vybrané díly"
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "Generovat report"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr "Generovat report inventury pro vybrané díly"
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minimální cena"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Přespat vypočítanou hodnotu pro minimální cenu"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Měna minimální ceny"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Maximální cena"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Přespat vypočítanou hodnotu pro maximální cenu"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Měna maximální ceny"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Aktualizovat"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Aktualizovat cenu pro díl"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Nelze převést z poskytnutých měn na {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Minimální cena musí být vyšší než maximální cena"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Maximální cena nesmí být nížší než minimální cena"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr "Množství musí být větší nebo rovno nule"
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Vybrat nadřazenou sestavu"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Vyberte komponentu dílu"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Vyberte díl pro kopírování kusovníku z"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Odstranit existující data"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Odstranit existující položky kusovníku před kopírováním"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Zahrnout zděděné"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Zahrnout položky kusovníku které jsou zdědené z šablonových dílů"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Přeskočit neplatné řádky"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Povolte tuto možnost pro přeskočení neplatných řádků"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Kopírovat náhradní díly"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopírovat náhradní díly při duplikaci položek kusovníku"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Oznámení o nízkých zásobách"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Dostupné zásoby pro {part.name} klesly pod nastavenou minimální úroveň"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Oznámení o zastaralých zásobách"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "Máte 1 skladovou položku blížící se k datu expirace"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "Máte skladem {item_count} položek, jejichž data expirace se blíží"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Bez data expirace"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "Expirovalo před {abs(days_diff)} dny"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Expiruje dnes"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} dní"
@@ -6732,108 +6865,108 @@ msgstr "Činnost nebyla specifikována"
msgid "No matching action found"
msgstr "Nebyla nalezena odpovídající činnost"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Pro data čárového kódu nebyla nalezena shoda"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Pro data čárového kódu byla nalezena shoda"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Model není podporován"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Instance modelu nebyla nalezena"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Čárový kód odpovídá existující položce"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Žádné odpovídající data nebyla nalezena"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Žádné odpovídající díly dodavatelů nebyly nalezeny"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Vícero odpovídajících dílů dodavatelů bylo nalezeno"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Žádný odpovídající plugin pro čárové kódy nebyl nalezen"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Odpovídající díl dodavatele"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Položka již byla obdržena"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Žádný plugin neodpovídá čárový kód dodavatele"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Vícero odpovídajících řádkových položek bylo nalezeno"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Žádná odpovídající řádková položka nebyla nalezena"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Žádná prodejní objednávka nebyla poskytnuta"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Čárový kód neodpovídá žádné existující skladové položce"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Skladová položka se neshoduje s řádkovou položkou"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Nedostatečný počet zásob"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Skladová položka byla přidělena prodejní objednávce"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Nedostatek informací"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Nalezena odpovídající položka"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Dodavatelská položka se neshoduje s řádkovou položkou"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Řádková položka je již dokončena"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Další informace potřebné k přijetí položky"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Obdržené položky objednávky"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Nepodařilo se přijmout řádkovou položku"
@@ -6972,7 +7105,7 @@ msgstr "Poskytuje nativní podporu pro čárové kódy"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr "Zadat zpětnou objednávku"
msgid "Automatically issue orders that are backdated"
msgstr "Automaticky zadávat objednávky které jsou zadany zpětně"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Úrovně"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "Počet úrovní pro export - dejte nula pro exportování všech BOM úrovní"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Celkové množství"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "Zahrnout celkové množství každé části kusovníku"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Skladová data"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Zahrnout údaje o zásobách"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Cenová data"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Zahrnout cenová data"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Dodavatelská data"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Zahrnout dodavatelská data"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Data výrobce"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Zahrnout data výrobce"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Náhradní data"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Zahrnout náhradní data"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Data parametru"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Zahrnout data paramentru"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Exportér více-úrovňových kusovníků"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Poskytuje podoru pro exportování více úrovní kusovníků"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "Úroveň kusovníku"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Náhrada {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Dodavatel {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "SKU dodavatele {n}"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "MPN dodavatele {n}"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Výrobce {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "MPN výrobce {n}"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr "Integrovaná metoda notifikace Slack"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack příchozí webhook url"
+msgid "Slack incoming webhook URL"
+msgstr "URL příchozího Slack Webhooku"
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "InvenTree tiskárna strojových štítků"
msgid "Provides support for printing using a machine"
msgstr "Poskytuje podporu pro tisk pomocí stroje"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "naposledy použito"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Možnosti"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Klíč pluginu"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Název pluginu"
+msgid "Name of the plugin"
+msgstr "Název Pluginu"
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Balíčkový plugin"
msgid "Plugin"
msgstr "Plugin"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nebyl nalezen žádný autor"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Plugin '{p}' není kompatibilní s aktuální verzí InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Plugin vyžaduje alespoň verzi {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Plugin vyžaduje nanejvýš verzi {v}"
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr "Instalace nebyla potvrzena"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr "Musí být uveden název balíčku nebo URL"
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr "Celkem"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Sériové číslo"
@@ -8097,7 +8230,7 @@ msgstr "Report o testu skladové položky"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Instalované položky"
@@ -8130,495 +8263,519 @@ msgstr "Žádný výsledek (povinný)"
msgid "No result"
msgstr "Žádný výsledek"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Soubor aktiva neexistuje"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Soubor obrázku nebyl nalezen"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image tag vyžaduje instanci dílu"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image tag vyžaduje intanci společnosti"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filtrovat dle hloubky lokace"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Filtrovat dle nejvyšší lokace"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Zahrnout pod-lokace ve filtrovaných výsledcích"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Nadřazená místo"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtrovat podle nadřazené lokace"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Název dílu (citlivost písmen na malá a velká písmena)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Název dílu obsahuje (citlivost písmen na malá a velká písmena)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Název dílu (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "IPN dílu (citlivost písmen na malá a velká písmena)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "IPN dílu obsahuje (citlivost písmen na malá a velká písmena)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "IPN dílu (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Minimální zásoby"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Maximální zásoby"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Kód stavu"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Externí umístění"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Spotřebováno výrobním příkazem"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Nainstalováno v jiné skladové položce"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Strom dílů"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Aktualizováno před"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Aktualizováno po"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Inventura před"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Inventura po"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Datum expirace ped"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Datum expirace po"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Zastaralé"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "Zadejte PK skladové položky, abyste vyloučili danou položku a všechny její potomky"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "Umístění kaskády"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "Pokud je pravda, uveďte předměty v podružených místech dané lokace"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "Filtrovat podle numberické ID lokace nebo doslovného 'null'"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Množství je povinné"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Platný díl musí být dodán"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Daný dodavatelský díl neexistuje"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Dodavatelský díl na nastavenou velikost balení, ale znak use_pack_size není nastaven"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Sériové čísla nemohou být zadána pro díl bez sledovanosti"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr "Zahrnout nainstalované"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr "Pokud je pravda, zahrne výslekdy testů pro předměty nainstalované pod danou skladovou položku"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr "Filtrovat podle číselného ID položky skladu"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr "Skladová položka s ID {id} neexistuje"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "Zahrnout varianty"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "Datum po"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "Datum před"
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Typ skladového umístění"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Typy skladových umístění"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Výchozí ikona pro všechny lokace které nemají ikonu nastavenou (volitelné)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Skladové umístění"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Skladová umístění"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Správce"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Vybrat vlastníka"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Skladové položky nelze umístit přímo do strukturálních skladových umístění, ale lze je umístit do podřízených skladových umístění."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Externí"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Toto je externí skladové umístění"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Typ umístění"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Typ tohoto skladového umístění"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Toto skladové umístění nemůžete označit jako strukturální, protože již obsahuje skladové položky!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "{field} neexistuje"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Díl musí být zadán"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Skladové položky nelze umístit do strukturálních skladových umístění!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Nelze vytvořit skladovou položku pro virtuální díl"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Typ dílu ('{self.supplier_part.part}') musí být {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Množství musí být 1 pro položku se sériovým číslem"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Sériové číslo nemůže být nastaveno, když množství je více než 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Položka nemůže patřit sama sobě"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Předmět musí mít stavební referenci pokud is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Stavební reference neukazuje na stejný objekt dílu"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Nadřazená skladová položka"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Základní díl"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Vyberte odpovídající díl dodavatele pro tuto skladovou položku"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Kde se tato skladová položka nachází?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Balení, ve kterém je tato skladová položka uložena"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Instalováno v"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Je tato položka nainstalována v jiné položce?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Sériové číslo pro tuto položku"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Kód šarže pro tuto skladovou položku"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Mnižství"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Zdrojová sestavení"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Postavit pro tuto skladovou položku"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Použito v"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Výrobní příkaz, který spotřeboval tuto skladovou položku"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Zdrojová nákupní objednávka"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Nákupní objednávka pro tuto skladovou položku"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Cílová prodejní objednávka"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Datum expirace pro skladovou položku. Po tomto datu bude položka brána jako expirovaná"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Odstranit po vyčerpání"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Odstranit tuto skladovou položku po vyčerpání zásob"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Jednotková kupní cena v okamžiku nákupu"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Převedeno na díl"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "Množství přesahuje dostupné zásoby"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Díl není nastaven jako sledovatelný"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Množstvní musí být celé číslo"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Množství nesmí překročit dostupné množství zásob ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Sériové čísla musí být poskytnuta jako seznam"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Množství neodpovídá sériovým číslům"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr "Nelze přiřadit zásoby ke strukturálnímu umístění"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Testovací šablona neexistuje"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Skladová položka byla přidělena prodejní objednávce"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Skladová položka je nainstalována v jiné položce"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Skladová položka obsahuje jiné položky"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Skladová položka byla přidělena zákazníkovi"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Skladová položka je ve výrobě"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Serializované zásoby nelze sloučit"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Duplicitní skladové položky"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Skladové položky musí odkazovat na stejný díl"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Skladové položky musí odkazovat na stejný díl dodavatele"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Kódy stavu zásob se musí shodovat"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Zásobová položka nemůže být přesunuta, protože není skladem"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Sledování skladových položek"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Poznámky k záznamu"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Výsledek testu skladové položky"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Pro tuto zkoušku musí být uvedena hodnota"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Pro tento test musí být nahrána příloha"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Neplatná hodnota pro tento test"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Výsledek testu"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Výstupní hodnota testu"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Příloha výsledků testu"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Poznámky testu"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Testovací stanice"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Identifikátor testovací stanice kde byl test proveden"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Začátek"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Čas začátku testu"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Ukončeno"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Čas dokončení testu"
@@ -8662,246 +8819,246 @@ msgstr "Vyberte díl, pro který se má vygenerovat sériové číslo"
msgid "Quantity of serial numbers to generate"
msgstr "Množství sériových čísel k vygenerování"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Testovací šablona pro tento výsledek"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr "Pro tento díl nebyl nalezen žádný odpovídající test"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "ID šablony nebo název testu musí být uveden"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Čas ukončení testu nesmí být dřívější než čas zahájení testu"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Nadřazená položka"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Nadřazená skladová položka"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Použít velikost balení při přidání: definované množství je počet v balení"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "Použít velikost balení"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Zadejte sériová čísla pro nové položky"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Číslo dílu dodavatele"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Expirováno"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Podřízené položky"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Sledování položky"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Nákupní cena této skladové položky za jednotku nebo balení"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Zadejte počet skladových položek k serializaci"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "Nebyla poskytnuta žádná skladová položka"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Množství nesmí překročit dostupné skladové množství ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Cílové skladové umístění"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "K tomuto dílu nelze přiřadit sériová čísla"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Sériová čísla již existují"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Vyberte skladovou položku k instalaci"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Množství k instalaci"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Zadejte množství položek k instalaci"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Přidat poznámku o transakci (volitelné)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Množství k instalaci musí být alespoň 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Skladová položka je nedostupná"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Vybraný díl není v kusovníku"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Množství k instalaci nesmí překročit dostupné množství"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Cílové umístění pro odinstalovanou položku"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Vyberte díl pro převedení do skladové položky"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Vybraný díl není platnou volbou pro převod"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Nelze převést skladovou položku s přiřazeným dílem dodavetele"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Stavový kód skladové položky"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Vybrat skladové položky pro změnu stavu"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Nejsou vybrány žádné skladové položky"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Podumístění"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Nadřazené skladové umístění"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Díl musí být prodejný"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Položka je přidělena prodejní objednávce"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Položka je přidělena výrobnímu příkazu"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Zákazník, kterému mají být přiděleny skladové položky"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Vybraná společnost není zákazník"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Poznámky ke skladové položce"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Musí být poskytnut seznam skladových položek"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Poznámky ke sloučení skladových položek"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Povolit neodpovídající dodavatele"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Povolit sloučení skladových položek s různými díly dodavatele"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Povolit neodpovídající stav"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Povolit sloučení skladových položek s různými stavovými kódy"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Musí být poskytnuty alespoň dvě skladové položky"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Beze změny"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Hodnota primárního klíče skladové položky"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Skladová položka není skladem"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "Skladová položka je již na skladě"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "Množství nesmí být záporné"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Poznámky ke skladovací transakci"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "Sloučit do existující zásoby"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "Sloučit vrácené položky do existujích položek, pokud je to možné"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Další sériové číslo"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Předchozí sériové číslo"
@@ -9383,83 +9540,83 @@ msgstr "Prodejní objednávky"
msgid "Return Orders"
msgstr "Návratové objednávky"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Uživatelské jméno"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Křestní jméno"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Křestní jméno uživatele"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Příjmení"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Příjmení uživatele"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Emailová adresa uživatele"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personál"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Má tento uživatel oprávnění personálu"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Super-uživatel"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Je tento uživatel superuživatel"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Je tento uživatelský účet aktivní"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Pouze superuživatel může toto pole upravit"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Heslo"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Heslo uživatele"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "Přepsat varování"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "Přepsat varování o pravidlech pro heslo"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Nemáte oprávnění k vytváření uživatelů"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Váš účet byl vytvořen."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Pro přihlášení použijte funkci obnovení hesla"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Vítejte v InvenTree"
diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
index a0cdf6435b..f9ab53884a 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint ikke fundet"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
-msgstr ""
+msgstr "Elementer skal angives som en liste"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
+#: InvenTree/api.py:458
+msgid "All filter must only be used with true"
+msgstr "Alle filtre må kun bruges med sand"
#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
-msgid "All filter must only be used with true"
-msgstr ""
-
-#: InvenTree/api.py:473
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
-msgstr ""
+msgstr "Ingen data angivet"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Dette felt skal være unikt."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Bruger har ikke tilladelse til at se denne model"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-mail (igen)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Bekræftelse af e-mailadresse"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Du skal indtaste den samme e-mail hver gang."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Den indtastede email adresse er ikke gyldig."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Det angivne e-mail domæne er ikke godkendt."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Kunne ikke konvertere {original} til {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Ugyldigt antal angivet"
@@ -110,15 +102,15 @@ msgstr "Angiv dato"
#: InvenTree/fields.py:169
msgid "Invalid decimal value"
-msgstr ""
+msgstr "Ugyldig decimalværdi"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Bemærkninger"
@@ -131,87 +123,87 @@ msgstr "Værdi '{name}' vises ikke i mønsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Den angivne værdi matcher ikke det påkrævede mønster: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
-msgstr ""
+msgstr "Kan ikke serialisere mere end 1000 elementer på én gang"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Serienummer streng er tom"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplikeret serienummer"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
-msgstr ""
+msgstr "Ugyldig gruppe: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Ingen serienumre fundet"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
-msgstr ""
+msgstr "Antal unikke serienumre ({n}) skal matche antal ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-tags fra denne værdi"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
-msgstr ""
+msgstr "Data indeholder forbudt markdown indhold"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Forbindelsesfejl"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Serveren svarede med ugyldig statuskode"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Der opstod en fejl"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Serveren svarede med ugyldig Content-Length værdi"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Billedstørrelsen er for stor"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Billeddownload overskred maksimumstørrelsen"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Fjernserver returnerede tomt svar"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Angivet URL er ikke en gyldig billedfil"
#: InvenTree/magic_login.py:31
msgid "Log in to the app"
-msgstr ""
+msgstr "Log ind på appen"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,139 +247,130 @@ msgstr "Reference skal matche det påkrævede mønster"
msgid "Reference number is too large"
msgstr "Referencenummer er for stort"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Ugyldigt valg"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Navn"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Beskrivelse"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Beskrivelse (valgfri)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Sti"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown noter (valgfri)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Stregkode Data"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Tredjeparts stregkode data"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Stregkode Hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unik hash af stregkode data"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Eksisterende stregkode fundet"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverfejl"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
-msgstr ""
+msgstr "Billede"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Vælg valuta fra tilgængelige muligheder"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Dette felt kan ikke være tomt."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Ugyldig værdi"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Eksternt billede"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL til ekstern billedfil"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
#: InvenTree/setting/locales.py:20
msgid "Arabic"
-msgstr ""
+msgstr "Arabisk"
#: InvenTree/setting/locales.py:21
msgid "Bulgarian"
@@ -423,7 +406,7 @@ msgstr "Spansk (Mexikansk)"
#: InvenTree/setting/locales.py:29
msgid "Estonian"
-msgstr ""
+msgstr "Estisk"
#: InvenTree/setting/locales.py:30
msgid "Farsi / Persian"
@@ -443,7 +426,7 @@ msgstr "Hebraisk"
#: InvenTree/setting/locales.py:34
msgid "Hindi"
-msgstr ""
+msgstr "Hindi"
#: InvenTree/setting/locales.py:35
msgid "Hungarian"
@@ -463,11 +446,11 @@ msgstr "Koreansk"
#: InvenTree/setting/locales.py:39
msgid "Lithuanian"
-msgstr ""
+msgstr "Litauisk"
#: InvenTree/setting/locales.py:40
msgid "Latvian"
-msgstr ""
+msgstr "Lettisk"
#: InvenTree/setting/locales.py:41
msgid "Dutch"
@@ -491,7 +474,7 @@ msgstr "Portugisisk (Brasilien)"
#: InvenTree/setting/locales.py:46
msgid "Romanian"
-msgstr ""
+msgstr "Rumænsk"
#: InvenTree/setting/locales.py:47
msgid "Russian"
@@ -499,7 +482,7 @@ msgstr "Russisk"
#: InvenTree/setting/locales.py:48
msgid "Slovak"
-msgstr ""
+msgstr "Slovakisk"
#: InvenTree/setting/locales.py:49
msgid "Slovenian"
@@ -523,7 +506,7 @@ msgstr "Tyrkisk"
#: InvenTree/setting/locales.py:54
msgid "Ukrainian"
-msgstr ""
+msgstr "Ukrainsk"
#: InvenTree/setting/locales.py:55
msgid "Vietnamese"
@@ -537,13 +520,13 @@ msgstr "Kinesisk (forenklet)"
msgid "Chinese (Traditional)"
msgstr "Kinesisk (traditionelt)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
-msgstr ""
+msgstr "Opdatering tilgængelig"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
-msgstr ""
+msgstr "En opdatering til InvenTree er tilgængelig"
#: InvenTree/validators.py:28
msgid "Invalid physical unit"
@@ -553,30 +536,30 @@ msgstr "Ugyldig fysisk enhed"
msgid "Not a valid currency code"
msgstr "Ikke en gyldig valutakode"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
-msgstr ""
+msgstr "Ordre status"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Overordnet produktion"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,423 +579,432 @@ msgstr ""
msgid "Part"
msgstr "Del"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
-msgstr ""
+msgstr "Kategori"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
-msgstr ""
+msgstr "Tildelt til Mig"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
-msgstr ""
+msgstr "Tildelt Til"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
-msgstr ""
+msgstr "Oprettet før"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
-msgstr ""
+msgstr "Oprettet efter"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
-msgstr ""
+msgstr "Har startdato"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
-msgstr ""
+msgstr "Start dato før"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
-msgstr ""
+msgstr "Start dato efter"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Produktion skal anulleres, før den kan slettes"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Forbrugsvare"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Valgfri"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Sporet"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
-msgstr ""
+msgstr "Ordre Udestående"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Allokeret"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Tilgængelig"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Produktionsordre"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
-msgstr ""
+msgstr "Lokation"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Produktionsordrer"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
-msgstr ""
+msgstr "Monteringens stykliste er ikke blevet valideret"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
-msgstr ""
+msgstr "Ansvarlig bruger eller gruppe skal specificeres"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Byggeordre enhed kan ikke ændres"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Produktionsordre reference"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
#: report/templates/report/inventree_sales_order_report.html:28
msgid "Reference"
-msgstr ""
+msgstr "Reference"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Produktionsordre som er tildelt denne produktion"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Vælg dele til produktion"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Salgsordrereference"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Salgsordre, som er tildelt denne produktion"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Kilde Lokation"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
-msgstr ""
+msgstr "Ekstern Byg"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
-msgstr ""
+msgstr "Denne byggeordre er gennemført eksternt"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Destinations Placering"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Vælg placering, hvor de færdige elementer vil blive gemt"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Produktions antal"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Antal lagervarer som skal produceres"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Afsluttede elementer"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Antal lagervarer som er færdiggjort"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Produktions Status"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Produktions statuskode"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Batch Kode"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Batch kode til dette produktions output"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Oprettelsesdato"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
-msgstr ""
+msgstr "Planlagt startdato for denne byggeordre"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Projekteret afslutningsdato"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Dato for afslutning"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "udført af"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Udstedt af"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Bruger som udstedte denne byggeordre"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Ansvarlig"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Bruger eller gruppe ansvarlig for denne byggeordre"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Ekstern link"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link til ekstern URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Bygge Prioritet"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioritet af denne byggeordre"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
-msgstr ""
+msgstr "Projektkode"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
-msgstr ""
+msgstr "Projektkode for denne byggeordre"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Bygningsordre {build} er fuldført"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "En byggeordre er fuldført"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
-msgstr ""
+msgstr "Antal"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
-msgstr ""
+msgstr "Lagervarer"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
-msgstr ""
+msgstr "Kilde lagervare"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
-msgstr ""
+msgstr "Del Navn"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
-msgstr ""
+msgstr "Serienummer"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
-msgstr ""
+msgstr "Indtast serienumre for bygge output"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
-msgstr ""
+msgstr "Automatisk alloker serienumre"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
-msgstr ""
+msgstr "Følgende serienumre findes allerede eller er ugyldige"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Ikke tilladt"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Accepter som forbrugt af denne byggeordre"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Accepter Ikke tildelt"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Accepter ufuldført"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Bygge linje"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
-msgstr ""
+msgstr "Varen skal være på lager"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
-msgstr ""
+msgstr "Tilgængeligt antal ({q}) overskredet"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
-msgstr ""
+msgstr "Stykliste Reference"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
-msgstr ""
+msgstr "Stykliste del ID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
+msgstr "Stykliste Del Navn"
+
+#: build/serializers.py:1242
+msgid "Install Into"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
-msgstr ""
+msgstr "Byg"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
-msgstr ""
+msgstr "Leverandør Del"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
-msgstr ""
+msgstr "Tildelt Antal"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
-msgstr ""
+msgstr "Stykliste Del"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
-msgstr ""
+msgstr "I Produktion"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
-msgstr ""
+msgstr "Ekstern Lager"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
-msgstr ""
+msgstr "Tilgængelig Lager"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1467,74 +1471,78 @@ msgstr "Produktion"
#: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:51
#: order/status_codes.py:81
msgid "On Hold"
-msgstr ""
+msgstr "På Hold"
#: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:53
#: order/status_codes.py:84
msgid "Cancelled"
msgstr "Annulleret"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Fuldført"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
-msgstr ""
+msgstr "Ingen plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Projekt Kode Label"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
-msgstr ""
+msgstr "Opdateret"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
-msgstr ""
+msgstr "Unik projekt kode"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
-msgstr ""
+msgstr "Projektbeskrivelse"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
-msgstr ""
+msgstr "Værdien skal være en boolsk værdi"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
-msgstr ""
+msgstr "Værdi skal være et heltalsværdi"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
-msgstr ""
+msgstr "Skal være et gyldigt tal"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
-msgstr ""
+msgstr "Værdien består ikke valideringskontrol"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
-msgstr ""
+msgstr "Nøglestrengen skal være unik"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Bruger"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
-msgstr ""
+msgstr "Pris"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
-msgstr ""
+msgstr "Aktiv"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
-msgstr ""
+msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
-msgstr ""
+msgstr "Token for adgang"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
-msgstr ""
+msgstr "Hemmelighed"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
-msgstr ""
+msgstr "Besked ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
-msgid "Host"
-msgstr ""
-
-#: common/models.py:1563
-msgid "Host from which this message was received"
-msgstr ""
-
-#: common/models.py:1571
-msgid "Header"
-msgstr ""
-
-#: common/models.py:1572
-msgid "Header of this message"
-msgstr ""
-
#: common/models.py:1579
+msgid "Host"
+msgstr "Vært"
+
+#: common/models.py:1580
+msgid "Host from which this message was received"
+msgstr "Vært, hvorfra denne meddelelse blev modtaget"
+
+#: common/models.py:1588
+msgid "Header"
+msgstr "Overskrift"
+
+#: common/models.py:1589
+msgid "Header of this message"
+msgstr "Overskrift for denne besked"
+
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
-msgstr ""
+msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
-msgstr ""
+msgstr "Titel"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
-msgstr ""
+msgstr "Tilknytning"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
-msgstr ""
+msgstr "Publiceret"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
-msgstr ""
+msgstr "Forfatter"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
-msgstr ""
+msgstr "Opsummering"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
-msgstr ""
-
-#: common/models.py:1735
-msgid "Was this news item read?"
-msgstr ""
+msgstr "Læs"
#: common/models.py:1752
-msgid "Image file"
-msgstr ""
+msgid "Was this news item read?"
+msgstr "Blev dette nyhedselement læst?"
-#: common/models.py:1764
+#: common/models.py:1769
+msgid "Image file"
+msgstr "Billedfil"
+
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
-msgstr ""
+msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Vedhæftning"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Manglende fil"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Manglende eksternt link"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Vælg fil, der skal vedhæftes"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
-msgstr ""
+msgstr "Filstørrelse"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
-msgstr ""
+msgstr "Filstørrelse i bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
-msgstr ""
+msgstr "Værdi"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
-msgstr ""
+msgstr "Numerisk værdi, der vil blive gemt i modeldatabasen"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
-msgstr ""
+msgstr "Label"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
-msgstr ""
+msgstr "Farve"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
-msgstr ""
+msgstr "Farve der vil blive vist på frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
-msgstr ""
+msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
-msgstr ""
+msgstr "Låst"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
-msgstr ""
+msgstr "Parameter skabelon navn skal være unikt"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
-msgstr ""
+msgstr "Stregkode Scan"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
-msgstr ""
+msgstr "Stregkode data"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
-msgid "Sent"
-msgstr ""
-
-#: common/models.py:3000
-msgid "Failed"
-msgstr ""
-
-#: common/models.py:3003
-msgid "Delivered"
-msgstr ""
-
-#: common/models.py:3011
-msgid "Confirmed"
-msgstr ""
-
-#: common/models.py:3017
-msgid "Inbound"
-msgstr ""
-
#: common/models.py:3018
+msgid "Sent"
+msgstr "Sendt"
+
+#: common/models.py:3019
+msgid "Failed"
+msgstr "Fejlede"
+
+#: common/models.py:3022
+msgid "Delivered"
+msgstr "Leveret"
+
+#: common/models.py:3030
+msgid "Confirmed"
+msgstr "Bekræftet"
+
+#: common/models.py:3036
+msgid "Inbound"
+msgstr "Indkommende"
+
+#: common/models.py:3037
msgid "Outbound"
-msgstr ""
-
-#: common/models.py:3023
-msgid "No Reply"
-msgstr ""
-
-#: common/models.py:3024
-msgid "Track Delivery"
-msgstr ""
-
-#: common/models.py:3025
-msgid "Track Read"
-msgstr ""
-
-#: common/models.py:3026
-msgid "Track Click"
-msgstr ""
-
-#: common/models.py:3029 common/models.py:3132
-msgid "Global ID"
-msgstr ""
+msgstr "Udgående"
#: common/models.py:3042
+msgid "No Reply"
+msgstr "Intet Svar"
+
+#: common/models.py:3043
+msgid "Track Delivery"
+msgstr "Spor Levering"
+
+#: common/models.py:3044
+msgid "Track Read"
+msgstr "Spor Læst"
+
+#: common/models.py:3045
+msgid "Track Click"
+msgstr "Spor Klik"
+
+#: common/models.py:3048 common/models.py:3151
+msgid "Global ID"
+msgstr "Global ID"
+
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
-msgstr ""
+msgstr "Identifikator for denne meddelelse (leveres muligvis af et eksternt system)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
-msgstr ""
+msgstr "Tråd ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
-msgstr ""
+msgstr "E-mail Tråd"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
-msgstr ""
+msgstr "E-mail Tråde"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
-msgstr ""
+msgstr "Nøgle"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Filnavn"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
-msgstr ""
+msgstr "Firmanavn"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
-msgstr ""
+msgstr "Standardvaluta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
-msgstr ""
+msgstr "Liste over understøttede valutakoder"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
-msgstr ""
+msgstr "Valuta Opdaterings Interval"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
-msgstr ""
+msgstr "Maksimum tilladte downloadstørrelse for fjernbillede"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Placeret"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datafil"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Afsendt"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr "Refusion"
msgid "Reject"
msgstr "Afvis"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7253,19 +7386,19 @@ msgstr ""
#: plugin/builtin/integration/core_notifications.py:67
msgid "InvenTree Email Notifications"
-msgstr ""
+msgstr "InvenTree E-Mail Notifikationer"
#: plugin/builtin/integration/core_notifications.py:70
msgid "Integrated email notification methods"
-msgstr ""
+msgstr "Integrerede E-mail notifikations metoder"
#: plugin/builtin/integration/core_notifications.py:75
msgid "Allow email notifications"
-msgstr ""
+msgstr "Tillad E-mail notifikationer"
#: plugin/builtin/integration/core_notifications.py:76
msgid "Allow email notifications to be sent to this user"
-msgstr ""
+msgstr "Tillad at E-mail notifikationer sendes til denne bruger"
#: plugin/builtin/integration/core_notifications.py:123
msgid "InvenTree Slack Notifications"
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
-msgstr ""
+msgstr "Fornavn på brugeren"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
-msgstr ""
+msgstr "Efternavn"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
-msgstr ""
+msgstr "Efternavn på brugeren"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
-msgstr ""
+msgstr "Email adresse på brugeren"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
-msgstr ""
+msgstr "Personale"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
-msgstr ""
+msgstr "Har denne bruger personale tilladelser"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
-msgstr ""
+msgstr "Superbruger"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
-msgstr ""
+msgstr "Er denne bruger en superbruger"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
-msgstr ""
+msgstr "Er denne brugerkonto aktiv"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
-msgstr ""
+msgstr "Kun en superbruger kan justere dette felt"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
-msgstr ""
+msgstr "Adgangskode"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
-msgstr ""
+msgstr "Brugers adgangskode"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
-msgstr ""
+msgstr "Tilsidesæt advarsel"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
-msgstr ""
+msgstr "Tilsidesæt advarslen om adgangskode regler"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
-msgstr ""
+msgstr "Du har ikke tilladelse til at oprette brugere"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
-msgstr ""
+msgstr "Din konto er oprettet."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
-msgstr ""
+msgstr "Benyt funktionen til nulstilling af adgangskode til at logge ind"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
-msgstr ""
+msgstr "Velkommen til InvenTree"
diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
index c89044ca68..ce34f54156 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API-Endpunkt nicht gefunden"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
-msgstr ""
+msgstr "Elemente müssen als Liste angegeben werden"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Ungültige Artikelliste angegeben"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filter müssen als Dict gegeben sein"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Ungültige Filter angegeben"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Alle Filter dürfen nur mit true verwendet werden"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Keine Gegenstände erfüllen die vorgegebenen Kriterien"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Keine Daten verfügbar"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Dieses Feld muss eindeutig sein."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-Mail (nochmal)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Bestätigung der E-Mail Adresse"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "E-Mail Adressen müssen übereinstimmen."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Konnte {original} nicht in {unit} umwandeln"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
@@ -112,13 +104,13 @@ msgstr "Datum eingeben"
msgid "Invalid decimal value"
msgstr "Ungültiger Dezimalwert"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notizen"
@@ -131,75 +123,75 @@ msgstr "Wert '{name}' hält das Musterformat nicht ein"
msgid "Provided value does not match required pattern: "
msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Kann nicht mehr als 1000 Elemente auf einmal serialisieren"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Keine Seriennummer angegeben"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplizierter Seriennummer"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Ungültige Gruppe: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Gruppenbereich {group} überschreitet die zulässige Menge ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Keine Seriennummern gefunden"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
-msgstr ""
+msgstr "Anzahl der eindeutigen Seriennummern ({n}) muss mit der Anzahl ({q}) übereinstimmen"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Entferne HTML-Tags von diesem Wert"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Daten enthalten verbotene Markdown-Inhalte"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Server antwortete mit ungültigem Statuscode"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Ausnahme aufgetreten"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Bild ist zu groß"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Bilddownload überschreitet maximale Größe"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Remote-Server gab leere Antwort zurück"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
@@ -207,11 +199,11 @@ msgstr "Angegebene URL ist kein gültiges Bild"
msgid "Log in to the app"
msgstr "Bei der App anmelden"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Sie müssen die Zwei-Faktor-Authentifizierung aktivieren, bevor Sie etwas tun können."
@@ -255,135 +247,126 @@ msgstr "Referenz muss erforderlichem Muster entsprechen"
msgid "Reference number is too large"
msgstr "Referenznummer ist zu groß"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Name"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Beschreibung"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Beschreibung (optional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Pfad"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown Notizen (optional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Barcode-Daten"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Drittanbieter-Barcode-Daten"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Barcode-Hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Eindeutiger Hash der Barcode-Daten"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Bestehender Barcode gefunden"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Aufgabe fehlgeschlagen"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Hintergrundarbeiteraufgabe '{f}' fehlgeschlagen nach {n} Versuchen"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverfehler"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Bild"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Währung"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Währung aus verfügbaren Optionen auswählen"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Dieses Feld darf nicht leer sein."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Grafiken aus externen Quellen"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL der Remote-Bilddatei"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Fehler beim Herunterladen des Bildes von entfernter URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Content type stimmt nicht mit der benötigten Mixin-Klasse überein"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Chinesisch (Vereinfacht)"
msgid "Chinese (Traditional)"
msgstr "Chinesisch (Traditionell)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Update verfügbar"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Ein Update für InvenTree ist verfügbar"
@@ -553,30 +536,30 @@ msgstr "Ungültige physikalische Einheit"
msgid "Not a valid currency code"
msgstr "Kein gültiger Währungscode"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Bestellstatus"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Eltern-Bauauftrag"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Varianten einschließen"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Varianten einschließen"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Varianten einschließen"
msgid "Part"
msgstr "Teil"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategorie"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Vorgänger-Build"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Mir zugewiesen"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Zugewiesen zu"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Erstellt vor"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Erstellt nach"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Hat Startdatum"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Gültigkeitsdauer vor"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Gültigkeitsdauer nach"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "geplantes Bestelldatum"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Zieldatum vor"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Zieldatum nach"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Abgeschlossen vor"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Abgeschlossen nach"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Baum ausschließen"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Verbrauchsmaterial"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Optional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Baugruppe"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Nachverfolgt"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Prüfbar"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Offene Bestellung"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Zugeordnet"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Verbraucht"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Verfügbar"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Bestellt"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Bauauftrag"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Lagerort"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Bauprodukt"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Bauaufträge"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Die Stückliste wurde noch nicht kontrolliert"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Baureihenfolge kann nicht für ein inaktives Teil erstellt werden"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Baureihenfolge kann nicht für ein inaktives Teil erstellt werden"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Teil in Bauauftrag kann nicht geändert werden"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Zieldatum muss nach dem Startdatum liegen"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Bauauftragsreferenz"
msgid "Reference"
msgstr "Referenz"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Kurze Beschreibung des Baus (optional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Teil für den Bauauftrag wählen"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Auftrag Referenz"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Quell-Lagerort"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Ziel-Lagerort"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Bau-Anzahl"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Anzahl der zu bauenden Lagerartikel"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Fertiggestellte Teile"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Anzahl der fertigen Lagerartikel"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Bauauftrags-Status"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Bau-Statuscode"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Losnummer"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Erstelldatum"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Startdatum des Bauauftrags"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Geplantes Startdatum des Bauauftrags"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Aufgegeben von"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Externer Link"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Bauauftrags-Priorität"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Priorität dieses Bauauftrags"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Projektcode"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Projektcode für diesen Auftrag"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Bauauftrag {build} wurde fertiggestellt"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Ein Bauauftrag wurde fertiggestellt"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "kein Endprodukt angegeben"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Endprodukt bereits hergstellt"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Menge kann nicht größer als die Ausgangsmenge sein"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Bauauftragsposition"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Objekt bauen"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,435 +1016,447 @@ msgstr "Objekt bauen"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Anzahl"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Erforderliche Menge für Auftrag"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Reserviermenge muss größer null sein"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Lagerartikel"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Quell-Lagerartikel"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Name des Teils"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Endprodukt"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Dieses Endprodukt wurde bereits fertiggestellt"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Ganzzahl für verfolgbare Teile erforderlich"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Seriennummer"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Seriennummer für dieses Endprodukt eingeben"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Lagerort für Bauprodukt"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Seriennummern automatisch zuweisen"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Lagerort für ausgemusterte Ausgänge"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Zuteilungen verwerfen"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Lagerort für fertige Endprodukte"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Unvollständige Zuweisung akzeptieren"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Zugewiesen Bestand verbrauchen"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Unfertige Endprodukte entfernen"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Nicht erlaubt"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Als von diesem Bauauftrag verbraucht setzen"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Überbelegter Lagerbestand"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Der Bestand einiger Lagerartikel ist überbelegt"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Nicht zugewiesene akzeptieren"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Unvollständig Zuweisung akzeptieren"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Bauauftragsposition"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Endprodukt"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Bauauftragspositionsartikel"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Teil muss auf Lager sein"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Verfügbare Menge ({q}) überschritten"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Zuweisungen müssen angegeben werden"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Lagerort ausschließen"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Lagerartikel vom ausgewählten Ort ausschließen"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Wechselbares Lagerbestand"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Ersatzbestand"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Zuordnung von Ersatzteilen erlauben"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Optionale Positionen"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Fehler beim Starten der automatischen Zuweisung"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "Alle Artikel"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "Unverfolgte Artikel"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "Verfolgte Artikel"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "Item-Typ"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "Elementtyp zur automatischen Zuweisung auswählen"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Stücklisten-Referenz"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
-msgstr ""
+msgstr "Stückliste Teil-ID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
+msgstr "Stückliste Teil-Name"
+
+#: build/serializers.py:1242
+msgid "Install Into"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Zusammenbau"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Zuliefererteil"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Zugewiesene Menge"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
-msgstr ""
+msgstr "Teilkategorienname"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Vererbt"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "In Produktion"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
-msgstr ""
+msgstr "Geplant zum Erstellen"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Externes Lager"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Verfügbares Ersatzmaterial"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
-msgstr ""
+msgstr "Verfügbarer Varianten Lagerbestand"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
-msgstr ""
+msgstr "Verbrauchsmenge überschreitet die zugewiesene Menge"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
-msgstr ""
+msgstr "Optionale Notizen für den Bestandsverbrauch"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
-msgstr ""
+msgstr "Dupliziere Bauauftrag Artikelzuordnung"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
-msgstr ""
+msgstr "Mindestens ein Element oder eine Zeile muss angegeben werden"
#: build/status_codes.py:11 generic/states/tests.py:21
#: generic/states/tests.py:131 order/status_codes.py:12
@@ -1467,74 +1471,78 @@ msgstr "in Arbeit"
#: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:51
#: order/status_codes.py:81
msgid "On Hold"
-msgstr ""
+msgstr "Pausiert"
#: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:53
#: order/status_codes.py:84
msgid "Cancelled"
msgstr "Storniert"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Fertig"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Bestand für Bauauftrag erforderlich"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
-msgstr ""
+msgstr "Bauauftrag {build} erfordert zusätzlichen Bestand"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Überfälliger Bauauftrag"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Bauauftrag {bo} ist jetzt überfällig"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Link"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Datei"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
-msgstr ""
+msgstr "Benutzer hat keine Berechtigung zum Löschen der Anhänge"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Ungültiges Währungskürzel"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Doppeltes Währungskürzel"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Kein Plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Aktualisiert"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Zeitstempel der letzten Aktualisierung"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Eindeutiger Projektcode"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Projektbeschreibung"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Wert ist keine gültige Option"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Benutzer"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Preis"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Geheimnis"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Kopfzeile"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Body"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "ID"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Titel"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Veröffentlicht"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Zusammenfassung"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Gelesen"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Bilddatei"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Benutzerdefinierte Einheit"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Einheitensymbol muss eindeutig sein"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Einheitsname muss eine gültige Kennung sein"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Einheitsname"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Optionales Einheitssymbol"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definition"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Einheitsdefinition"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Anhang"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Fehlende Datei"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Modelltyp"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Upload Datum"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Datum der hochgeladenen Datei"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Dateigröße"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Dateigröße in Bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Ungültiger Modelltyp für Anhang angegeben"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Wert"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Name des Bundeslandes"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Bezeichnung"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Bezeichnung, die im Frontend angezeigt wird"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Farbe"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Farbe, die im Frontend angezeigt wird"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Name muss sich von den Namen des Referenzstatus unterscheiden"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Auswahlliste"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Auswahllisten"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Name der Auswahlliste"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Beschreibung der Auswahlliste"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Gesperrt"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Ist diese Auswahlliste gesperrt?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Kann diese Auswahlliste benutzt werden?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Standardeintrag"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Erstellt"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Checkbox-Parameter können keine Einheiten haben"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Checkbox-Parameter können keine Auswahl haben"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Auswahl muss einzigartig sein"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Einheiten"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Physikalische Einheiten für diesen Parameter"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Parameter-Beschreibung"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Checkbox"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Ist dieser Parameter eine Checkbox?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Auswahlmöglichkeiten"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Aktiviert"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Ungültige Auswahl für Parameterwert"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Wert"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Notiz"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Optionales Notizfeld"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
-msgstr "Barcodescan"
+msgstr "Barcode Scan"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Zeitstempel"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontext"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Ergebnis"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Angekündigt"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Gesendet"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Fehlgeschlagen"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Zugestellt"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Bestätigt"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Eingehend"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Ausgehend"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Keine Rückmeldung"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Schlüssel"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,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:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Artikel erhalten"
@@ -2351,93 +2359,101 @@ msgstr "Artikel wurden aus einer Bestellung erhalten"
msgid "Items have been received against a return order"
msgstr "Artikel wurden aus einer Rücksendung erhalten"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Wird ausgeführt"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Anstehende Aufgaben"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Geplante Aufgaben"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Fehlgeschlagene Aufgaben"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Aufgabe-ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Eindeutige Aufgaben-ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Sperren"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Sperrzeit"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Aufgabenname"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funktion"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funktionsname"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Parameter"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Aufgaben-Parameter"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Schlüsselwort Parameter"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Schlüsselwort Parameter für Aufgaben"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Dateiname"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Modelltyp"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Keine Gruppe"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Seiten-URL ist durch die Konfiguration gesperrt"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Neustart erforderlich"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Ausstehende Migrationen"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Anzahl der ausstehenden Datenbankmigrationen"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Name der Serverinstanz"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Anzeige von `Über` einschränken"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Zeige das `Über` Fenster nur Administratoren"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Firmenname"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Basis-URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Standardwährung"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Verfügbare Währungen"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Liste der unterstützten Währungskürzel"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Währungsaktualisierungsintervall"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "Tage"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Währungs-Aktualisierungs-Plugin"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Download-Größenlimit"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maximal zulässige Größe für heruntergeladene Bilder"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Benutzer-Agent zum Herunterladen von Daten"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Strenge URL-Prüfung"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Prüfungsintervall aktualisieren"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatische Sicherung"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervall für automatische Sicherung"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Anzahl der Tage zwischen automatischen Sicherungen"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Aufgabenlöschinterval"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Löschintervall für Fehlerprotokolle"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Löschintervall für Benachrichtigungen"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Barcode-Eingabeverzögerung"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Verzögerungszeit bei Barcode-Eingabe"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Barcode Webcam-Unterstützung"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Barcode-Scannen über Webcam im Browser erlauben"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Artikelrevisionen"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Revisions-Feld für Artikel aktivieren"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Löschen aus Baugruppe erlauben"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Erlaube das Löschen von Teilen, die in einer Baugruppe verwendet werden"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Verkäuflich"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuell"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Initialer Lagerbestand"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Initiale Lieferantendaten"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Anzeigeformat für Teilenamen"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Format für den Namen eines Teiles"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Standardsymbol der Teilkategorie"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Dezimalstellen für minimalen Preis"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Dezimalstellen für maximalen Preis"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Zulieferer-Preise verwenden"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Kaufverlauf überschreiben"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Lagerartikel-Preis verwenden"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Lagerartikelpreis Alter"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Variantenpreise verwenden"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Nur aktive Varianten"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervall für Neuberechnung von Preisen"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Interne Preisüberschreibung"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Labeldruck aktivieren"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Labeldruck über die Website aktivieren"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Label Bild DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Berichte aktivieren"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Berichterstellung aktivieren"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Berichtsfehler protokollieren"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Seitengröße"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Parameter Einheiten durchsetzen"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Global einzigartige Seriennummern"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Erschöpften Lagerartikel löschen"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Losnummer Vorlage"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Standardsymbol für Lagerort"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Zeige installierte Lagerartikel"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Prüfe BOM bei der Installation von Elementen"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Bauauftragsreferenz-Muster"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Verantwortlicher Besitzer erforderlich"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blockieren bis Test bestanden"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Rücksendungen aktivieren"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Referenz Muster für Rücksendungen"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Abgeschlossene Rücksendungen bearbeiten"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Auftragsreferenz-Muster"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Auftrag Standardsendung"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Erstelle eine Standardsendung für Aufträge"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Abgeschlossene Aufträge bearbeiten"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Versendete Bestellungen als abgeschlossen markieren"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Als versendet markierte Aufträge werden automatisch abgeschlossen und überspringen den Status \"Versandt\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Bestellungsreferenz-Muster"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Abgeschlossene Einkaufsaufträge bearbeiten"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Bestellungen automatisch abschließen"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Registrierung erlauben"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "SSO Selbstregistrierung aktivieren"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "SSO Gruppensynchronisation aktivieren"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO Gruppenschlüssel"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Erlaubte Domains"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Nach Plugin-Aktualisierungen suchen"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Externe Standorte ausschließen"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Automatische Inventur-Periode"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Vollständige Namen von Benutzern anzeigen"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Teststation-Daten aktivieren"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Vollständige Namen von Benutzern anzeigen"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Teststation-Daten aktivieren"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Teil ist aktiv"
msgid "Manufacturer is Active"
msgstr "Hersteller ist aktiv"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Lieferantenteil ist aktiv"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Internes Teil ist aktiv"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Lieferant ist aktiv"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Firma"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Firmen"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Firmenbeschreibung"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Firmenbeschreibung"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Webseite"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Firmenwebsite Adresse/URL"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Kontakt-Tel."
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kontakt-Telefon"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontakt-Email"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Anlaufstelle"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Ist dieses Unternehmen aktiv?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Ist Kunde"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Verkaufen Sie Teile an diese Firma?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Ist Zulieferer"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Kaufen Sie Teile von dieser Firma?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Ist Hersteller"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adresse"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adressen"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Firma auswählen"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Adresstitel"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Titel zur Beschreibung des Adresseintrages"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Primäre Adresse"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Als primäre Adresse festlegen"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Linie 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adresszeile 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Linie 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adresszeile 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Postleitzahl"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Stadt/Region"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Postleitzahl Stadt/Region"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Staat/Provinz"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Bundesland"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Land"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adresse Land"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Versandnotizen"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notizen für Versandkurier"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Interne Versandnotizen"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Versandnotizen für interne Verwendung"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link zu Adressinformationen (extern)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Herstellerteil"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Basisteil"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Teil auswählen"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "Externe URL für das Herstellerteil"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Teilbeschreibung des Herstellers"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Packeinheiten müssen größer als Null sein"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Ist dieser Lieferantenteil aktiv?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Herstellerteil auswählen"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "Teil-URL des Zulieferers"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Verpackungen"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Packmenge"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "Vielfache"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Verfügbare Menge von Lieferanten"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Datum des letzten Updates der Verfügbarkeitsdaten"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Standard-Währung für diesen Zulieferer"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Firmenname"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Auf Lager"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Platziert"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datendatei"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Zu importierende Datei"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Spalten"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Importstatus"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Standardwerte"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
-msgstr ""
+msgstr "Feld"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
-msgstr ""
+msgstr "Spalte"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Fehler"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Gültig"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label"
msgid "Connected"
msgstr "Verbunden"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Unbekannt"
@@ -4540,7 +4589,7 @@ msgstr "Drucken"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "Warnung"
#: machine/machine_types/label_printer.py:235
msgid "No media"
@@ -4548,7 +4597,7 @@ msgstr "Keine Medien"
#: machine/machine_types/label_printer.py:236
msgid "Paper jam"
-msgstr ""
+msgstr "Papierstau"
#: machine/machine_types/label_printer.py:237
msgid "Disconnected"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Bestellreferenz"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Ausstehend"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Erstellt von"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Hat Preise"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Bestellung"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Bestellung abgeschlossen"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Internes Teil"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Bestellung ausstehend"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Fertig"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Bestellung"
msgid "Sales Order"
msgstr "Auftrag"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Gesamtpreis"
msgid "Total price for this order"
msgstr "Gesamtpreis für diese Bestellung"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Auftragswährung"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Auftragsbeschreibung (optional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Projektcode für diesen Auftrag auswählen"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link auf externe Seite"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Zieldatum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Geplantes Lieferdatum für Auftrag."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Ansprechpartner für diesen Auftrag"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Firmenadresse für diesen Auftrag"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Bestellungs-Status"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Zulieferer Bestellreferenz"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Ziel-Lager"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Position stimmt nicht mit Kaufauftrag überein"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Kunde"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Bestellung ist bereits abgeschlossen"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Bestellung ist bereits storniert"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Positionsbeschreibung (optional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Zusätzlicher Kontext für diese Zeile"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Stückpreis"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Versendet"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Versendete Menge"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Versanddatum"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Lieferdatum"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Versanddatum"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Kontrolliert von"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Benutzer, der diese Sendung kontrolliert hat"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Sendung"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Sendungsnummer"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informationen zur Sendungsverfolgung"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Rechnungsnummer"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Referenznummer für zugehörige Rechnung"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Sendung wurde bereits versandt"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Sendung hat keine zugewiesene Lagerartikel"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Lagerartikel wurde nicht zugewiesen"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Reserviermenge muss größer null sein"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Auftrag gehört nicht zu Sendung"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Sendung gehört nicht zu Auftrag"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Position"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Sendungsnummer-Referenz"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Position"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Lagerartikel für Zuordnung auswählen"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Rücksendungsreferenz"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Firma von der die Artikel zurückgeschickt werden"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Status der Rücksendung"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Artikel zur Rücksendung auswählen"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Empfangsdatum"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Das Datum des Empfangs dieses Rücksendeartikels"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Ergebnis"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Ergebnis für dieses Zeilenelement"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Parameter kopieren"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Positionen"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Abgeschlossene Positionen"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Lieferant"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Bestellung kann nicht verworfen werden"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Auftrag hat unvollständige Positionen"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Der Auftrag ist nicht offen"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automatische Preisgestaltung"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Kaufpreiswährung"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Elemente zusammenfügen"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum zu einem Zeilenelement"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Lieferanten-Teilenummer"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Zuliefererteil muss ausgewählt werden"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Bestellung muss angegeben sein"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Lieferant muss mit der Bestellung übereinstimmen"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Position"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Zielort für empfangene Teile auswählen"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Losnummer für eingehende Lagerartikel"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Seriennummern für eingehende Lagerartikel"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Barcode"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Gescannter Barcode"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Barcode ist bereits in Verwendung"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Positionen müssen angegeben werden"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Ziel-Lagerort muss angegeben werden"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Barcode muss eindeutig sein"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Abgeschlossene Sendungen"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Verkaufspreis-Währung"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Keine Sendungsdetails angegeben"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Position ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Anzahl muss positiv sein"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Seriennummern zum Zuweisen eingeben"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Sendung wurde bereits versandt"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Sendung ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Folgende Serienummern konnten nicht gefunden werden"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Artikel der Bestellzeile zurücksenden"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Artikel entspricht nicht der Rücksendeschrift"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Artikel wurde bereits erhalten"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Verkaufspreis-Währung"
@@ -5532,1174 +5613,1226 @@ msgstr "Rückerstattung"
msgid "Reject"
msgstr "Ablehnen"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Überfällige Bestellung"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Bestellung {po} ist jetzt überfällig"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Überfälliger Auftrag"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Auftrag {so} ist jetzt überfällig"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Markiert"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Nach markierten Kategorien filtern"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Ebenen"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filter nach Kategorietiefe"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Oberste Ebene"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Mehrstufig"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Übergeordnetes"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Nach übergeordneter Kategorie filtern"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Unterkategorien in der angegebenen Kategorie ausschließen"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Ergebnisse"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Verwendet"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Strukturell"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Symbol"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Symbol (optional)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Teile"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Dieses Teil kann nicht gelöscht werden, da es in einem Bauauftrag verwendet wird"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Artikelbeschreibung (optional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Version"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
-msgstr ""
+msgstr "Revision von"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Standard Zulieferer"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Standard Zuliefererteil"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Maßeinheit für diesen Teil"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Verantwortlicher Besitzer für dieses Teil"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Währung für die Berechnung der Preise im Cache"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimale Stücklisten Kosten"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minimale Kosten für Teile"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maximale Stücklisten Kosten"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maximale Kosten für Teile"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimale Einkaufskosten"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Minimale historische Kaufkosten"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maximale Einkaufskosten"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Maximale historische Einkaufskosten"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimaler interner Preis"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimale Kosten basierend auf den internen Staffelpreisen"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maximaler interner Preis"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maximale Kosten basierend auf internen Preisstaffeln"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimaler Lieferantenpreis"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Mindestpreis für Teil von externen Lieferanten"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maximaler Lieferantenpreis"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maximaler Preis für Teil von externen Lieferanten"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimale Variantenkosten"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Berechnete minimale Kosten für Variantenteile"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maximale Variantenkosten"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Berechnete maximale Kosten für Variantenteile"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimale Kosten"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Mindestkosten überschreiben"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maximale Kosten"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Maximale Kosten überschreiben"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Berechnete Mindestkosten"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Berechnete Maximalkosten"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Mindestverkaufspreis"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Mindestverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maximaler Verkaufspreis"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maximalverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Mindestverkaufskosten"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Minimaler historischer Verkaufspreis"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maximale Verkaufskosten"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Maximaler historischer Verkaufspreis"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Teil für die Inventur"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Stückzahl"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Datum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Datum der Inventur"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Mindestbestandswert"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Geschätzter Mindestwert des vorhandenen Bestands"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maximaler Bestandswert"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Geschätzter Maximalwert des vorhandenen Bestands"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Testschlüssel"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Vereinfachter Schlüssel zum Test"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Ist dieser Test aktiviert?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "überprüft"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Diese Stücklistenposition wurde validiert"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Wird vererbt"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Übergeordnete Kategorie"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Unter-Kategorien"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Ergebnisse"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Kaufwährung dieses Lagerartikels"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Originalteil"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Originalteil zum Duplizieren auswählen"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Bild kopieren"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Bild vom Originalteil kopieren"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Stückliste kopieren"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Stückliste vom Originalteil kopieren"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Parameter kopieren"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Parameterdaten vom Originalteil kopieren"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Anmerkungen kopieren"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Notizen aus Originalteil kopieren"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Start-Bestandsmenge"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Initialer Lagerort"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Lagerstandort für dieses Teil angeben"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Hersteller-Teilenummer"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Ausgewählte Firma ist kein gültiger Lieferant"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Ausgewählte Firma ist kein gültiger Hersteller"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Herstellerteil mit dieser MPN existiert bereits"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Lieferantenteil mit dieser SKU existiert bereits"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategoriename"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Im Bau"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Lagerartikel"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Zulieferer"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Gesamtbestand"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Nicht zugewiesenes Lager"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Alternatives Lager"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Teil duplizieren"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Initiale Daten von anderem Teil kopieren"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Initialer Lagerbestand"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Erstelle Teil mit Ausgangsbestand"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Lieferanteninformationen"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Lieferanteninformationen zu diesem Teil hinzufügen"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Vorhandenes Bild"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Dateiname eines vorhandenen Teilbildes"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Bilddatei existiert nicht"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Gesamte Stückliste validieren"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Herstellbar"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Niedrigster Preis"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Berechneten Wert für Mindestpreis überschreiben"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Mindestpreis Währung"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Höchster Preis"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Berechneten Wert für maximalen Preis überschreiben"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Maximalpreis Währung"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Aktualisieren"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Preis für dieses Teil aktualisieren"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, 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:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Teil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Benachrichtigungen über geringen Bestand"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Keine Aktion angegeben"
msgid "No matching action found"
msgstr "Keine passende Aktion gefunden"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Keine Treffer für Barcode"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Treffer für Barcode gefunden"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Barcode entspricht einem bereits vorhandenen Artikel"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Keine passenden Teiledaten gefunden"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Keine passenden Zulieferteile gefunden"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Mehrere passende Zulieferteile gefunden"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Zulieferteil zugeordnet"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Artikel wurde bereits erhalten"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Mehrere passende Elemente gefunden"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Kein passendes Element gefunden"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Lagerartikel stimmt nicht mit dem Element überein"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Unzureichender Bestand verfügbar"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Lagerartikel der Bestellung zugeordnet"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Nicht genügend Informationen"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Weitere Informationen zum Empfang des Zeilenelements erforderlich"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Erhaltene Bestellartikel"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr "Bietet native Unterstützung für Barcodes"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Eingehender Webhook-URL für Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "InvenTree Maschinen-Etikettendrucker"
msgid "Provides support for printing using a machine"
msgstr "Unterstützt das Drucken mit einer Maschine"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "Zuletzt benutzt"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Optionen"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Schlüssel des Plugins"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Name des Plugins"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Paket-Plugin"
msgid "Plugin"
msgstr "Plugin"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Kein Autor gefunden"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Plugin benötigt mindestens Version {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Plugin benötigt maximal Version {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Installation nicht bestätigt"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Entweder Paketname oder URL muss angegeben werden"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Summe"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Seriennummer"
@@ -8097,7 +8230,7 @@ msgstr "Lagerartikel Test-Bericht"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Verbaute Objekte"
@@ -8130,495 +8263,519 @@ msgstr "Kein Ergebnis (erforderlich)"
msgid "No result"
msgstr "Kein Ergebnis"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Die Bestandsdatei ist nicht vorhanden"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Bilddatei nicht gefunden"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image tag benötigt eine Bauteilinstanz"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image tag erfordert eine Firmeninstanz"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filtern nach Standorttiefe"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Unterorte in gefilterte Ergebnisse einbeziehen"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Übergeordneter Ort"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtern nach übergeordnetem Ort"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Statuscode"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Externer Standort"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Teile-Baum"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Gültigkeitsdauer vor"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Gültigkeitsdauer nach"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "überfällig"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Der angegebene Lieferantenartikel existiert nicht"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeichen use_pack_size ist nicht gesetzt"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Lagerstandort Typ"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Lagerstandorte Typen"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Extern"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Dies ist ein externer Lagerort"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Standorttyp"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Standortart dieses Standortes"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Artikeltyp ('{self.supplier_part.part}') muss {self.part} sein"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Teil muss eine Referenz haben wenn is_building wahr ist"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Eltern-Lagerartikel"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Verpackung, in der dieser Lagerartikel gelagert ist"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "verbaut in"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Verbraucht von"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Bauauftrag der diesen Lagerartikel verbrauchte"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Testvorlage existiert nicht"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Test Notizen"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Teststation"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Der Bezeichner der Teststation, in der der Test durchgeführt wurde"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Gestartet"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Der Zeitstempel des Teststarts"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Fertiggestellt"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Der Zeitstempel der Test-Beendigung"
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Testvorlage für dieses Ergebnis"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "Vorlagen-ID oder Testname muss angegeben werden"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Elternposition"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Seriennummern für neue Teile eingeben"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "abgelaufen"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Ziel-Bestand"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Seriennummern können diesem Teil nicht zugewiesen werden"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Lagerartikel für Installation auswählen"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Zu installierende Menge"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Anzahl der zu verwendenden Artikel eingeben"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Die zu verwendende Menge muss mindestens 1 sein"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Lagerartikel ist nicht verfügbar"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Ausgewähltes Teil ist nicht in der Stückliste"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Ziel Lagerort für unverbautes Objekt"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Lagerartikel Status-Code"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Lagerartikel auswählen, um den Status zu ändern"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Keine Lagerartikel ausgewählt"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Teil muss verkaufbar sein"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Artikel ist einem Kundenauftrag zugeordnet"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Artikel ist einem Fertigungsauftrag zugeordnet"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Kunde zum Zuweisen von Lagerartikel"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Ausgewählte Firma ist kein Kunde"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Notizen zur Lagerzuordnung"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Eine Liste der Lagerbestände muss angegeben werden"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notizen zur Lagerartikelzusammenführung"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Unterschiedliche Lieferanten erlauben"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Unterschiedliche Status erlauben"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Mindestens zwei Lagerartikel müssen angegeben werden"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Keine Änderung"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Primärschlüssel Lagerelement"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Bestandsbewegungsnotizen"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Nächste Seriennummer"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Vorherige Seriennummer"
@@ -9281,7 +9438,7 @@ msgstr ""
#: users/models.py:496
msgid "Internal"
-msgstr "Intern"
+msgstr "Interne"
#: users/models.py:498
msgid "Guest"
@@ -9313,7 +9470,7 @@ msgstr ""
#: users/models.py:528
msgid "Display Name"
-msgstr "Anzeigename"
+msgstr "Name anzeigen"
#: users/models.py:529
msgid "Chosen display name for the user"
@@ -9383,83 +9540,83 @@ msgstr "Aufträge"
msgid "Return Orders"
msgstr "Rücksendeaufträge"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Benutzername"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Vorname"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Vorname des Benutzers"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Nachname"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Nachname des Benutzers"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "E-Mailadresse des Benutzers"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Mitarbeiter"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Hat der Benutzer die Mitarbeiter Berechtigung"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Administrator"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Ist dieser Benutzer ein Administrator"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Ist dieses Benutzerkonto aktiv"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Passwort"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Ihr Konto wurde erstellt."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Willkommen bei InvenTree"
diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
index 4504cc029b..bac561a6cb 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Το API endpoint δε βρέθηκε"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Πρέπει να παρέχεται λίστα Προϊόντων ή φίλτρων για μαζική ενέργεια"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Τα Προϊόντα πρέπει να δοθούν ως λίστα"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Η λίστα Προϊόντων που δόθηκε δεν είναι έγκυρη"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Τα φίλτρα πρέπει να δοθούν ως λεξικό"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Τα φίλτρα που δόθηκαν δεν είναι έγκυρα"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Το φίλτρο all πρέπει να χρησιμοποιείται μόνο με τιμή true"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Κανένα Aντικείμενο δεν ταιριάζει στα κριτήρια που δόθηκαν"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Δεν δόθηκαν δεδομένα"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "Αυτό το πεδίο πρέπει να είναι μοναδικό."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-mail (ξανά)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Επιβεβαίωση διεύθυνσης email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Μη έγκυρη ποσότητα"
@@ -112,13 +104,13 @@ msgstr "Εισάγετε ημερομηνία"
msgid "Invalid decimal value"
msgstr "Μη έγκυρη δεκαδική τιμή"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Σημειώσεις"
@@ -131,75 +123,75 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο
msgid "Provided value does not match required pattern: "
msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Δεν είναι δυνατή η σειριοποίηση περισσότερων από 1000 Προϊόντων ταυτόχρονα"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Κενό σειριακό αριθμό συμβολοσειράς"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Διπλότυπο ArialTTumblr"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Μη έγκυρη ομάδα: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Το εύρος της ομάδας {group} υπερβαίνει την επιτρεπόμενη ποσότητα ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Δεν βρέθηκαν σειριακοί αριθμοί"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({n}) πρέπει να αντιστοιχεί στην ποσότητα ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Τα δεδομένα περιέχουν απαγορευμένο περιεχόμενο markdown"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Προέκυψε σφάλμα"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας"
@@ -207,11 +199,11 @@ msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας"
msgid "Log in to the app"
msgstr "Σύνδεση στην εφαρμογή"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Πρέπει να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων πριν κάνετε οτιδήποτε άλλο."
@@ -255,133 +247,124 @@ msgstr "Η αναφορά πρέπει να ταιριάζει με το απα
msgid "Reference number is too large"
msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Όνομα"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Περιγραφή"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Περιγραφή (προαιρετική)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Μονοπάτι"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Σημειώσεις Markdown (προαιρετικό)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Στοιχεία Barcode"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Δεδομένα barcode τρίτων"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash barcode"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Μοναδικό hash δεδομένων barcode"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Βρέθηκε υπάρχων barcode"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Αποτυχία εργασίας"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Η εργασία background worker '{f}' απέτυχε μετά από {n} προσπάθειες"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Σφάλμα διακομιστή"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Εικόνα"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Νόμισμα"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Μη έγκυρη τιμή"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Απομακρυσμένες Εικόνες"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Αποτυχία λήψης εικόνας από απομακρυσμένο URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Κινέζικα (απλοποιημένα)"
msgid "Chinese (Traditional)"
msgstr "Κινέζικα (Παραδοσιακά)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Διαθέσιμη ενημέρωση"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Μια ενημέρωση για το InvenTree είναι διαθέσιμη"
@@ -553,30 +536,30 @@ msgstr "Μη έγκυρη φυσική μονάδα"
msgid "Not a valid currency code"
msgstr "Μη έγκυρος κωδικός συναλλάγματος"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Κατάσταση παραγγελίας"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Γονική Κατασκευή"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Συμπερίληψη παραλλαγών"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Συμπερίληψη παραλλαγών"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Συμπερίληψη παραλλαγών"
msgid "Part"
msgstr "Εξάρτημα"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Κατηγορία"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Πρόγονος κατασκευής"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Ανατεθειμένες σε εμένα"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Ανατεθεί σε"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Δημιουργήθηκε πριν από"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Δημιουργήθηκε μετά από"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Με ημερομηνία έναρξης"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Ημερομηνία έναρξης πριν από"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Ημερομηνία έναρξης μετά από"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Με ημερομηνία στόχο"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Ημερομηνία στόχος πριν από"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Ημερομηνία στόχος μετά από"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Ολοκληρώθηκε πριν από"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Ολοκληρώθηκε μετά από"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Ελάχιστη ημερομηνία"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Μέγιστη ημερομηνία"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Εξαίρεση δέντρου"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Αναλώσιμο"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Προαιρετικό"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Συναρμολόγηση"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Υπό παρακολούθηση"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Υπό δοκιμή"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Εκκρεμής παραγγελία"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Κατανεμημένο"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Καταναλωμένο"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Διαθέσιμο"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Σε παραγγελία"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Σειρά Κατασκευής"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Τοποθεσία"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Έξοδος"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Φιλτράρισμα με βάση το ID του αποθέματος εξόδου. Χρησιμοποιήστε 'null' για να βρείτε μη εγκατεστημένα στοιχεία κατασκευής"
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Δημιουργία Παραγγελιών"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Το BOM της συναρμολόγησης δεν έχει επικυρωθεί"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Δεν μπορεί να δημιουργηθεί εντολή κατασκευής για ανενεργό Aντικειμένου"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Δεν μπορεί να δημιουργηθεί εντολή κατασκευής για μη κλειδωμένο Aντικειμένου"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Οι εντολές κατασκευής μπορούν να εκτελεστούν εξωτερικά μόνο για Προϊόντα που μπορούν να αγοραστούν"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Πρέπει να οριστεί υπεύθυνος χρήστης ή ομάδα"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Η ημερομηνία στόχος πρέπει να είναι μετά την ημερομηνία έναρξης"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής"
msgid "Reference"
msgstr "Αναφορά"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Επιλέξτε τμήμα για κατασκευή"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Κωδικός Παραγγελίας Πωλήσεων"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Τοποθεσία Προέλευσης"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Εξωτερική κατασκευή"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Αυτή η εντολή κατασκευής εκτελείται εξωτερικά"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Τοποθεσία Προορισμού"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Ποσότητα Κατασκευής"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Αριθμός αντικειμένων για κατασκευή"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Ολοκληρωμένα αντικείμενα"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Κατάσταση Κατασκευής"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Κωδικός κατάστασης κατασκευής"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Κωδικός Παρτίδας"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Ημερομηνία Δημιουργίας"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Ημερομηνία έναρξης κατασκευής"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Προγραμματισμένη ημερομηνία έναρξης για αυτή την εντολή κατασκευής"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Ημερομηνία ολοκλήρωσης στόχου"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Ημερομηνία ολοκλήρωσης"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "ολοκληρώθηκε από"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Εκδόθηκε από"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Υπεύθυνος"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Προτεραιότητα Κατασκευής"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Προτεραιότητα αυτής της εντολής κατασκευής"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Κωδικός Έργου"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Δεν είναι δυνατή η ολοκλήρωση της εντολής κατασκευής με ανοιχτές θυγατρικές κατασκευές"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Δεν είναι δυνατή η ολοκλήρωση της εντολής κατασκευής με μη ολοκληρωμένα προϊόντα"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Αποτυχία εκχώρησης εργασίας για την ολοκλήρωση των κατανομών κατασκευής"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Πρέπει να δοθούν σειριακοί αριθμοί για τα ανιχνεύσιμα Προϊόντα"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Δεν καθορίστηκε έξοδος κατασκευής"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "Η έξοδος κατασκευής δεν έχει περάσει όλες τις απαιτούμενες δοκιμές"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr "Δεν είναι δυνατή η μερική ολοκλήρωση προϊόντος κατασκευής με δεσμευμένα στοιχεία"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Γραμμή εντολής κατασκευής"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Αντικείμενο κατασκευής"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Αντικείμενο κατασκευής"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Ποσότητα"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Ποσότητα καταναλωμένου αποθέματος"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Η δεσμευμένη ποσότητα υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Στοιχείο πηγαίου αποθέματος"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Εγκατάσταση σε"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Αποθήκη προορισμού"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Επίπεδο κατασκευής"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Όνομα Προϊόντος"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Ετικέτα κωδικού έργου"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Κατασκευή Εξόδου"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Σειριακοί αριθμοί"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Τοποθεσία αποθέματος για την έξοδο κατασκευής"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Απόρριψη Κατανομών"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Αιτία απόρριψης προϊόντων κατασκευής"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Αποδοχή Ελλιπούς Δέσμευσης"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Κατανάλωση δεσμευμένου αποθέματος"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Κατανάλωση οποιουδήποτε αποθέματος έχει ήδη δεσμευτεί για αυτή την κατασκευή"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Αφαίρεση Ατελείωτων Προϊόντων"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Δεν επιτρέπεται"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Υπερ-δεσμευμένο Απόθεμα"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Αποδοχή Μη Δεσμευμένων"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Αποδοχή Μη Ολοκληρωμένων"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Η εντολή κατασκευής έχει ανοιχτές θυγατρικές εντολές κατασκευής"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Η εντολή κατασκευής πρέπει να βρίσκεται σε κατάσταση παραγωγής"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Γραμμή Κατασκευής"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Προϊόν Κατασκευής"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Αντικείμενο Γραμμής Κατασκευής"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Το στοιχείο πρέπει να υπάρχει στο απόθεμα"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Η διαθέσιμη ποσότητα ({q}) έχει ξεπεραστεί"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Πρέπει να καθοριστεί έξοδος κατασκευής για την κατανομή ανιχνεύσιμων Προϊόντων"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Δεν μπορεί να καθοριστεί έξοδος κατασκευής για την κατανομή μη ανιχνεύσιμων Προϊόντων"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Πρέπει να δοθούν στοιχεία κατανομής"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Τοποθεσία αποθέματος από την οποία θα ληφθούν τα Προϊόντα (αφήστε κενό για λήψη από οποιαδήποτε τοποθεσία)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Εξαίρεση τοποθεσίας"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Εξαιρέστε στοιχεία αποθέματος από αυτή την επιλεγμένη τοποθεσία"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Εναλλάξιμο απόθεμα"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Στοιχεία αποθέματος σε πολλές τοποθεσίες μπορούν να χρησιμοποιηθούν εναλλάξ"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Εναλλακτικό απόθεμα"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Να επιτρέπεται η κατανομή εναλλακτικών Προϊόντων"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Προαιρετικά στοιχεία"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Κατανομή προαιρετικών στοιχείων BOM στην εντολή κατασκευής"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Αποτυχία εκκίνησης εργασίας αυτόματης κατανομής"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Αναφορά BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID Προϊόντος BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Όνομα Προϊόντος BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Κατασκευή"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Aντικειμένου προμηθευτή"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Δεσμευμένη ποσότητα"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Αναφορά κατασκευής"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Όνομα κατηγορίας Προϊόντος"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Ανιχνεύσιμο"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Κληρονομημένο"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Να επιτρέπονται παραλλαγές"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Στοιχείο BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Σε παραγωγή"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Προγραμματισμένο για κατασκευή"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Εξωτερικό απόθεμα"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Διαθέσιμο απόθεμα"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Διαθέσιμο εναλλακτικό απόθεμα"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Διαθέσιμο απόθεμα παραλλαγών"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "Η καταναλωμένη ποσότητα υπερβαίνει τη δεσμευμένη ποσότητα"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Προαιρετικές σημειώσεις για την κατανάλωση αποθέματος"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "Το στοιχείο κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Διπλή κατανομή στοιχείου κατασκευής"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "Η γραμμή κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Διπλή κατανομή γραμμής κατασκευής"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Πρέπει να δοθεί τουλάχιστον ένα στοιχείο ή μία γραμμή"
@@ -1474,67 +1478,71 @@ msgstr "Σε αναμονή"
msgid "Cancelled"
msgstr "Ακυρώθηκε"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Ολοκληρώθηκε"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Απαιτείται απόθεμα για την εντολή κατασκευής"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Η εντολή κατασκευής {build} απαιτεί επιπλέον απόθεμα"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Εκπρόθεσμη εντολή κατασκευής"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Η εντολή κατασκευής {bo} είναι πλέον εκπρόθεσμη"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Είναι σύνδεσμος"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Είναι αρχείο"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτά τα συνημμένα"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτό το συνημμένο"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Μη έγκυρος κωδικός συναλλάγματος"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Διπλός κωδικός συναλλάγματος"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Δεν δόθηκαν έγκυροι κωδικοί συναλλάγματος"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Χωρίς πρόσθετο"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Ετικέτα κωδικού έργου"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Ενημερώθηκε"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Χρονική σήμανση τελευταίας ενημέρωσης"
@@ -1546,778 +1554,778 @@ msgstr "Ενημερώθηκε από"
msgid "User who last updated this object"
msgstr "Χρήστης που ενημέρωσε τελευταίος αυτό το Aντικειμένου"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Μοναδικός κωδικός έργου"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Περιγραφή έργου"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτό το έργο"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Κλειδί ρυθμίσεων"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Τιμή ρυθμίσεων"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Η επιλεγμένη τιμή δεν είναι έγκυρη επιλογή"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Η τιμή πρέπει να είναι boolean"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Η τιμή πρέπει να είναι ακέραιος αριθμός"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Η τιμή πρέπει να είναι έγκυρος αριθμός"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Η τιμή δεν περνά τους ελέγχους εγκυρότητας"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Η συμβολοσειρά κλειδιού πρέπει να είναι μοναδική"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Χρήστης"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Ποσότητα κλιμακωτής τιμής"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Τιμή"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Τιμή μονάδας στη συγκεκριμένη ποσότητα"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Endpoint"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Το endpoint στο οποίο λαμβάνεται αυτό το webhook"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Όνομα για αυτό το webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Ενεργό"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Είναι αυτό το webhook ενεργό"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token πρόσβασης"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Μυστικό"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Κοινόχρηστο μυστικό για HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID μηνύματος"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Μοναδικό αναγνωριστικό για αυτό το μήνυμα"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Host από τον οποίο παραλήφθηκε αυτό το μήνυμα"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Κεφαλίδα"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Κεφαλίδα αυτού του μηνύματος"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Κείμενο"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Κείμενο αυτού του μηνύματος"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endpoint στο οποίο παραλήφθηκε αυτό το μήνυμα"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Επεξεργάστηκε"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Ολοκληρώθηκε η εργασία σε αυτό το μήνυμα;"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "ID"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Τίτλος"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Σύνδεσμος"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Δημοσιεύθηκε"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Συντάκτης"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Περίληψη"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Αναγνωσμένο"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Διαβάστηκε αυτό το νέο;"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Αρχείο εικόνας"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Τύπος μοντέλου-στόχου για αυτή την εικόνα"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "ID μοντέλου-στόχου για αυτή την εικόνα"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Προσαρμοσμένη μονάδα"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Το σύμβολο μονάδας πρέπει να είναι μοναδικό"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Το όνομα μονάδας πρέπει να είναι έγκυρο αναγνωριστικό"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Όνομα μονάδας"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Σύμβολο"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Προαιρετικό σύμβολο μονάδας"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Ορισμός"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Ορισμός μονάδας"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Συνημμένο"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Το αρχείο λείπει"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Λείπει ο εξωτερικός σύνδεσμος"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Τύπος μοντέλου"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Τύπος μοντέλου-στόχου για την εικόνα"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Σχόλιο"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Σχόλιο συνημμένου"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Ημερομηνία μεταφόρτωσης"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Ημερομηνία μεταφόρτωσης του αρχείου"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Μέγεθος αρχείου"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Μέγεθος αρχείου σε bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Μη έγκυρος τύπος μοντέλου που ορίστηκε για το συνημμένο"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Προσαρμοσμένη κατάσταση"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Προσαρμοσμένες καταστάσεις"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Σετ κατάστασης αναφοράς"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Σετ καταστάσεων που επεκτείνεται με αυτή την προσαρμοσμένη κατάσταση"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Λογικό κλειδί"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Λογικό κλειδί κατάστασης που είναι ισοδύναμο με αυτή την προσαρμοσμένη κατάσταση στη λογική της εφαρμογής"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Τιμή"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Αριθμητική τιμή που θα αποθηκευτεί στη βάση δεδομένων των μοντέλων"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Όνομα της κατάστασης"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Ετικέτα"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Ετικέτα που θα εμφανίζεται στο frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Χρώμα"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Χρώμα που θα εμφανίζεται στο frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Μοντέλο"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Μοντέλο με το οποίο συσχετίζεται αυτή η κατάσταση"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Πρέπει να επιλεγεί μοντέλο"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Πρέπει να επιλεγεί κλειδί"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Πρέπει να επιλεγεί λογικό κλειδί"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Το κλειδί πρέπει να είναι διαφορετικό από το λογικό κλειδί"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Πρέπει να δοθεί έγκυρη κλάση κατάστασης αναφοράς"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Το κλειδί πρέπει να είναι διαφορετικό από τα λογικά κλειδιά της κατάστασης αναφοράς"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Το λογικό κλειδί πρέπει να ανήκει στα λογικά κλειδιά της κατάστασης αναφοράς"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Το όνομα πρέπει να είναι διαφορετικό από τα ονόματα της κατάστασης αναφοράς"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Λίστα επιλογών"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Λίστες επιλογών"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Όνομα της λίστας επιλογών"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Περιγραφή της λίστας επιλογών"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Κλειδωμένο"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Είναι αυτή η λίστα επιλογών κλειδωμένη;"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Μπορεί να χρησιμοποιηθεί αυτή η λίστα επιλογών;"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Πρόσθετο πηγής"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Πρόσθετο που παρέχει τη λίστα επιλογών"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Συμβολοσειρά πηγής"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Προαιρετική συμβολοσειρά που ταυτοποιεί την πηγή που χρησιμοποιείται για αυτή τη λίστα"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Προεπιλεγμένη καταχώρηση"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Προεπιλεγμένη καταχώρηση για αυτή τη λίστα επιλογών"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Δημιουργήθηκε"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Ημερομηνία και ώρα δημιουργίας της λίστας επιλογών"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Τελευταία ενημέρωση"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Ημερομηνία και ώρα της τελευταίας ενημέρωσης της λίστας επιλογών"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Καταχώρηση λίστας επιλογών"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Καταχωρήσεις λίστας επιλογών"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Λίστα επιλογών στην οποία ανήκει αυτή η καταχώρηση"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Τιμή της καταχώρησης λίστας επιλογών"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Ετικέτα για την καταχώρηση λίστας επιλογών"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Περιγραφή της καταχώρησης λίστας επιλογών"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Είναι ενεργή αυτή η καταχώρηση λίστας επιλογών;"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Πρότυπο παραμέτρου"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να έχουν μονάδες"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να έχουν επιλογές"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Οι επιλογές πρέπει να είναι μοναδικές"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Το όνομα προτύπου παραμέτρου πρέπει να είναι μοναδικό"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Όνομα παραμέτρου"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Μονάδες"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Φυσικές μονάδες για αυτή την παράμετρο"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Περιγραφή παραμέτρου"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Checkbox"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Είναι αυτή η παράμετρος τύπου checkbox;"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Επιλογές"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Έγκυρες επιλογές για αυτή την παράμετρο (διαχωρισμένες με κόμμα)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Λίστα επιλογών για αυτή την παράμετρο"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Ενεργό"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Μη έγκυρη επιλογή για την τιμή παραμέτρου"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Πρότυπο"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Δεδομένα"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Τιμή παραμέτρου"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Σημείωση"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Προαιρετικό πεδίο σημείωσης"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Σάρωση barcode"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Δεδομένα barcode"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Χρήστης που σάρωσε το barcode"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Χρονική σήμανση"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Ημερομηνία και ώρα της σάρωσης barcode"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "URL endpoint που επεξεργάστηκε το barcode"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Πλαίσιο"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Δεδομένα πλαισίου για τη σάρωση barcode"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Απόκριση"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Δεδομένα απόκρισης από τη σάρωση barcode"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Αποτέλεσμα"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Ήταν επιτυχημένη η σάρωση barcode;"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Παρουσιάστηκε σφάλμα"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: Η διαγραφή του log email προστατεύεται. Ορίστε το INVENTREE_PROTECT_EMAIL_LOG σε False για να επιτραπεί η διαγραφή."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "Μήνυμα email"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "Μηνύματα email"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Ανακοινώθηκε"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Εστάλη"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Απέτυχε"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Παραδόθηκε"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Επιβεβαιώθηκε"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Εισερχόμενο"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Εξερχόμενο"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Χωρίς απάντηση"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Παρακολούθηση παράδοσης"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Παρακολούθηση ανάγνωσης"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Παρακολούθηση κλικ"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "Global ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Αναγνωριστικό για αυτό το μήνυμα (ενδέχεται να παρέχεται από εξωτερικό σύστημα)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID νήματος"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Αναγνωριστικό για αυτό το νήμα μηνυμάτων (ενδέχεται να παρέχεται από εξωτερικό σύστημα)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Νήμα"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Συνδεδεμένο νήμα για αυτό το μήνυμα"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Νήμα email"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Νήματα email"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Κλειδί"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Μοναδικό κλειδί για αυτό το νήμα (χρησιμοποιείται για την ταυτοποίησή του)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Μοναδικό αναγνωριστικό για αυτό το νήμα"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Ξεκίνησε εσωτερικά"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Ξεκίνησε αυτό το νήμα εσωτερικά;"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Ημερομηνία και ώρα δημιουργίας του νήματος"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Ημερομηνία και ώρα της τελευταίας ενημέρωσης του νήματος"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} ακυρώθηκε"
msgid "A order that is assigned to you was canceled"
msgstr "Μια παραγγελία που σας είχε ανατεθεί ακυρώθηκε"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Είδη που παραλήφθηκαν"
@@ -2351,93 +2359,101 @@ msgstr "Είδη έχουν παραληφθεί έναντι εντολής α
msgid "Items have been received against a return order"
msgstr "Είδη έχουν παραληφθεί έναντι εντολής επιστροφής"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Δείχνει αν η ρύθμιση παρακάμπτεται από μεταβλητή περιβάλλοντος"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Παράκαμψη"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Εκτελείται"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Εργασίες σε αναμονή"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Προγραμματισμένες εργασίες"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Αποτυχημένες εργασίες"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID εργασίας"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Μοναδικό ID εργασίας"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Κλείδωμα"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Χρόνος κλειδώματος"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Όνομα εργασίας"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Συνάρτηση"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Όνομα συνάρτησης"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Ορίσματα"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Ορίσματα εργασίας"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Ορίσματα λέξεων-κλειδιών"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Ορίσματα λέξεων-κλειδιών της εργασίας"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Όνομα αρχείου"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Τύπος μοντέλου"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Ο χρήστης δεν έχει δικαίωμα να δημιουργήσει ή να επεξεργαστεί συνημμένα για αυτό το μοντέλο"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Η λίστα επιλογών είναι κλειδωμένη"
@@ -2445,1128 +2461,1157 @@ msgstr "Η λίστα επιλογών είναι κλειδωμένη"
msgid "No group"
msgstr "Χωρίς ομάδα"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Το URL του site είναι κλειδωμένο από τη ρύθμιση"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Απαιτείται επανεκκίνηση"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Μια ρύθμιση έχει αλλάξει και απαιτείται επανεκκίνηση του διακομιστή"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Εκκρεμείς migrations"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Αριθμός εκκρεμών μεταναστεύσεων βάσης δεδομένων"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Ενεργοί κωδικοί προειδοποίησης"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Λεξικό με τους ενεργούς κωδικούς προειδοποίησης"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID instance"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Μοναδικό αναγνωριστικό για αυτό το instance του InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Δημοσίευση ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Δημοσίευση του instance ID του διακομιστή στις πληροφορίες κατάστασης διακομιστή (χωρίς έλεγχο ταυτότητας)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Όνομα instance διακομιστή"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Περιγραφή κειμένου για το instance του διακομιστή"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Χρήση ονόματος instance"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Χρήση του ονόματος instance στη γραμμή τίτλου"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Περιορισμός εμφάνισης `about`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Εμφάνιση της λειτουργίας `about` μόνο σε superusers"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Επωνυμία εταιρείας"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Εσωτερική επωνυμία εταιρείας"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Βασικό URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Βασικό URL για το instance του διακομιστή"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Προεπιλεγμένο νόμισμα"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Επιλέξτε βασικό νόμισμα για τους υπολογισμούς τιμών"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Υποστηριζόμενα νομίσματα"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Λίστα υποστηριζόμενων κωδικών νομισμάτων"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Διάστημα ενημέρωσης νομισμάτων"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Κάθε πότε θα ενημερώνονται οι συναλλαγματικές ισοτιμίες (0 για απενεργοποίηση)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "ημέρες"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Πρόσθετο ενημέρωσης νομισμάτων"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Πρόσθετο ενημέρωσης νομισμάτων που θα χρησιμοποιηθεί"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Λήψη από URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Να επιτρέπεται η λήψη απομακρυσμένων εικόνων και αρχείων από εξωτερικό URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Όριο μεγέθους λήψης"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Μέγιστο επιτρεπόμενο μέγεθος λήψης για απομακρυσμένη εικόνα"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-agent που χρησιμοποιείται για λήψη από URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Να επιτρέπεται η αντικατάσταση του user-agent που χρησιμοποιείται για λήψη εικόνων και αρχείων από εξωτερικό URL (αφήστε κενό για το προεπιλεγμένο)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Αυστηρή επικύρωση URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Να απαιτείται ορισμός σχήματος κατά την επικύρωση URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Διάστημα ελέγχου ενημερώσεων"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Κάθε πότε θα γίνεται έλεγχος για ενημερώσεις (0 για απενεργοποίηση)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Αυτόματο αντίγραφο ασφαλείας"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Ενεργοποίηση αυτόματου backup της βάσης δεδομένων και των media αρχείων"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Διάστημα αυτόματου backup"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Ορίστε τον αριθμό ημερών μεταξύ των αυτόματων backup"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Διάστημα διαγραφής εργασιών"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Τα αποτελέσματα εργασιών παρασκηνίου θα διαγράφονται μετά από τον καθορισμένο αριθμό ημερών"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Διάστημα διαγραφής log σφαλμάτων"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Τα log σφαλμάτων θα διαγράφονται μετά από τον καθορισμένο αριθμό ημερών"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Διάστημα διαγραφής ειδοποιήσεων"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Οι ειδοποιήσεις χρηστών θα διαγράφονται μετά από τον καθορισμένο αριθμό ημερών"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Διάστημα διαγραφής email"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Τα μηνύματα email θα διαγράφονται μετά από τον καθορισμένο αριθμό ημερών"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Προστασία log email"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Αποτροπή διαγραφής εγγραφών log email"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Υποστήριξη barcode"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Ενεργοποίηση υποστήριξης σαρωτή barcode στο web interface"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Αποθήκευση αποτελεσμάτων barcode"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Αποθήκευση των αποτελεσμάτων σάρωσης barcode στη βάση δεδομένων"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Μέγιστος αριθμός σαρώσεων barcode"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Μέγιστος αριθμός αποτελεσμάτων σάρωσης barcode που θα αποθηκεύονται"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Καθυστέρηση εισόδου barcode"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Χρόνος καθυστέρησης επεξεργασίας εισόδου barcode"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Υποστήριξη barcode μέσω webcam"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Να επιτρέπεται σάρωση barcode μέσω webcam στο πρόγραμμα περιήγησης"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Εμφάνιση δεδομένων barcode"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Εμφάνιση των δεδομένων barcode στο πρόγραμμα περιήγησης ως κείμενο"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Πρόσθετο δημιουργίας barcode"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Πρόσθετο που θα χρησιμοποιείται για εσωτερική δημιουργία δεδομένων barcode"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Εκδόσεις Προϊόντων"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Ενεργοποίηση πεδίου έκδοσης για Aντικειμένου"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Μόνο εκδόσεις συναρμολογήσεων"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Να επιτρέπονται εκδόσεις μόνο για Προϊόντα συναρμολόγησης"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Να επιτρέπεται διαγραφή από συναρμολόγηση"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Να επιτρέπεται η διαγραφή Προϊόντων που χρησιμοποιούνται σε συναρμολόγηση"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Πρότυπο regular expression για αντιστοίχιση IPN Προϊόντος"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Να επιτρέπονται διπλά IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Να επιτρέπεται σε πολλαπλά Προϊόντα να μοιράζονται το ίδιο IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Να επιτρέπεται η επεξεργασία IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Να επιτρέπεται η αλλαγή της τιμής IPN κατά την επεξεργασία ενός Προϊόντος"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Αντιγραφή δεδομένων BOM Προϊόντος"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Αντιγραφή δεδομένων BOM από προεπιλογή κατά τον διπλασιασμό ενός Προϊόντος"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Αντιγραφή δεδομένων παραμέτρων Προϊόντος"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Αντιγραφή δεδομένων παραμέτρων από προεπιλογή κατά τον διπλασιασμό ενός Προϊόντος"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Αντιγραφή δεδομένων δοκιμών Προϊόντος"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Αντιγραφή δεδομένων δοκιμών από προεπιλογή κατά τον διπλασιασμό ενός Προϊόντος"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Αντιγραφή προτύπων παραμέτρων κατηγορίας"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Αντιγραφή προτύπων παραμέτρων κατηγορίας κατά τη δημιουργία Προϊόντος"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Τα Προϊόντα είναι πρότυπα από προεπιλογή"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Τα Προϊόντα μπορούν να συναρμολογούνται από άλλα συστατικά από προεπιλογή"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Συστατικό"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Τα Προϊόντα μπορούν να χρησιμοποιούνται ως υποσυστατικά από προεπιλογή"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Αγοράσιμο"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Τα Προϊόντα είναι αγοράσιμα από προεπιλογή"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Πωλήσιμο"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Τα Προϊόντα είναι πωλήσιμα από προεπιλογή"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Τα Προϊόντα είναι ανιχνεύσιμα από προεπιλογή"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Εικονικό"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Τα Προϊόντα είναι εικονικά από προεπιλογή"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Εμφάνιση σχετικών Προϊόντων"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Εμφάνιση σχετικών Προϊόντων για ένα Aντικειμένου"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Αρχικά δεδομένα αποθέματος"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Να επιτρέπεται η δημιουργία αρχικού αποθέματος κατά την προσθήκη νέου Προϊόντος"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Αρχικά δεδομένα προμηθευτή"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Να επιτρέπεται η δημιουργία αρχικών δεδομένων προμηθευτή κατά την προσθήκη νέου Προϊόντος"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Μορφή εμφάνισης ονόματος Προϊόντος"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Μορφή με την οποία εμφανίζεται το όνομα του Προϊόντος"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Προεπιλεγμένο εικονίδιο κατηγορίας Προϊόντος"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Προεπιλεγμένο εικονίδιο κατηγορίας Προϊόντος (κενό σημαίνει χωρίς εικονίδιο)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Ελάχιστα δεκαδικά ψηφία τιμολόγησης"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Ελάχιστος αριθμός δεκαδικών ψηφίων που θα εμφανίζονται στα δεδομένα τιμολόγησης"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Μέγιστα δεκαδικά ψηφία τιμολόγησης"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Μέγιστος αριθμός δεκαδικών ψηφίων που θα εμφανίζονται στα δεδομένα τιμολόγησης"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Χρήση τιμών προμηθευτή"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Συμπερίληψη κλιμακωτών τιμών προμηθευτή στους συνολικούς υπολογισμούς τιμών"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Υπέρβαση μέσω ιστορικού αγορών"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Οι ιστορικές τιμές εντολών αγοράς υπερισχύουν των κλιμακωτών τιμών προμηθευτή"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Χρήση τιμολόγησης στοιχείου αποθέματος"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Χρήση τιμών από χειροκίνητα καταχωρημένα δεδομένα αποθέματος για τους υπολογισμούς τιμών"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Ηλικία τιμολόγησης στοιχείου αποθέματος"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Εξαίρεση στοιχείων αποθέματος παλαιότερων από αυτόν τον αριθμό ημερών από τους υπολογισμούς τιμών"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Χρήση τιμολόγησης παραλλαγών"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Συμπερίληψη τιμών παραλλαγών στους συνολικούς υπολογισμούς τιμών"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Μόνο ενεργές παραλλαγές"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Χρήση μόνο ενεργών Προϊόντων παραλλαγών για τον υπολογισμό τιμών παραλλαγών"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Αυτόματη ενημέρωση τιμών"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Αυτόματη ενημέρωση τιμών Προϊόντων όταν αλλάζουν τα εσωτερικά δεδομένα"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Διάστημα επαναυπολογισμού τιμών"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Αριθμός ημερών πριν ενημερωθούν αυτόματα οι τιμές των Προϊόντων"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Εσωτερικές τιμές"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Ενεργοποίηση εσωτερικών τιμών για Προϊόντα"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Υπέρβαση μέσω εσωτερικής τιμής"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Όταν υπάρχουν, οι εσωτερικές τιμές υπερισχύουν των υπολογισμών εύρους τιμών"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Ενεργοποίηση εκτύπωσης ετικετών"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Ενεργοποίηση εκτύπωσης ετικετών από το web interface"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI εικόνας ετικέτας"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Ανάλυση DPI κατά τη δημιουργία αρχείων εικόνας για πρόσθετα εκτύπωσης ετικετών"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Ενεργοποίηση αναφορών"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Ενεργοποίηση δημιουργίας αναφορών"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Λειτουργία αποσφαλμάτωσης"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Δημιουργία αναφορών σε λειτουργία αποσφαλμάτωσης (έξοδος HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Καταγραφή σφαλμάτων αναφορών"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Καταγραφή σφαλμάτων που προκύπτουν κατά τη δημιουργία αναφορών"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Μέγεθος σελίδας"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Προεπιλεγμένο μέγεθος σελίδας για PDF αναφορές"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Επιβολή μονάδων παραμέτρων"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Αν δοθούν μονάδες, οι τιμές των παραμέτρων πρέπει να αντιστοιχούν στις καθορισμένες μονάδες"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Καθολικά μοναδικοί σειριακοί αριθμοί"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Οι σειριακοί αριθμοί των στοιχείων αποθέματος πρέπει να είναι καθολικά μοναδικοί"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Διαγραφή εξαντλημένου αποθέματος"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Καθορίζει την προεπιλεγμένη συμπεριφορά όταν ένα στοιχείο αποθέματος εξαντλείται"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Πρότυπο κωδικού παρτίδας"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Πρότυπο για τη δημιουργία προεπιλεγμένων κωδικών παρτίδας για στοιχεία αποθέματος"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Λήξη αποθέματος"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Ενεργοποίηση λειτουργίας λήξης αποθέματος"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Πώληση ληγμένου αποθέματος"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Να επιτρέπεται η πώληση ληγμένου αποθέματος"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Χρόνος απαρχαίωσης αποθέματος"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Αριθμός ημερών που τα στοιχεία αποθέματος θεωρούνται παλαιωμένα πριν λήξουν"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Κατασκευή με ληγμένο απόθεμα"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Να επιτρέπεται η κατασκευή με ληγμένο απόθεμα"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Έλεγχος ιδιοκτησίας αποθέματος"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Ενεργοποίηση ελέγχου ιδιοκτησίας σε τοποθεσίες και στοιχεία αποθέματος"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Προεπιλεγμένο εικονίδιο τοποθεσίας αποθέματος"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Προεπιλεγμένο εικονίδιο τοποθεσίας αποθέματος (κενό σημαίνει χωρίς εικονίδιο)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Εμφάνιση εγκατεστημένων στοιχείων αποθέματος"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Εμφάνιση εγκατεστημένων στοιχείων αποθέματος στους πίνακες αποθέματος"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Έλεγχος BOM κατά την εγκατάσταση στοιχείων"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Τα εγκατεστημένα στοιχεία αποθέματος πρέπει να υπάρχουν στο BOM του γονικού Προϊόντος"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Να επιτρέπεται μεταφορά εκτός αποθέματος"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Να επιτρέπεται η μεταφορά στοιχείων αποθέματος που δεν είναι διαθέσιμα μεταξύ τοποθεσιών αποθέματος"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Πρότυπο αναφοράς εντολής κατασκευής"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Απαιτούμενο πρότυπο για τη δημιουργία του πεδίου αναφοράς εντολής κατασκευής"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Απαίτηση υπεύθυνου κατόχου"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Πρέπει να οριστεί υπεύθυνος ιδιοκτήτης για κάθε παραγγελία"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Απαίτηση ενεργού προϊόντος"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Αποτροπή δημιουργίας εντολής παραγωγής για ανενεργά προϊόντα"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Απαίτηση κλειδωμένου προϊόντος"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Αποτροπή δημιουργίας εντολής παραγωγής για ξεκλείδωτα προϊόντα"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Απαίτηση έγκυρης BOM"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Αποτροπή δημιουργίας εντολής παραγωγής αν δεν έχει επικυρωθεί η BOM"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Απαίτηση κλειστών θυγατρικών εντολών"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Αποτροπή ολοκλήρωσης εντολής παραγωγής μέχρι να κλείσουν όλες οι θυγατρικές εντολές"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Εξωτερικές εντολές παραγωγής"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Ενεργοποίηση λειτουργίας εξωτερικών εντολών παραγωγής"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Φραγή έως ότου περάσουν τα τεστ"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Αποτροπή ολοκλήρωσης εξόδων παραγωγής μέχρι να περάσουν όλα τα απαιτούμενα τεστ"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Ενεργοποίηση εντολών επιστροφής"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Ενεργοποίηση λειτουργίας εντολών επιστροφής στη διεπαφή χρήστη"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Μοτίβο αναφοράς εντολής επιστροφής"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Απαιτούμενο μοτίβο για τη δημιουργία του πεδίου αναφοράς εντολής επιστροφής"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Επεξεργασία ολοκληρωμένων εντολών επιστροφής"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Επιτρέπει την επεξεργασία εντολών επιστροφής μετά την ολοκλήρωσή τους"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Μοτίβο αναφοράς εντολής πώλησης"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Απαιτούμενο μοτίβο για τη δημιουργία του πεδίου αναφοράς εντολής πώλησης"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Προεπιλεγμένη αποστολή εντολής πώλησης"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Ενεργοποίηση δημιουργίας προεπιλεγμένης αποστολής με τις εντολές πώλησης"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Επεξεργασία ολοκληρωμένων εντολών πώλησης"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Επιτρέπει την επεξεργασία εντολών πώλησης μετά την αποστολή ή ολοκλήρωσή τους"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr "Η αποστολή απαιτεί έλεγχο"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr "Αποτροπή ολοκλήρωσης αποστολών μέχρι να ελεγχθούν τα είδη"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Σήμανση αποσταλμένων εντολών ως ολοκληρωμένων"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Οι εντολές πώλησης που επισημαίνονται ως αποσταλμένες ολοκληρώνονται αυτόματα, παρακάμπτοντας την κατάσταση «απεσταλμένο»"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Μοτίβο αναφοράς εντολής αγοράς"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Απαιτούμενο μοτίβο για τη δημιουργία του πεδίου αναφοράς εντολής αγοράς"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Επεξεργασία ολοκληρωμένων εντολών αγοράς"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Επιτρέπει την επεξεργασία εντολών αγοράς μετά την αποστολή ή ολοκλήρωσή τους"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Μετατροπή νομίσματος"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Μετατροπή της αξίας είδους στο βασικό νόμισμα κατά την παραλαβή αποθέματος"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Αυτόματη ολοκλήρωση εντολών αγοράς"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Αυτόματη σήμανση εντολών αγοράς ως ολοκληρωμένων όταν έχουν παραληφθεί όλα τα είδη"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Ενεργοποίηση υπενθύμισης κωδικού"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Ενεργοποίηση λειτουργίας υπενθύμισης κωδικού στις σελίδες σύνδεσης"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Ενεργοποίηση εγγραφής"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Ενεργοποίηση αυτοεγγραφής χρηστών στις σελίδες σύνδεσης"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Ενεργοποίηση SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Ενεργοποίηση SSO στις σελίδες σύνδεσης"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Ενεργοποίηση εγγραφής μέσω SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Ενεργοποίηση αυτοεγγραφής μέσω SSO στις σελίδες σύνδεσης"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Ενεργοποίηση συγχρονισμού ομάδων SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Ενεργοποίηση συγχρονισμού ομάδων InvenTree με ομάδες από τον IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Κλειδί ομάδας SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Το όνομα του πεδίου ομάδων που παρέχεται από τον IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Χάρτης ομάδων SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Χαρτογράφηση ομάδων SSO σε τοπικές ομάδες InvenTree. Αν η ομάδα δεν υπάρχει, θα δημιουργηθεί."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Αφαίρεση ομάδων εκτός SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Αν πρέπει να αφαιρούνται ομάδες από τον χρήστη όταν δεν παρέχονται από τον IdP. Η απενεργοποίηση μπορεί να προκαλέσει προβλήματα ασφαλείας"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Απαίτηση email"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Απαίτηση συμπλήρωσης email κατά την εγγραφή"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Αυτόματη συμπλήρωση χρηστών SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Αυτόματη συμπλήρωση στοιχείων χρήστη από τα δεδομένα SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Email δύο φορές"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Κατά την εγγραφή ζητείται το email δύο φορές"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Κωδικός δύο φορές"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Κατά την εγγραφή ζητείται ο κωδικός δύο φορές"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Επιτρεπόμενοι τομείς"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Περιορισμός εγγραφής σε συγκεκριμένους τομείς (χωρισμένοι με κόμμα, ξεκινούν με @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Ομάδα κατά την εγγραφή"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Ομάδα στην οποία εκχωρούνται οι νέοι χρήστες κατά την εγγραφή. Με ενεργό SSO sync, χρησιμοποιείται μόνο όταν δεν μπορεί να δοθεί ομάδα από τον IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Επιβολή MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Οι χρήστες πρέπει να χρησιμοποιούν πολυπαραγοντική ασφάλεια"
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Έλεγχος plugins κατά την εκκίνηση"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Έλεγχος ότι όλα τα plugins είναι εγκατεστημένα κατά την εκκίνηση – χρήσιμο σε container περιβάλλοντα"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Έλεγχος για ενημερώσεις plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Ενεργοποίηση περιοδικών ελέγχων για ενημερώσεις εγκατεστημένων plugins"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Ενεργοποίηση URL integration"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Ενεργοποίηση προσθήκης URL routes από plugins"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Ενεργοποίηση ενσωμάτωσης στην πλοήγηση"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Ενεργοποίηση ενσωμάτωσης των plugins στην πλοήγηση"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Ενεργοποίηση ενσωμάτωσης εφαρμογών"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Ενεργοποίηση προσθήκης εφαρμογών από plugins"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Ενεργοποίηση ενσωμάτωσης χρονοπρογραμματισμού"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Ενεργοποίηση εκτέλεσης χρονοπρογραμματισμένων εργασιών από plugins"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Ενεργοποίηση ενσωμάτωσης γεγονότων"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Ενεργοποίηση απόκρισης plugins σε εσωτερικά γεγονότα"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Ενεργοποίηση ενσωμάτωσης διεπαφής"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Ενεργοποίηση ενσωμάτωσης plugins στη διεπαφή χρήστη"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Ενεργοποίηση ενσωμάτωσης email"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Ενεργοποίηση επεξεργασίας εισερχόμενων/εξερχόμενων emails από plugins"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Ενεργοποίηση κωδικών έργου"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Ενεργοποίηση κωδικών έργου για την παρακολούθηση projects"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Ενεργοποίηση ιστορικού αποθέματος"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Ενεργοποίηση καταγραφής ιστορικών επιπέδων και αξιών αποθέματος"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Εξαίρεση εξωτερικών τοποθεσιών"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Εξαίρεση ειδών αποθέματος σε εξωτερικές τοποθεσίες από τους υπολογισμούς ιστορικού"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Περίοδος αυτόματης απογραφής"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Αριθμός ημερών μεταξύ αυτόματων καταγραφών ιστορικού αποθέματος"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Διαγραφή παλαιών εγγραφών ιστορικού αποθέματος"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Διαγραφή εγγραφών ιστορικού αποθέματος παλαιότερων από τον καθορισμένο αριθμό ημερών"
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Διάστημα διαγραφής ιστορικού αποθέματος"
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr ""
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Οι εγγραφές ιστορικού αποθέματος θα διαγράφονται μετά από τον καθορισμένο αριθμό ημερών"
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
-#: common/setting/system.py:1123
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "Εμφάνιση πλήρους ονόματος χρηστών"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "Εμφάνιση του πλήρους ονόματος των χρηστών αντί για το όνομα χρήστη"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "Εμφάνιση προφίλ χρηστών"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "Εμφάνιση προφίλ χρηστών στη σελίδα προφίλ τους"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "Ενεργοποίηση δεδομένων σταθμού δοκιμών"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "Ενεργοποίηση συλλογής δεδομένων σταθμού δοκιμών για τα αποτελέσματα δοκιμών"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
msgstr "Ενεργοποίηση ping μηχανημάτων"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr "Ενεργοποίηση περιοδικού ping των καταχωρημένων μηχανημάτων για έλεγχο της κατάστασής τους"
@@ -3911,366 +3956,370 @@ msgstr "Το προϊόν είναι ενεργό"
msgid "Manufacturer is Active"
msgstr "Ο κατασκευαστής είναι ενεργός"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Το προϊόν προμηθευτή είναι ενεργό"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Το εσωτερικό προϊόν είναι ενεργό"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Ο προμηθευτής είναι ενεργός"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Κατασκευαστής"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Εταιρεία"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Διαθέτει απόθεμα"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Εταιρείες"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Περιγραφή εταιρείας"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Περιγραφή της εταιρείας"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Ιστότοπος"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL ιστοτόπου εταιρείας"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Τηλέφωνο"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Τηλέφωνο επικοινωνίας"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Email επικοινωνίας"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Επαφή"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Σημείο επαφής"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Σύνδεσμος σε εξωτερικές πληροφορίες εταιρείας"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Είναι αυτή η εταιρεία ενεργή;"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Είναι πελάτης"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Πουλάτε είδη σε αυτή την εταιρεία;"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Είναι προμηθευτής"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Αγοράζετε είδη από αυτή την εταιρεία;"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Είναι κατασκευαστής"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Κατασκευάζει αυτή η εταιρεία προϊόντα;"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Προεπιλεγμένο νόμισμα που χρησιμοποιείται για αυτή την εταιρεία"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "ΑΦΜ"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "ΑΦΜ εταιρείας"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Διεύθυνση"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Διευθύνσεις"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Επιλογή εταιρείας"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Τίτλος διεύθυνσης"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Τίτλος που περιγράφει την εγγραφή διεύθυνσης"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Κύρια διεύθυνση"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Ορισμός ως κύριας διεύθυνσης"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Γραμμή 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Γραμμή διεύθυνσης 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Γραμμή 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Γραμμή διεύθυνσης 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Ταχυδρομικός κώδικας"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Πόλη/Περιοχή"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Πόλη/περιοχή ταχυδρομικού κώδικα"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Πολιτεία/Επαρχία"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Πολιτεία ή επαρχία"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Χώρα"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Χώρα διεύθυνσης"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Σημειώσεις αποστολής για courier"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Σημειώσεις για την αποστολή με courier"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Εσωτερικές σημειώσεις αποστολής"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Σημειώσεις αποστολής για εσωτερική χρήση"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Σύνδεσμος σε πληροφορίες διεύθυνσης (εξωτερικό)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Προϊόν κατασκευαστή"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Βασικό προϊόν"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Επιλογή προϊόντος"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Επιλογή κατασκευαστή"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Κωδικός προϊόντος κατασκευαστή"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL εξωτερικού συνδέσμου προϊόντος κατασκευαστή"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Περιγραφή προϊόντος κατασκευαστή"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Οι μονάδες συσκευασίας πρέπει να είναι συμβατές με τις μονάδες του βασικού προϊόντος"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Οι μονάδες συσκευασίας πρέπει να είναι μεγαλύτερες από το μηδέν"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Το συνδεδεμένο προϊόν κατασκευαστή πρέπει να αναφέρεται στο ίδιο βασικό προϊόν"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Προμηθευτής"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Επιλογή προμηθευτή"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Κωδικός αποθέματος προμηθευτή"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Είναι αυτό το προϊόν προμηθευτή ενεργό;"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Επιλογή προϊόντος κατασκευαστή"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL εξωτερικού συνδέσμου προϊόντος προμηθευτή"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Περιγραφή προϊόντος προμηθευτή"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "βασικό κόστος"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Ελάχιστη χρέωση (π.χ. χρέωση αποθήκευσης)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Συσκευασία"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Συσκευασία προϊόντος"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Ποσότητα ανά συσκευασία"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Συνολική ποσότητα που παρέχεται σε μία συσκευασία. Αφήστε κενό για μεμονωμένα είδη."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "πολλαπλάσιο"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Πολλαπλάσιο παραγγελίας"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Ποσότητα διαθέσιμη από τον προμηθευτή"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Η διαθεσιμότητα ενημερώθηκε"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Ημερομηνία τελευταίας ενημέρωσης δεδομένων διαθεσιμότητας"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Κλιμακωτή τιμή προμηθευτή"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Επιστρέφει την συμβολοσειρά αναπαράστασης της κύριας διεύθυνσης. Αυτή η ιδιότητα υπάρχει για λόγους συμβατότητας προς τα πίσω."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Προεπιλεγμένο νόμισμα που χρησιμοποιείται για αυτόν τον προμηθευτή"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Όνομα εταιρείας"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Σε απόθεμα"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr "Κλιμακωτές τιμές"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Προέκυψε σφάλμα κατά την εξαγωγή δεδομένων"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Το plugin εξαγωγής δεδομένων επέστρεψε λανθασμένη μορφή δεδομένων"
@@ -4318,119 +4367,119 @@ msgstr "Τοποθετήθηκε"
msgid "Invalid status code"
msgstr "Μη έγκυρος κωδικός κατάστασης"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Αρχείο Δεδομένων"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Αρχείο δεδομένων για εισαγωγή"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Στήλες"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Τύπος μοντέλου στόχου για αυτή τη συνεδρία εισαγωγής"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Κατάσταση εισαγωγής"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Προεπιλεγμένες τιμές πεδίων"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Υπερισχύσεις πεδίων"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Φίλτρα πεδίων"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Ενημέρωση υπαρχόντων εγγραφών"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Αν είναι ενεργό, οι υπάρχουσες εγγραφές θα ενημερωθούν με νέα δεδομένα"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Κάποια απαιτούμενα πεδία δεν έχουν αντιστοιχιστεί"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Υπάρχον αναγνωριστικό βάσης δεδομένων για την εγγραφή"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Η στήλη έχει ήδη αντιστοιχιστεί σε πεδίο της βάσης δεδομένων"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Το πεδίο έχει ήδη αντιστοιχιστεί σε στήλη δεδομένων"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Η αντιστοίχιση στήλης πρέπει να συνδέεται με έγκυρη συνεδρία εισαγωγής"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Η στήλη δεν υπάρχει στο αρχείο δεδομένων"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Το πεδίο δεν υπάρχει στο μοντέλο προορισμού"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Το επιλεγμένο πεδίο είναι μόνο για ανάγνωση"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Συνεδρία εισαγωγής"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Πεδίο"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Στήλη"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Δείκτης γραμμής"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Αρχικά δεδομένα γραμμής"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Σφάλματα"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Έγκυρο"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "Απαιτείται ID για την ενημέρωση υπαρχόντων εγγραφών."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Δεν βρέθηκε εγγραφή με το παρεχόμενο ID"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Δόθηκε μη έγκυρη μορφή ID"
@@ -4530,7 +4579,7 @@ msgstr "Αριθμός αντιτύπων προς εκτύπωση για κά
msgid "Connected"
msgstr "Συνδεδεμένος"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Άγνωστο"
@@ -4658,105 +4707,117 @@ msgstr "Μέγιστη πρόοδος"
msgid "Maximum value for progress type, required if type=progress"
msgstr "Μέγιστη τιμή για τύπο προόδου, απαιτείται αν type=progress"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Αναφορά παραγγελίας"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Σε εκκρεμότητα"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Έχει κωδικό έργου"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Δημιουργήθηκε από"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Δημιουργήθηκε πριν"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Δημιουργήθηκε μετά"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Έχει ημερομηνία έναρξης"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Ημερομηνία έναρξης πριν"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Ημερομηνία έναρξης μετά"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Έχει ημερομηνία στόχο"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Ημερομηνία στόχος πριν"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Ημερομηνία στόχος μετά"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Έχει τιμολόγηση"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Ολοκληρώθηκε πριν"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Ολοκληρώθηκε μετά"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Εξωτερική εντολή παραγωγής"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Παραγγελία"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Η παραγγελία ολοκληρώθηκε"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Εσωτερικό προϊόν"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Η παραγγελία είναι σε εκκρεμότητα"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Ολοκληρώθηκε"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Έχει αποστολή"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Εντολή αγοράς"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Εντολή αγοράς"
msgid "Sales Order"
msgstr "Εντολές Πώλησης"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Συνολική τιμή"
msgid "Total price for this order"
msgstr "Συνολική τιμή για αυτή την παραγγελία"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Νόμισμα παραγγελίας"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Νόμισμα για αυτή την παραγγελία (αφήστε κενό για χρήση της προεπιλογής εταιρείας)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Αυτή η παραγγελία είναι κλειδωμένη και δεν μπορεί να τροποποιηθεί"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Η επαφή δεν αντιστοιχεί στην επιλεγμένη εταιρεία"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία στόχο"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr "Η διεύθυνση δεν αντιστοιχεί στην επιλεγμένη εταιρεία"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Περιγραφή παραγγελίας (προαιρετικά)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Επιλογή κωδικού έργου για αυτή την παραγγελία"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Σύνδεσμος σε εξωτερική σελίδα"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Ημερομηνία έναρξης"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Προγραμματισμένη ημερομηνία έναρξης για αυτή την παραγγελία"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Επιθυμητή Προθεσμία"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Αναμενόμενη ημερομηνία παράδοσης παραγγελίας. Η παραγγελία θα θεωρείται εκπρόθεσμη μετά από αυτή την ημερομηνία."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Ημερομηνία έκδοσης"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Ημερομηνία έκδοσης της παραγγελίας"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την παραγγελία"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Σημείο επαφής για αυτή την παραγγελία"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Διεύθυνση εταιρείας για αυτή την παραγγελία"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Αναφορά παραγγελίας"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Κατάσταση"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Κατάσταση εντολής αγοράς"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Εταιρεία από την οποία παραγγέλνονται τα είδη"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Αναφορά προμηθευτή"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Κωδικός αναφοράς παραγγελίας προμηθευτή"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "παραλήφθηκε από"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Ημερομηνία ολοκλήρωσης της παραγγελίας"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Προορισμός"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Προορισμός για τα παραληφθέντα είδη"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Ο προμηθευτής προϊόντος πρέπει να ταιριάζει με τον προμηθευτή της εντολής αγοράς"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Η γραμμή δεν αντιστοιχεί στην εντολή αγοράς"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Στη γραμμή λείπει συνδεδεμένο προϊόν"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Η ποσότητα πρέπει να είναι θετικός αριθμός"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Πελάτης"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Εταιρεία στην οποία πωλούνται τα είδη"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Κατάσταση εντολής πώλησης"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Αναφορά πελάτη "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Κωδικός αναφοράς παραγγελίας πελάτη"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Ημερομηνία αποστολής"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "απεστάλη από"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Η παραγγελία είναι ήδη ολοκληρωμένη"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Η παραγγελία είναι ήδη ακυρωμένη"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Μόνο μια ανοικτή παραγγελία μπορεί να σημειωθεί ως ολοκληρωμένη"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες αποστολές"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες δεσμεύσεις αποθέματος"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Η παραγγελία δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν μη ολοκληρωμένες γραμμές"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "Η παραγγελία είναι κλειδωμένη και δεν μπορεί να τροποποιηθεί"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Ποσότητα είδους"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Αναφορά γραμμής"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Σημειώσεις γραμμής"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Ημερομηνία στόχος για αυτή τη γραμμή (αφήστε κενό για χρήση της ημερομηνίας στόχου από την παραγγελία)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Περιγραφή γραμμής (προαιρετικά)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Πρόσθετο πλαίσιο για αυτή τη γραμμή"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Τιμή μονάδας"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Γραμμή εντολής αγοράς"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Το προϊόν προμηθευτή πρέπει να ταιριάζει με τον προμηθευτή"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Η εντολή παραγωγής πρέπει να έχει σημειωθεί ως εξωτερική"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Οι εντολές παραγωγής μπορούν να συνδεθούν μόνο με προϊόντα συναρμολόγησης"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Το προϊόν της εντολής παραγωγής πρέπει να ταιριάζει με το προϊόν της γραμμής"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Προϊόν προμηθευτή"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Παραλήφθηκε"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Αριθμός ειδών που παραλήφθηκαν"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Τιμή αγοράς"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Τιμή μονάδας αγοράς"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Εξωτερική εντολή παραγωγής που θα καλυφθεί από αυτή τη γραμμή"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Επιπλέον γραμμή εντολής αγοράς"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Γραμμή εντολής πώλησης"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Μόνο πωλήσιμα προϊόντα μπορούν να αντιστοιχιστούν σε εντολή πώλησης"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Τιμή πώλησης"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Τιμή μονάδας πώλησης"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Αποστάλθηκε"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Ποσότητα που αποστάλθηκε"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Αποστολή εντολής πώλησης"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr "Η διεύθυνση αποστολής πρέπει να αντιστοιχεί στον πελάτη"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr "Διεύθυνση αποστολής για αυτή την αποστολή"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Ημερομηνία αποστολής"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Ημερομηνία παράδοσης"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Ημερομηνία παράδοσης της αποστολής"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Έλεγχος από"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Χρήστης που έλεγξε αυτή την αποστολή"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Αποστολή"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Αριθμός αποστολής"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Αριθμός παρακολούθησης"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Πληροφορίες παρακολούθησης αποστολής"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Αριθμός τιμολογίου"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Αριθμός αναφοράς του σχετικού τιμολογίου"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Η αποστολή έχει ήδη σταλεί"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Η αποστολή δεν έχει δεσμευμένα είδη αποθέματος"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr "Η αποστολή πρέπει να ελεγχθεί πριν μπορέσει να ολοκληρωθεί"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Επιπλέον γραμμή εντολής πώλησης"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Δέσμευση αποθέματος εντολής πώλησης"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Δεν έχει αντιστοιχιστεί είδος αποθέματος"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Δεν είναι δυνατή η δέσμευση είδους αποθέματος σε γραμμή με διαφορετικό προϊόν"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Δεν είναι δυνατή η δέσμευση αποθέματος σε γραμμή χωρίς προϊόν"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Η ποσότητα δέσμευσης δεν μπορεί να υπερβαίνει την ποσότητα αποθέματος"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Η ποσότητα πρέπει να είναι 1 για σειριοποιημένο είδος αποθέματος"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Η εντολή πώλησης δεν αντιστοιχεί στην αποστολή"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Η αποστολή δεν αντιστοιχεί στην εντολή πώλησης"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Γραμμή"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Αναφορά αποστολής εντολής πώλησης"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Είδος"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Επιλογή είδους αποθέματος προς δέσμευση"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Εισαγωγή ποσότητας δέσμευσης αποθέματος"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Αναφορά εντολής επιστροφής"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Εταιρεία από την οποία επιστρέφονται τα είδη"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Κατάσταση εντολής επιστροφής"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Γραμμή εντολής επιστροφής"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Πρέπει να καθοριστεί είδος αποθέματος"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Η ποσότητα επιστροφής υπερβαίνει την ποσότητα αποθέματος"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Η ποσότητα επιστροφής πρέπει να είναι μεγαλύτερη από το μηδέν"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Μη έγκυρη ποσότητα για σειριοποιημένο είδος αποθέματος"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Επιλογή είδους προς επιστροφή από τον πελάτη"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Ημερομηνία παραλαβής"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Η ημερομηνία κατά την οποία παραλήφθηκε αυτό το επιστρεφόμενο είδος"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Έκβαση"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Έκβαση για αυτή τη γραμμή"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Κόστος που σχετίζεται με την επιστροφή ή επισκευή για αυτή τη γραμμή"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Επιπλέον γραμμή εντολής επιστροφής"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID παραγγελίας"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID της παραγγελίας προς αντιγραφή"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Αντιγραφή γραμμών"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Αντιγραφή γραμμών από την αρχική παραγγελία"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Αντιγραφή επιπλέον γραμμών"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Αντιγραφή επιπλέον γραμμών από την αρχική παραγγελία"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Αντιγραφή παραμέτρων"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Γραμμές"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Ολοκληρωμένες γραμμές"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Αντιγραφή παραγγελίας"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Καθορίστε επιλογές για την αντιγραφή αυτής της παραγγελίας"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Μη έγκυρο ID παραγγελίας"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Όνομα προμηθευτή"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Η παραγγελία δεν μπορεί να ακυρωθεί"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Να επιτρέπεται το κλείσιμο της παραγγελίας με μη ολοκληρωμένες γραμμές"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Η παραγγελία έχει μη ολοκληρωμένες γραμμές"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Η παραγγελία δεν είναι ανοικτή"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Αυτόματη τιμολόγηση"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Αυτόματος υπολογισμός τιμής αγοράς βάσει των δεδομένων προϊόντος προμηθευτή"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Νόμισμα τιμής αγοράς"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Συγχώνευση ειδών"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Συγχώνευση ειδών με το ίδιο προϊόν, προορισμό και ημερομηνία στόχο σε μία γραμμή"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Εσωτερικός κωδικός προϊόντος"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Εσωτερική ονομασία προϊόντος"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Πρέπει να καθοριστεί προϊόν προμηθευτή"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Πρέπει να καθοριστεί εντολή αγοράς"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Ο προμηθευτής πρέπει να ταιριάζει με την εντολή αγοράς"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Η εντολή αγοράς πρέπει να ταιριάζει με τον προμηθευτή"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Γραμμή"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Επιλογή τοποθεσίας προορισμού για τα παραληφθέντα είδη"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Εισαγάγετε κωδικό παρτίδας για τα εισερχόμενα είδη αποθέματος"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Ημερομηνία λήξης"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Εισαγάγετε ημερομηνία λήξης για τα εισερχόμενα είδη αποθέματος"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Εισαγάγετε σειριακούς αριθμούς για τα εισερχόμενα είδη αποθέματος"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Παράκαμψη πληροφοριών συσκευασίας για τα εισερχόμενα είδη αποθέματος"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Πρόσθετη σημείωση για τα εισερχόμενα είδη αποθέματος"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Barcode"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Σαρωμένο barcode"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Το barcode χρησιμοποιείται ήδη"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Πρέπει να δοθούν γραμμές"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Πρέπει να καθοριστεί τοποθεσία προορισμού"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Οι δοθείσες τιμές barcode πρέπει να είναι μοναδικές"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Αποστολές"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Ολοκληρωμένες αποστολές"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Νόμισμα τιμής πώλησης"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Δεσμευμένα είδη"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Δεν δόθηκαν λεπτομέρειες αποστολής"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Η γραμμή δεν συνδέεται με αυτή την παραγγελία"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Η ποσότητα πρέπει να είναι θετική"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Εισαγάγετε σειριακούς αριθμούς προς δέσμευση"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Η αποστολή έχει ήδη σταλεί"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Η αποστολή δεν συνδέεται με αυτή την παραγγελία"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Δεν βρέθηκε αντιστοίχιση για τους παρακάτω σειριακούς αριθμούς"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Οι παρακάτω σειριακοί αριθμοί δεν είναι διαθέσιμοι"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Γραμμή εντολής επιστροφής"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Η γραμμή δεν αντιστοιχεί στην εντολή επιστροφής"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Η γραμμή έχει ήδη παραληφθεί"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Είδη μπορούν να παραληφθούν μόνο για παραγγελίες που είναι σε εξέλιξη"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Ποσότητα προς επιστροφή"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Νόμισμα τιμής γραμμής"
@@ -5532,1174 +5613,1226 @@ msgstr "Επιστροφή χρημάτων"
msgid "Reject"
msgstr "Απόρριψη"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Εκπρόθεσμη εντολή αγοράς"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Η εντολή αγοράς {po} είναι πλέον εκπρόθεσμη"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Εκπρόθεσμη εντολή πώλησης"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Η εντολή πώλησης {so} είναι πλέον εκπρόθεσμη"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Εκπρόθεσμη εντολή επιστροφής"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "Η εντολή επιστροφής {ro} είναι πλέον εκπρόθεσμη"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Με αστέρι"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Φιλτράρισμα κατά κατηγορίες με αστέρι"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Βάθος"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Φιλτράρισμα κατά βάθος κατηγορίας"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Ανώτατο επίπεδο"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Φιλτράρισμα κατά κατηγορίες ανώτατου επιπέδου"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Κατά κληρονομικότητα"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Συμπερίληψη υποκατηγοριών στα φιλτραρισμένα αποτελέσματα"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Γονική"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Φιλτράρισμα κατά γονική κατηγορία"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Εξαίρεση υποκατηγοριών κάτω από την καθορισμένη κατηγορία"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Έχει αποτελέσματα"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Είναι παραλλαγή"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Είναι αναθεώρηση"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Έχει αναθεωρήσεις"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Έγκυρο BOM"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr "Κατηγορίες κατά κληρονομικότητα"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr "Αν είναι αληθές, συμπεριλαμβάνονται είδη σε θυγατρικές κατηγορίες της δοσμένης κατηγορίας"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr "Φιλτράρισμα κατά αριθμητικό ID κατηγορίας ή τη λέξη 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Το προϊόν συναρμολόγησης είναι υπό δοκιμή"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Το προϊόν Προϊόντος είναι υπό δοκιμή"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Χρήσεις"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Κατηγορία προϊόντος"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Κατηγορίες προϊόντων"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Προεπιλεγμένη τοποθεσία"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Προεπιλεγμένη τοποθεσία για προϊόντα σε αυτή την κατηγορία"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Δομική"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Τα προϊόντα δεν μπορούν να αντιστοιχιστούν απευθείας σε δομική κατηγορία, αλλά μπορούν να αντιστοιχιστούν σε θυγατρικές κατηγορίες."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Προεπιλεγμένες λέξεις-κλειδιά"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Προεπιλεγμένες λέξεις-κλειδιά για προϊόντα σε αυτή την κατηγορία"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Εικονίδιο"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Εικονίδιο (προαιρετικό)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Δεν μπορείτε να κάνετε αυτή την κατηγορία προϊόντων δομική επειδή κάποια προϊόντα έχουν ήδη αντιστοιχιστεί σε αυτή!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Πρότυπο παραμέτρου κατηγορίας προϊόντος"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Προεπιλεγμένη τιμή"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Προεπιλεγμένη τιμή παραμέτρου"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Προϊόντα"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι κλειδωμένο"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι ακόμη ενεργό"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή χρησιμοποιείται σε συναρμολόγηση"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Το προϊόν '{self}' δεν μπορεί να χρησιμοποιηθεί στο BOM για '{parent}' (αναδρομικά)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Το προϊόν '{parent}' χρησιμοποιείται στο BOM για '{self}' (αναδρομικά)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "Το IPN πρέπει να ταιριάζει με το πρότυπο regex {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Το προϊόν δεν μπορεί να είναι αναθεώρηση του εαυτού του"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Δεν μπορεί να γίνει αναθεώρηση προϊόντος που είναι ήδη αναθεώρηση"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Πρέπει να καθοριστεί κωδικός αναθεώρησης"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Οι αναθεωρήσεις επιτρέπονται μόνο για προϊόντα συναρμολόγησης"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Δεν μπορεί να γίνει αναθεώρηση προϊόντος προτύπου"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Το γονικό προϊόν πρέπει να αντιστοιχεί στο ίδιο πρότυπο"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Υπάρχει ήδη είδος αποθέματος με αυτόν τον σειριακό αριθμό"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Δεν επιτρέπεται διπλό IPN στις ρυθμίσεις προϊόντος"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Υπάρχει ήδη διπλή αναθεώρηση προϊόντος."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Υπάρχει ήδη προϊόν με αυτό το όνομα, IPN και αναθεώρηση."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Τα προϊόντα δεν μπορούν να αντιστοιχιστούν σε δομικές κατηγορίες προϊόντων!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Όνομα προϊόντος"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Είναι πρότυπο"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Είναι αυτό το προϊόν προϊόν προτύπου;"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Είναι αυτό το προϊόν παραλλαγή άλλου προϊόντος;"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Παραλλαγή του"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Περιγραφή προϊόντος (προαιρετικά)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Λέξεις-κλειδιά"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Λέξεις-κλειδιά προϊόντος για βελτίωση της ορατότητας στα αποτελέσματα αναζήτησης"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Κατηγορία προϊόντος"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Αριθμός αναθεώρησης ή έκδοσης προϊόντος"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Αναθεώρηση"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Είναι αυτό το προϊόν αναθεώρηση άλλου προϊόντος;"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Αναθεώρηση του"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Πού αποθηκεύεται συνήθως αυτό το είδος;"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Προεπιλεγμένος προμηθευτής"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Προεπιλεγμένο προϊόν προμηθευτή"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Προεπιλεγμένη λήξη"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Χρόνος λήξης (σε ημέρες) για είδη αποθέματος αυτού του προϊόντος"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Ελάχιστο απόθεμα"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Ελάχιστο επιτρεπτό επίπεδο αποθέματος"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Μονάδες μέτρησης για αυτό το προϊόν"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Μπορεί αυτό το προϊόν να κατασκευαστεί από άλλα προϊόντα;"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Μπορεί αυτό το προϊόν να χρησιμοποιηθεί για την κατασκευή άλλων προϊόντων;"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Έχει αυτό το προϊόν ιχνηλάτηση για μοναδικά είδη;"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Μπορούν να καταχωρηθούν αποτελέσματα δοκιμών για αυτό το προϊόν;"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Μπορεί αυτό το προϊόν να αγοραστεί από εξωτερικούς προμηθευτές;"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Μπορεί αυτό το προϊόν να πωληθεί σε πελάτες;"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Είναι αυτό το προϊόν ενεργό;"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Κλειδωμένα προϊόντα δεν μπορούν να τροποποιηθούν"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Είναι αυτό ένα εικονικό προϊόν, όπως προϊόν λογισμικού ή άδεια;"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Το BOM έχει επικυρωθεί"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Είναι το BOM για αυτό το προϊόν έγκυρο;"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Άθροισμα ελέγχου BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Αποθηκευμένο άθροισμα ελέγχου BOM"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Έλεγχος BOM από"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Ημερομηνία ελέγχου BOM"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Χρήστης δημιουργίας"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Ιδιοκτήτης υπεύθυνος για αυτό το προϊόν"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Πώληση πολλαπλάσιων"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Νόμισμα που χρησιμοποιείται για την προσωρινή αποθήκευση υπολογισμών τιμολόγησης"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Ελάχιστο κόστος BOM"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Ελάχιστο κόστος προϊόντων Προϊόντων"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Μέγιστο κόστος BOM"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Μέγιστο κόστος προϊόντων Προϊόντων"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Ελάχιστο κόστος αγοράς"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Ελάχιστο ιστορικό κόστος αγοράς"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Μέγιστο κόστος αγοράς"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Μέγιστο ιστορικό κόστος αγοράς"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Ελάχιστη εσωτερική τιμή"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Ελάχιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Μέγιστη εσωτερική τιμή"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Μέγιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Ελάχιστη τιμή προμηθευτή"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Ελάχιστη τιμή προϊόντος από εξωτερικούς προμηθευτές"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Μέγιστη τιμή προμηθευτή"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Μέγιστη τιμή προϊόντος από εξωτερικούς προμηθευτές"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Ελάχιστο κόστος παραλλαγής"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Υπολογισμένο ελάχιστο κόστος προϊόντων παραλλαγών"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Μέγιστο κόστος παραλλαγής"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Υπολογισμένο μέγιστο κόστος προϊόντων παραλλαγών"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Ελάχιστο κόστος"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Παράκαμψη ελάχιστου κόστους"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Μέγιστο κόστος"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Παράκαμψη μέγιστου κόστους"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Υπολογισμένο συνολικό ελάχιστο κόστος"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Υπολογισμένο συνολικό μέγιστο κόστος"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Ελάχιστη τιμή πώλησης"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Ελάχιστη τιμή πώλησης βάσει κλιμακωτών τιμών"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Μέγιστη τιμή πώλησης"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Μέγιστη τιμή πώλησης βάσει κλιμακωτών τιμών"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Ελάχιστο κόστος πώλησης"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Ελάχιστη ιστορική τιμή πώλησης"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Μέγιστο κόστος πώλησης"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Μέγιστη ιστορική τιμή πώλησης"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Προϊόν για απογραφή"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Αριθμός ειδών"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Αριθμός μεμονωμένων εγγραφών αποθέματος κατά τον χρόνο απογραφής"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Συνολικό διαθέσιμο απόθεμα κατά τον χρόνο απογραφής"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Ημερομηνία"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Ημερομηνία που πραγματοποιήθηκε η απογραφή"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Ελάχιστο κόστος αποθέματος"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Εκτιμώμενο ελάχιστο κόστος αποθέματος σε διαθεσιμότητα"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Μέγιστο κόστος αποθέματος"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Εκτιμώμενο μέγιστο κόστος αποθέματος σε διαθεσιμότητα"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Κλιμακωτή τιμή πώλησης προϊόντος"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Πρότυπο δοκιμής προϊόντος"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Μη έγκυρο όνομα προτύπου - πρέπει να περιλαμβάνει τουλάχιστον έναν αλφαριθμητικό χαρακτήρα"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Πρότυπα δοκιμών μπορούν να δημιουργηθούν μόνο για προϊόντα που είναι υπό δοκιμή"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Υπάρχει ήδη πρότυπο δοκιμής με το ίδιο κλειδί για το προϊόν"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Όνομα δοκιμής"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Εισαγάγετε όνομα για τη δοκιμή"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Κλειδί δοκιμής"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Απλοποιημένο κλειδί για τη δοκιμή"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Περιγραφή δοκιμής"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Εισαγάγετε περιγραφή για αυτή τη δοκιμή"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Είναι αυτή η δοκιμή ενεργή;"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Απαραίτητη"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Απαιτείται η επιτυχής ολοκλήρωση αυτής της δοκιμής;"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Απαιτεί τιμή"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Απαιτεί αυτή η δοκιμή τιμή κατά την προσθήκη αποτελέσματος δοκιμής;"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Απαιτεί συνημμένο"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Απαιτεί αυτή η δοκιμή συνημμένο αρχείο κατά την προσθήκη αποτελέσματος δοκιμής;"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Έγκυρες επιλογές για αυτή τη δοκιμή (διαχωρισμένες με κόμμα)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση είναι κλειδωμένη"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση παραλλαγής είναι κλειδωμένη"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Επιλέξτε γονικό προϊόν"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Υποπροϊόν"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Επιλέξτε προϊόν που θα χρησιμοποιηθεί στο BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Ποσότητα BOM για αυτό το στοιχείο BOM"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Αυτό το στοιχείο BOM είναι προαιρετικό"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Αυτό το στοιχείο BOM είναι αναλώσιμο (δεν παρακολουθείται στις εντολές παραγωγής)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Ποσότητα ρύθμισης"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "Επιπλέον απαιτούμενη ποσότητα για μια παραγωγή, για να ληφθούν υπόψη οι απώλειες ρύθμισης"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Φθορά"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Εκτιμώμενη φθορά για μια παραγωγή, εκφρασμένη ως ποσοστό (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Πολλαπλάσιο στρογγυλοποίησης"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Στρογγυλοποίηση προς τα πάνω της απαιτούμενης ποσότητας παραγωγής στο πλησιέστερο πολλαπλάσιο αυτής της τιμής"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Αναφορά στοιχείου BOM"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Σημειώσεις στοιχείου BOM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Άθροισμα ελέγχου"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Άθροισμα ελέγχου γραμμής BOM"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Επικυρωμένο"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Αυτό το στοιχείο BOM έχει επικυρωθεί"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Κληρονομείται"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Αυτό το στοιχείο BOM κληρονομείται από τα BOM για προϊόντα παραλλαγών"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Είδη αποθέματος για προϊόντα παραλλαγών μπορούν να χρησιμοποιηθούν για αυτό το στοιχείο BOM"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Η ποσότητα πρέπει να είναι ακέραια τιμή για προϊόντα με ιχνηλάτηση"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Πρέπει να καθοριστεί υποπροϊόν"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Εναλλακτικό στοιχείο BOM"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Το εναλλακτικό προϊόν δεν μπορεί να είναι το ίδιο με το κύριο προϊόν"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Γονικό στοιχείο BOM"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Εναλλακτικό προϊόν"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Προϊόν 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Προϊόν 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Επιλέξτε σχετικό προϊόν"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Σημείωση για αυτή τη σχέση"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Δεν μπορεί να δημιουργηθεί σχέση προϊόντος μεταξύ ενός προϊόντος και του εαυτού του"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Υπάρχει ήδη διπλή σχέση"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Γονική κατηγορία"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Γονική κατηγορία προϊόντος"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Υποκατηγορίες"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Αποτελέσματα"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Αριθμός αποτελεσμάτων που έχουν καταγραφεί για αυτό το πρότυπο"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Νόμισμα αγοράς για αυτό το είδος αποθέματος"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Το αρχείο δεν είναι εικόνα"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Αρχικό προϊόν"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Επιλέξτε αρχικό προϊόν για αντιγραφή"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Αντιγραφή εικόνας"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Αντιγραφή εικόνας από το αρχικό προϊόν"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Αντιγραφή BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Αντιγραφή λίστας υλικών (BOM) από το αρχικό προϊόν"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Αντιγραφή παραμέτρων"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Αντιγραφή δεδομένων παραμέτρων από το αρχικό προϊόν"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Αντιγραφή σημειώσεων"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Αντιγραφή σημειώσεων από το αρχικό προϊόν"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Αντιγραφή δοκιμών"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Αντιγραφή προτύπων δοκιμών από το αρχικό προϊόν"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Αρχική ποσότητα αποθέματος"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Καθορίστε αρχική ποσότητα αποθέματος για αυτό το προϊόν. Αν η ποσότητα είναι μηδέν, δεν προστίθεται απόθεμα"
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Αρχική τοποθεσία αποθέματος"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Καθορίστε αρχική τοποθεσία αποθέματος για αυτό το προϊόν"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Επιλέξτε προμηθευτή (ή αφήστε κενό για παράλειψη)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Επιλέξτε κατασκευαστή (ή αφήστε κενό για παράλειψη)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Κωδικός προϊόντος κατασκευαστή"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος προμηθευτής"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος κατασκευαστής"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Υπάρχει ήδη προϊόν κατασκευαστή με αυτό το MPN"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Υπάρχει ήδη προϊόν προμηθευτή με αυτό το SKU"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Όνομα κατηγορίας"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Σε παραγωγή"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Ποσότητα αυτού του προϊόντος που βρίσκεται αυτή τη στιγμή σε παραγωγή"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Εκκρεμής ποσότητα αυτού του προϊόντος που έχει προγραμματιστεί για παραγωγή"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Είδη αποθέματος"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Αναθεωρήσεις"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Προμηθευτές"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Συνολικό απόθεμα"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Μη δεσμευμένο απόθεμα"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Απόθεμα παραλλαγών"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Αντιγραφή προϊόντος"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Αντιγραφή αρχικών δεδομένων από άλλο προϊόν"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Αρχικό απόθεμα"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Δημιουργία προϊόντος με αρχική ποσότητα αποθέματος"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Πληροφορίες προμηθευτή"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Προσθήκη αρχικών πληροφοριών προμηθευτή για αυτό το προϊόν"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Αντιγραφή παραμέτρων κατηγορίας"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Αντιγραφή προτύπων παραμέτρων από την επιλεγμένη κατηγορία προϊόντος"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Υπάρχουσα εικόνα"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Όνομα αρχείου υπάρχουσας εικόνας προϊόντος"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Το αρχείο εικόνας δεν υπάρχει"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Επικύρωση ολόκληρης της λίστας υλικών (BOM)"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Μπορεί να παραχθεί"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Απαιτείται για εντολές παραγωγής"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Δεσμευμένο σε εντολές παραγωγής"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Απαιτείται για εντολές πώλησης"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Δεσμευμένο σε εντολές πώλησης"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Ελάχιστη τιμή"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Παράκαμψη υπολογισμένης τιμής για την ελάχιστη τιμή"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Νόμισμα ελάχιστης τιμής"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Μέγιστη τιμή"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Παράκαμψη υπολογισμένης τιμής για τη μέγιστη τιμή"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Νόμισμα μέγιστης τιμής"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Ενημέρωση"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Ενημέρωση τιμολόγησης για αυτό το προϊόν"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Δεν ήταν δυνατή η μετατροπή από τα δοθέντα νομίσματα σε {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Η ελάχιστη τιμή δεν πρέπει να είναι μεγαλύτερη από τη μέγιστη τιμή"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Η μέγιστη τιμή δεν πρέπει να είναι μικρότερη από την ελάχιστη τιμή"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Επιλέξτε τη γονική συναρμολόγηση"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Επιλέξτε το προϊόν Προϊόντος"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Επιλέξτε προϊόν από το οποίο θα αντιγραφεί το BOM"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Αφαίρεση υπαρχόντων δεδομένων"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Αφαίρεση υπαρχόντων στοιχείων BOM πριν την αντιγραφή"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Συμπερίληψη κληρονομημένων"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Συμπερίληψη στοιχείων BOM που κληρονομούνται από προϊόντα προτύπων"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Παράλειψη μη έγκυρων γραμμών"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Ενεργοποιήστε αυτή την επιλογή για να παραλείπονται οι μη έγκυρες γραμμές"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Αντιγραφή εναλλακτικών προϊόντων"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Αντιγραφή εναλλακτικών προϊόντων κατά την αντιγραφή στοιχείων BOM"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Ειδοποίηση χαμηλού αποθέματος"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Το διαθέσιμο απόθεμα για το {part.name} έχει πέσει κάτω από το καθορισμένο ελάχιστο επίπεδο"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Ειδοποίηση παλαιού αποθέματος"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "Έχετε 1 είδος αποθέματος που πλησιάζει την ημερομηνία λήξης του"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "Έχετε {item_count} είδη αποθέματος που πλησιάζουν την ημερομηνία λήξης τους"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Χωρίς ημερομηνία λήξης"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "Έληξε πριν από {abs(days_diff)} ημέρες"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Λήγει σήμερα"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} ημέρες"
@@ -6732,108 +6865,108 @@ msgstr "Δεν έχει καθοριστεί ενέργεια"
msgid "No matching action found"
msgstr "Δεν βρέθηκε αντίστοιχη ενέργεια"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Δεν βρέθηκε αντιστοίχιση για τα δεδομένα barcode"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Βρέθηκε αντιστοίχιση για τα δεδομένα barcode"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Το μοντέλο δεν υποστηρίζεται"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Δεν βρέθηκε η συγκεκριμένη εγγραφή του μοντέλου"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Το barcode αντιστοιχεί σε υπάρχον είδος"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Δεν βρέθηκαν αντίστοιχα δεδομένα προϊόντος"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Δεν βρέθηκαν αντίστοιχα προϊόντα προμηθευτή"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Βρέθηκαν πολλαπλά αντίστοιχα προϊόντα προμηθευτή"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Δεν βρέθηκε αντίστοιχο πρόσθετο για τα δεδομένα barcode"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Αντίστοιχο προϊόν προμηθευτή"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Το είδος έχει ήδη παραληφθεί"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Δεν υπάρχει πρόσθετο που να ταιριάζει για το barcode προμηθευτή"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Βρέθηκαν πολλαπλές αντίστοιχες γραμμές"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Δεν βρέθηκε αντίστοιχη γραμμή"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Δεν δόθηκε εντολή πώλησης"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Το barcode δεν αντιστοιχεί σε υπάρχον είδος αποθέματος"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Το είδος αποθέματος δεν ταιριάζει με τη γραμμή"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Μη επαρκές διαθέσιμο απόθεμα"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Το είδος αποθέματος δεσμεύτηκε στην εντολή πώλησης"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Μη επαρκείς πληροφορίες"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Βρέθηκε αντίστοιχο είδος"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Το προϊόν προμηθευτή δεν ταιριάζει με τη γραμμή"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Η γραμμή είναι ήδη ολοκληρωμένη"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Απαιτούνται επιπλέον πληροφορίες για την παραλαβή της γραμμής"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Παραλήφθηκε η γραμμή εντολής αγοράς"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Αποτυχία παραλαβής γραμμής"
@@ -6972,7 +7105,7 @@ msgstr "Παρέχει εγγενή υποστήριξη για barcodes"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr "Έκδοση οπισθοχρονολογημένων εντολών"
msgid "Automatically issue orders that are backdated"
msgstr "Αυτόματη έκδοση εντολών που είναι οπισθοχρονολογημένες"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Επίπεδα"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "Αριθμός επιπέδων προς εξαγωγή - ορίστε το σε μηδέν για εξαγωγή όλων των επιπέδων BOM"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Συνολική ποσότητα"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "Συμπερίληψη συνολικής ποσότητας κάθε προϊόντος στο BOM"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Δεδομένα αποθέματος"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Συμπερίληψη δεδομένων αποθέματος προϊόντος"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Δεδομένα τιμολόγησης"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Συμπερίληψη δεδομένων τιμολόγησης προϊόντος"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Δεδομένα προμηθευτή"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Συμπερίληψη δεδομένων προμηθευτή"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Δεδομένα κατασκευαστή"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Συμπερίληψη δεδομένων κατασκευαστή"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Δεδομένα εναλλακτικών"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Συμπερίληψη δεδομένων εναλλακτικών προϊόντων"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Δεδομένα παραμέτρων"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Συμπερίληψη δεδομένων παραμέτρων προϊόντος"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Εξαγωγέας BOM πολλαπλών επιπέδων"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Παρέχει υποστήριξη για εξαγωγή BOM πολλαπλών επιπέδων"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "Επίπεδο BOM"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Εναλλακτικό {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Προμηθευτής {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "SKU προμηθευτή {n}"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "MPN προμηθευτή {n}"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Κατασκευαστής {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "MPN κατασκευαστή {n}"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr "Ενσωματωμένες μεθόδοι ειδοποιήσεων Slack"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL εισερχόμενου webhook Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "Εκτυπωτής ετικετών μηχανής InvenTree"
msgid "Provides support for printing using a machine"
msgstr "Παρέχει υποστήριξη για εκτύπωση μέσω μηχανής"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "τελευταία χρήση"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Επιλογές"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Κλειδί του πρόσθετου"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "PluginName του πρόσθετου"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Πρόσθετο πακέτου"
msgid "Plugin"
msgstr "Πρόσθετο"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Δεν βρέθηκε δημιουργός"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Το πρόσθετο '{p}' δεν είναι συμβατό με την τρέχουσα έκδοση InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Το πρόσθετο απαιτεί τουλάχιστον την έκδοση {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Το πρόσθετο απαιτεί το πολύ την έκδοση {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Η εγκατάσταση δεν επιβεβαιώθηκε"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Πρέπει να δοθεί είτε όνομα πακέτου είτε URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Σύνολο"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Σειριακός αριθμός"
@@ -8097,7 +8230,7 @@ msgstr "Αναφορά δοκιμών είδους αποθέματος"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Εγκατεστημένα είδη"
@@ -8130,495 +8263,519 @@ msgstr "Χωρίς αποτέλεσμα (υποχρεωτικό)"
msgid "No result"
msgstr "Χωρίς αποτέλεσμα"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Το αρχείο πόρου δεν υπάρχει"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Το αρχείο εικόνας δεν βρέθηκε"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "Το tag part_image απαιτεί μία παρουσία Aντικειμένου"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "Το tag company_image απαιτεί ένα Aντικειμένου Company"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Φιλτράρισμα ανά βάθος τοποθεσίας"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Φιλτράρισμα κατά τοποθεσίες ανώτατου επιπέδου"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Συμπερίληψη υποτοποθεσιών στα φιλτραρισμένα αποτελέσματα"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Γονική τοποθεσία"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Φιλτράρισμα βάσει γονικής τοποθεσίας"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Όνομα προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Το όνομα προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Όνομα προϊόντος (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "IPN προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Το IPN προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "IPN προϊόντος (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Ελάχιστο απόθεμα"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Μέγιστο απόθεμα"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Κωδικός κατάστασης"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Εξωτερική τοποθεσία"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Αναλωμένο από εντολή παραγωγής"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Εγκατεστημένο σε άλλο είδος αποθέματος"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Δέντρο προϊόντος"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Ενημερώθηκε πριν από"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Ενημερώθηκε μετά από"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Απογραφή πριν από"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Απογραφή μετά από"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Ημερομηνία λήξης πριν από"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Ημερομηνία λήξης μετά από"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Παλαιωμένο"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "Δώστε ένα PK είδους αποθέματος για να εξαιρεθεί αυτό και όλοι οι απόγονοί του"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "Διαδοχικές τοποθεσίες"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "Αν είναι true, περιλαμβάνει είδη σε θυγατρικές τοποθεσίες της δεδομένης τοποθεσίας"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "Φιλτράρισμα κατά αριθμητικό ID τοποθεσίας ή τη λέξη 'null'"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Απαιτείται ποσότητα"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Πρέπει να δοθεί έγκυρο προϊόν"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Το δοθέν προϊόν προμηθευτή δεν υπάρχει"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Το προϊόν προμηθευτή έχει ορισμένο μέγεθος συσκευασίας, αλλά η σημαία use_pack_size δεν έχει τεθεί"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Δεν μπορούν να δοθούν σειριακοί αριθμοί για μη ιχνηλάσιμο προϊόν"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr "Συμπερίληψη εγκατεστημένων"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr "Αν είναι true, περιλαμβάνει αποτελέσματα δοκιμών για είδη που είναι εγκατεστημένα κάτω από το συγκεκριμένο είδος αποθέματος"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr "Φιλτράρισμα κατά αριθμητικό ID είδους αποθέματος"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr "Είδος αποθέματος με ID {id} δεν υπάρχει"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Τύπος τοποθεσίας αποθέματος"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Τύποι τοποθεσίας αποθέματος"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Προεπιλεγμένο εικονίδιο για όλες τις τοποθεσίες που δεν έχουν ορισμένο εικονίδιο (προαιρετικό)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Τοποθεσία αποθέματος"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Τοποθεσίες αποθέματος"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Ιδιοκτήτης"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Επιλέξτε ιδιοκτήτη"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Τα είδη αποθέματος δεν μπορούν να τοποθετηθούν απευθείας σε δομικές τοποθεσίες αποθέματος, αλλά μπορούν να τοποθετηθούν σε θυγατρικές τοποθεσίες."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Εξωτερικό"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Πρόκειται για εξωτερική τοποθεσία αποθέματος"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Τύπος τοποθεσίας"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Ο τύπος τοποθεσίας αποθέματος για αυτή την τοποθεσία"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Δεν μπορείτε να κάνετε αυτή την τοποθεσία αποθέματος δομική, επειδή κάποια είδη αποθέματος είναι ήδη τοποθετημένα σε αυτή!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "Το {field} δεν υπάρχει"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Πρέπει να καθοριστεί προϊόν"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Τα είδη αποθέματος δεν μπορούν να τοποθετηθούν σε δομικές τοποθεσίες αποθέματος!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Δεν μπορεί να δημιουργηθεί είδος αποθέματος για εικονικά προϊόντα"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Ο τύπος προϊόντος ('{self.supplier_part.part}') πρέπει να είναι {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Η ποσότητα πρέπει να είναι 1 για είδος με σειριακό αριθμό"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Δεν μπορεί να οριστεί σειριακός αριθμός αν η ποσότητα είναι μεγαλύτερη από 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Το είδος δεν μπορεί να ανήκει στον εαυτό του"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Το είδος πρέπει να έχει αναφορά παραγωγής αν is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Η αναφορά παραγωγής δεν αντιστοιχεί στο ίδιο προϊόν"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Γονικό είδος αποθέματος"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Βασικό προϊόν"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Επιλέξτε αντίστοιχο προϊόν προμηθευτή για αυτό το είδος αποθέματος"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Πού βρίσκεται αυτό το είδος αποθέματος;"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Συσκευασία στην οποία αποθηκεύεται αυτό το είδος αποθέματος"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Εγκατεστημένο σε"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Είναι αυτό το είδος εγκατεστημένο σε άλλο είδος;"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Σειριακός αριθμός για αυτό το είδος"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Κωδικός παρτίδας για αυτό το είδος αποθέματος"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Ποσότητα αποθέματος"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Πηγή παραγωγής"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Εντολή παραγωγής για αυτό το είδος αποθέματος"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Έχει αναλωθεί από"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Εντολή παραγωγής που κατανάλωσε αυτό το είδος αποθέματος"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Πηγή εντολής αγοράς"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Εντολή αγοράς για αυτό το είδος αποθέματος"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Εντολή πώλησης προορισμού"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ημερομηνία λήξης για το είδος αποθέματος. Το απόθεμα θα θεωρείται ληγμένο μετά από αυτή την ημερομηνία"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Διαγραφή κατά την εξάντληση"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Διαγραφή αυτού του είδους αποθέματος όταν εξαντληθεί"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Τιμή αγοράς ανά μονάδα κατά τον χρόνο αγοράς"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Μετατράπηκε σε προϊόν"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "Η ποσότητα υπερβαίνει το διαθέσιμο απόθεμα"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Το προϊόν δεν έχει οριστεί ως ιχνηλάσιμο"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Η ποσότητα πρέπει να είναι ακέραιος αριθμός"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Η ποσότητα δεν πρέπει να υπερβαίνει το διαθέσιμο απόθεμα ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Οι σειριακοί αριθμοί πρέπει να δοθούν ως λίστα"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Η ποσότητα δεν αντιστοιχεί στους σειριακούς αριθμούς"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Το πρότυπο δοκιμής δεν υπάρχει"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Το είδος αποθέματος έχει αντιστοιχιστεί σε εντολή πώλησης"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Το είδος αποθέματος είναι εγκατεστημένο σε άλλο είδος"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Το είδος αποθέματος περιέχει άλλα είδη"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Το είδος αποθέματος έχει αντιστοιχιστεί σε πελάτη"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Το είδος αποθέματος βρίσκεται αυτή τη στιγμή σε παραγωγή"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Σειριακό απόθεμα δεν μπορεί να συγχωνευθεί"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Διπλότυπα είδη αποθέματος"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Τα είδη αποθέματος πρέπει να αναφέρονται στο ίδιο προϊόν"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Τα είδη αποθέματος πρέπει να αναφέρονται στο ίδιο προϊόν προμηθευτή"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Οι κωδικοί κατάστασης αποθέματος πρέπει να ταιριάζουν"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Το StockItem δεν μπορεί να μετακινηθεί καθώς δεν βρίσκεται σε απόθεμα"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Ιχνηλάτηση είδους αποθέματος"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Σημειώσεις καταχώρησης"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Αποτέλεσμα δοκιμής είδους αποθέματος"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Πρέπει να δοθεί τιμή για αυτή τη δοκιμή"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Πρέπει να μεταφορτωθεί συνημμένο για αυτή τη δοκιμή"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Μη έγκυρη τιμή για αυτή τη δοκιμή"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Αποτέλεσμα δοκιμής"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Τιμή αποτελέσματος δοκιμής"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Συνημμένο αποτελέσματος δοκιμής"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Σημειώσεις δοκιμής"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Σταθμός δοκιμής"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Ο αναγνωριστικός κωδικός του σταθμού δοκιμής όπου πραγματοποιήθηκε η δοκιμή"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Έναρξη"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Χρονική σήμανση έναρξης της δοκιμής"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Ολοκλήρωση"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Χρονική σήμανση λήξης της δοκιμής"
@@ -8662,246 +8819,246 @@ msgstr "Επιλέξτε προϊόν για το οποίο θα δημιουρ
msgid "Quantity of serial numbers to generate"
msgstr "Ποσότητα σειριακών αριθμών προς δημιουργία"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Πρότυπο δοκιμής για αυτό το αποτέλεσμα"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr "Δεν βρέθηκε αντίστοιχη δοκιμή για αυτό το προϊόν"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "Πρέπει να δοθεί Template ID ή όνομα δοκιμής"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Η ώρα λήξης της δοκιμής δεν μπορεί να είναι προγενέστερη της ώρας έναρξης"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Γονικό είδος"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Γονικό είδος αποθέματος"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Χρήση μεγέθους συσκευασίας κατά την προσθήκη: η καθορισμένη ποσότητα είναι ο αριθμός των συσκευασιών"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "Χρήση μεγέθους συσκευασίας"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Εισαγάγετε σειριακούς αριθμούς για νέα είδη"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Κωδικός προϊόντος προμηθευτή"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Ληγμένο"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Θυγατρικά είδη"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Εγγραφές ιχνηλάτησης"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Τιμή αγοράς αυτού του είδους αποθέματος, ανά μονάδα ή συσκευασία"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Εισαγάγετε τον αριθμό ειδών αποθέματος για σειριοποίηση"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "Δεν δόθηκε είδος αποθέματος"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Η ποσότητα δεν πρέπει να υπερβαίνει το διαθέσιμο απόθεμα ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Τοποθεσία προορισμού αποθέματος"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Δεν μπορούν να εκχωρηθούν σειριακοί αριθμοί σε αυτό το προϊόν"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Οι σειριακοί αριθμοί υπάρχουν ήδη"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Επιλέξτε είδος αποθέματος προς εγκατάσταση"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Ποσότητα προς εγκατάσταση"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Εισαγάγετε την ποσότητα των ειδών προς εγκατάσταση"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Προσθέστε σημείωση συναλλαγής (προαιρετικά)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Η ποσότητα προς εγκατάσταση πρέπει να είναι τουλάχιστον 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Το είδος αποθέματος δεν είναι διαθέσιμο"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Το επιλεγμένο προϊόν δεν βρίσκεται στο Δελτίο Υλικών (BOM)"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Η ποσότητα προς εγκατάσταση δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Τοποθεσία προορισμού για το απεγκατεστημένο είδος"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Επιλέξτε προϊόν στο οποίο θα μετατραπεί το είδος αποθέματος"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Το επιλεγμένο προϊόν δεν είναι έγκυρη επιλογή για μετατροπή"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Δεν είναι δυνατή η μετατροπή είδους αποθέματος με εκχωρημένο SupplierPart"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Κωδικός κατάστασης είδους αποθέματος"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Επιλέξτε είδη αποθέματος για αλλαγή κατάστασης"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Δεν επιλέχθηκαν είδη αποθέματος"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Υποτοποθεσίες"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Γονική τοποθεσία αποθέματος"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Το προϊόν πρέπει να είναι διαθέσιμο για πώληση"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Το είδος έχει δεσμευτεί σε εντολή πώλησης"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Το είδος έχει δεσμευτεί σε εντολή παραγωγής"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Πελάτης στον οποίο θα αποδοθούν τα είδη αποθέματος"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Η επιλεγμένη εταιρεία δεν είναι πελάτης"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Σημειώσεις απόδοσης αποθέματος"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Πρέπει να δοθεί λίστα ειδών αποθέματος"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Σημειώσεις συγχώνευσης αποθέματος"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Να επιτρέπονται διαφορετικοί προμηθευτές"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικά προϊόντα προμηθευτή"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Να επιτρέπεται διαφορετική κατάσταση"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικούς κωδικούς κατάστασης"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Πρέπει να δοθούν τουλάχιστον δύο είδη αποθέματος"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Καμία αλλαγή"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Τιμή πρωτεύοντος κλειδιού StockItem"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Το είδος δεν βρίσκεται σε απόθεμα"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "Το είδος βρίσκεται ήδη σε απόθεμα"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "Η ποσότητα δεν πρέπει να είναι αρνητική"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Σημειώσεις συναλλαγής αποθέματος"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "Συγχώνευση με υπάρχον απόθεμα"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "Συγχώνευση επιστρεφόμενων ειδών με υπάρχοντα είδη αποθέματος, όπου είναι δυνατό"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Επόμενος σειριακός αριθμός"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Προηγούμενος σειριακός αριθμός"
@@ -9383,83 +9540,83 @@ msgstr "Εντολές Πώλησης"
msgid "Return Orders"
msgstr "Εντολές Επιστροφής"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Όνομα χρήστη"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Όνομα"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Το όνομα του χρήστη"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Επώνυμο"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Το επώνυμο του χρήστη"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Διεύθυνση email του χρήστη"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Προσωπικό"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Διαθέτει ο χρήστης δικαιώματα προσωπικού;"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Υπερχρήστης"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Είναι ο χρήστης υπερχρήστης;"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Είναι ο λογαριασμός χρήστη ενεργός;"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Μόνο υπερχρήστης μπορεί να τροποποιήσει αυτό το πεδίο"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Κωδικός πρόσβασης"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Κωδικός πρόσβασης του χρήστη"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "Παράβλεψη προειδοποίησης"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "Παράβλεψη της προειδοποίησης σχετικά με τους κανόνες κωδικού πρόσβασης"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Δεν έχετε δικαίωμα δημιουργίας χρηστών"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Ο λογαριασμός σας δημιουργήθηκε."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Παρακαλούμε χρησιμοποιήστε τη λειτουργία επαναφοράς κωδικού πρόσβασης για να συνδεθείτε"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Καλώς ήρθατε στο InvenTree"
diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po
index 911d3ac23c..8c1ec38e13 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: 2025-12-07 07:33+0000\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,67 +18,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr ""
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -97,7 +89,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -113,13 +105,13 @@ msgstr ""
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr ""
@@ -132,75 +124,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -208,11 +200,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr ""
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -256,133 +248,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -538,11 +521,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -554,30 +537,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -586,9 +569,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -597,192 +580,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -790,230 +778,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1025,433 +1017,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1475,67 +1479,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1547,778 +1555,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2340,7 +2348,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2352,93 +2360,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2446,1128 +2462,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3912,366 +3957,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4319,119 +4368,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4531,7 +4580,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4659,105 +4708,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4765,8 +4826,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4782,722 +4843,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5533,1174 +5614,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6733,108 +6866,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6973,7 +7106,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7071,111 +7204,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7277,7 +7410,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7355,11 +7488,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7537,7 +7670,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7572,21 +7705,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7764,7 +7897,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8073,7 +8206,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8098,7 +8231,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8131,495 +8264,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8663,246 +8820,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9384,82 +9541,82 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
index 0ed49b83a3..a284bdae27 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "endpoint API no encontrado"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Lista de artículos o filtros deben ser proporcionados para la operación en bloque"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Los artículos deben ser proporcionados como una lista"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Lista de artículos no válida"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Los filtros deben ser introducidos como un diccionario"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Filtros proporcionados inválidos"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Todos los filtros tienen que ser usados con verdadero"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Ningún artículo coincide con el criterio proporcionado"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Sin datos proporcionados"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "El usuario no tiene permiso para ver este modelo"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (de nuevo)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Confirmación de dirección de email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Debe escribir el mismo correo electrónico cada vez."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "La dirección de correo electrónico principal proporcionada no es válida."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "El dominio de correo electrónico proporcionado no está aprobado."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "No se pudo convertir {original} a {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
@@ -112,13 +104,13 @@ msgstr "Ingrese la fecha"
msgid "Invalid decimal value"
msgstr "Número decimal no válido"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notas"
@@ -131,75 +123,75 @@ msgstr "El valor '{name}' no aparece en formato de patrón"
msgid "Provided value does not match required pattern: "
msgstr "El valor proporcionado no coincide con el patrón requerido: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "No se puede serializar más de 1000 elementos a la vez"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "No se ha proporcionado un número de serie"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Serie duplicada"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Grupo no válido {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Rango del grupo {group} supera la cantidad permitida ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Numeros de serie no encontrados"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "El número de números de serie únicos ({n}) tiene que coincidir con la cantidad ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Eliminar etiquetas HTML de este valor"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Los datos contienen contenido de marcado prohibido"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Error de conexión"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "El servidor respondió con código de estado no válido"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Se ha producido una excepción"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "El servidor respondió con un valor de longitud de contenido inválido"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "El tamaño de la imagen es demasiado grande"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "La descarga de imagen excedió el tamaño máximo"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "El servidor remoto devolvió una respuesta vacía"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "La URL proporcionada no es un archivo de imagen válido"
@@ -207,11 +199,11 @@ msgstr "La URL proporcionada no es un archivo de imagen válido"
msgid "Log in to the app"
msgstr "Iniciar sesión en la aplicación"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Correo electrónico"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Debe habilitar la autenticación de doble factor antes de continuar."
@@ -255,133 +247,124 @@ msgstr "La referencia debe coincidir con la expresión regular {pattern}"
msgid "Reference number is too large"
msgstr "El número de referencia es demasiado grande"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Selección no válida"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nombre"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Descripción"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Descripción (opcional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Ruta"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Los nombres duplicados no pueden existir bajo el mismo padre"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notas de Markdown (opcional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Datos de código de barras"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Datos de código de barras de terceros"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash del Código de barras"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash único de datos de código de barras"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Fallo en la tarea"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "La tarea en segundo plano '{f}' falló después de {n} intentos"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Error de servidor"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Imágen"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Debe ser un número válido"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Moneda"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Seleccionar moneda de las opciones disponibles"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Imagen remota"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL de imagen remota"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "La descarga de imágenes desde la URL remota no está habilitada"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Error al descargar la imagen desde la URL remota"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Chino (Simplificado)"
msgid "Chinese (Traditional)"
msgstr "Chino (Tradicional)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Actualización disponible"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Una actualización para InvenTree está disponible"
@@ -553,30 +536,30 @@ msgstr "Unidad física inválida"
msgid "Not a valid currency code"
msgstr "No es un código de moneda válido"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Estado del pedido"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Construcción o Armado Superior"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Incluye Variantes"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Incluye Variantes"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Incluye Variantes"
msgid "Part"
msgstr "Parte"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categoría"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Asignado a mí"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Asignadas a"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Creado antes"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Creado despues"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Tiene fecha inicial"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Fecha de inicio anterior"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Fecha de inicio después"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Tiene fecha límite"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Fecha objetivo antes"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Fecha objetivo después"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Completado antes"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Completado después"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Fecha Mínima"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Fecha Máxima"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Excluir Árbol"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "La compilación debe cancelarse antes de poder ser eliminada"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consumible"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montaje"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Rastreado"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Comprobable"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Pedido pendiente"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Asignadas"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Agotado"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponible"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "En pedido"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Construir órden"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Ubicación"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Salida"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Construir órdenes"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "BOM de ensamblado no ha sido validado"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "La orden de construcción no puede ser creado para una parte inactiva"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "La orden de construcción no puede ser creada para una parte desbloqueada"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Se debe especificar un usuario o grupo responsable"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "La parte del pedido de construcción no puede ser modificada"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "La fecha límite debe ser posterior a la fecha de inicio"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Número de orden de construcción o armado"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Número de orden de construcción o armado"
msgid "Reference"
msgstr "Referencia"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Breve descripción de la construcción (opcional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Orden de Construcción o Armado a la que se asigna"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Seleccionar parte a construir o armar"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referencia de orden de venta"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Orden de Venta a la que se asigna"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Ubicación de la fuente"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Ubicación de destino"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Seleccione la ubicación donde se almacenarán los artículos completados"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Cantidad a crear"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Número de objetos existentes a construir"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Elementos completados"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Número de productos en stock que se han completado"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Estado de la construcción"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Código de estado de construcción"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Numero de lote"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Número de lote de este producto final"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Fecha de Creación"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Crear fecha de inicio"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Fecha de inicio programada para este pedido"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Fecha límite de finalización"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Fecha de finalización"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "terminado por"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Emitido por"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "El usuario que emitió esta orden"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsable"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Usuario o grupo responsable de esta orden de construcción"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Link externo"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Enlace a URL externa"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Prioridad de construcción"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioridad de esta orden de construcción"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Código del proyecto"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Código de proyecto para esta orden de ensamble"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "No se pudo descargar la tarea para completar las asignaciones de construcción"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "El pedido {build} ha sido procesado"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Pedido #[order] ha sido procesado"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Los números de serie deben ser proporcionados para las partes rastreables"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "No se ha especificado salida de construcción"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "La construcción de la salida ya está completa"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "La salida de la construcción no coincide con el orden de construcción"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "La cantidad debe ser mayor que cero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "La cantidad no puede ser mayor que la cantidad de salida"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Construir línea de pedido"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Ensamblar equipo"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Ensamblar equipo"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Cantidad"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Cantidad requerida para orden de ensamble"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "La cantidad debe ser 1 para el stock serializado"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Artículo de stock sobreasignado"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Cantidad asignada debe ser mayor que cero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "La cantidad debe ser 1 para el stock serializado"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Artículo de stock"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Producto original de stock"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Cantidad de stock a asignar para construir"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Instalar en"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Artículo de stock de destino"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Nivel de construcción"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nombre de parte"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Etiqueta del código del proyecto"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Resultado de la construcción o armado"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "La salida de construcción no coincide con la construcción padre"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "La parte de salida no coincide con la parte de la Orden de Construcción"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Esta salida de construcción ya ha sido completada"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Esta salida de construcción no está completamente asignada"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Ingrese la cantidad para la producción de la construcción"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Cantidad entera requerida para partes rastreables"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Números de serie"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Introduzca los números de serie de salidas de construcción"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Ubicación de stock para objetos construidos"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Autoasignar Números de Serie"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Los siguientes números seriales ya existen o son inválidos"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Debe proporcionarse una lista de salidas de construcción"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Ubicación de almacén para salidas descartadas"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Descartar asignaciones"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Descartar cualquier asignación de existencias para las salidas descartadas"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Razón para descartar la salida de ensamble(s)"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Ubicación para las salidas de construcción completadas"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Aceptar Asignación Incompleta"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Completar salidas si el inventario no se ha asignado completamente"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consumir Stock Asignado"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Eliminar salidas incompletas"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Eliminar cualquier salida de construcción que no se haya completado"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "No permitido"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Aceptar como consumido por este pedido de construcción"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Liberar antes de completar esta orden de construcción"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Stock sobreasignado"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Algunos artículos de inventario han sido sobreasignados"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Aceptar no asignado"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "El stock requerido no ha sido completamente asignado"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Aceptar incompleto"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Aceptar que el número requerido de salidas de construcción no se han completado"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "La cantidad de construcción requerida aún no se ha completado"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Orden de construcción debe estar en estado de producción"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "El orden de construcción tiene salidas incompletas"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linea de ensamble"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Resultado de la construcción o armado"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "La salida de la construcción debe apuntar a la misma construcción"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Crear partida"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "El artículo debe estar en stock"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Cantidad disponible ({q}) excedida"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Debe proporcionarse la adjudicación de artículos"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Excluir ubicación"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Excluir artículos de stock de esta ubicación seleccionada"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Stock intercambiable"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Sustituir stock"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Permitir la asignación de partes sustitutas"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Elementos opcionales"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Asignar artículos de la BOM opcionales para construir la orden"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Error al iniciar la tarea de asignación automática"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Referencia BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID de la parte BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nombre de parte la BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Parte del proveedor"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Cantidad Asignada"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Referencia de orden de Ensamblado"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Nombre de la categoría por pieza"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Rastreable"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Heredado"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Item de Lista de Materiales"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "En producción"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Stock externo"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Stock Disponible"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Stock sustituto disponible"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Stock variable disponible"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "En espera"
msgid "Cancelled"
msgstr "Cancelado"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Terminado"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Stock requerido para la orden de construcción"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Orden de construcción atrasada"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "El pedido de construcción {bo} está atrasado"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "¿Es enlace?"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "¿Es archivo?"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "El usuario no tiene permiso para eliminar estos adjuntos"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "El usuario no tiene permiso para eliminar este adjunto"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Código de divisa inválido"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Código de divisa duplicado"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "No se han proporcionado códigos de divisa válidos"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Sin plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Etiqueta del código del proyecto"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Actualizado"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Fecha y hora de la última actualización"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Código único del proyecto"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Descripción del proyecto"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Usuario o grupo responsable de este projecto"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Tecla de ajustes"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valor de ajuste"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "El valor elegido no es una opción válida"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "El valor debe ser un valor booleano"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "El valor debe ser un entero"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "El valor debe ser un número válido"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "El valor no pasa las comprobaciones de validación"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Cadena de clave debe ser única"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Usuario"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Cantidad de salto de precio"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Precio"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Precio unitario a la cantidad especificada"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Endpoint"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Punto final en el que se recibe este webhook"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nombre para este webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Activo"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Está activo este webhook"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token para el acceso"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Clave"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Secreto compartido para HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID de mensaje"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identificador único para este mensaje"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Servidor"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Servidor desde el cual se recibió este mensaje"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Encabezado"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Encabezado del mensaje"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Cuerpo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Cuerpo de este mensaje"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endpoint en el que se recibió este mensaje"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Trabajado en"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "¿El trabajo en este mensaje ha terminado?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Título"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Enlace"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publicado"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Resumen"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Leer"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "¿Esta noticia ya fue leída?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Archivo de imagen"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Unidad personalizada"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "El símbolo de la unidad debe ser único"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Nombre de unidad debe ser un identificador válido"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nombre de unidad"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Símbolo de unidad opcional"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definición"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definición de unidad"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Archivo adjunto"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Archivo no encontrado"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Falta enlace externo"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Comentario"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Comentario de archivo adjunto"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Fecha de carga"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Fecha de carga del archivo"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Tamaño del archivo"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Tamaño del archivo en bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Tipo de modelo no válido especificado para el archivo adjunto"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Estado personalizado"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Estados personalizados"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Llave lógica"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valor"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Nombre del estado"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiqueta"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiqueta que se mostrará en el frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Color"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Color que se mostrará en el frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modelo"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "El modelo debe ser seleccionado"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "La clave debe ser seleccionada"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "La clave lógica debe ser seleccionada"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Lista de selección"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Listas de Selección"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Nombre de la lista de selección"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Descripción de la lista de selección"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Bloqueado"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "¿Está bloqueada esta lista de selección?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "¿Se puede utilizar esta lista de selección?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Complemento de origen"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Complemento que proporciona la lista de selección"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Cadena de origen"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Cadena opcional que identifica la fuente usada para esta lista"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Entrada por defecto"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Entrada predeterminada para esta lista de selección"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Creado"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Fecha y hora en la que se creó la lista de selección"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Última actualización"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Entrada de lista de selección"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Entradas de la lista de selección"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Lista de selección a la que pertenece esta entrada"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Valor del elemento de la lista de selección"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Etiqueta para la entrada de lista de selección"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Descripción de la entrada de lista de selección"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "¿Está activa esta entrada de la lista de selección?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Plantilla de parámetro"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "El nombre de parámetro en la plantilla tiene que ser único"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nombre de Parámetro"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unidades"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Casilla de verificación"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "¿Es este parámetro una casilla de verificación?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Opciones"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Opciones válidas para este parámetro (separados por comas)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Lista de selección para este parámetro"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Habilitado"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Opción inválida para el valor del parámetro"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Plantilla"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Datos"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Valor del parámetro"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Nota"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Campo de nota opcional"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Escanear código de barras"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Datos de código de barras"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Usuario que escaneó el código de barras"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Fecha y hora del escaneo de código de barras"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Dispositivo URL que procesó el código de barras"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contexto"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Datos de contexto para el escaneo de código de barras"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Respuesta"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Respuesta de datos del escaneo de código de barras"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultado"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "¿El escaneo de código de barras fue exitoso?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Clave"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} cancelado"
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Artículos Recibidos"
@@ -2351,93 +2359,101 @@ msgstr "Los artículos han sido recibidos contra una orden de compra"
msgid "Items have been received against a return order"
msgstr "Los artículos han sido recibidos contra una orden de devolución"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Está en ejecución"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Tareas pendientes"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tareas Programadas"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tareas fallidas"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Identificación de Tarea"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Identificación de tarea única"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Bloquear"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Bloquear hora"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nombre de la tarea"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Función"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nombre de la Función"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumentos"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumentos de la tarea"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argumentos de palabra clave"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argumentos de palabra clave de tarea"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nombre de Archivo"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "El usuario no tiene permiso para crear o editar archivos adjuntos para este modelo"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista de selección bloqueada"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista de selección bloqueada"
msgid "No group"
msgstr "Sin grupo"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "La URL del sitio está bloqueada por su configuración"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Reinicio requerido"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migraciones pendientes"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Número de migraciones de base de datos pendientes"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Identificador único para esta instancia de InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nombre de la instancia del servidor"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Descriptor de cadena para la instancia del servidor"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Usar nombre de instancia"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Utilice el nombre de la instancia en la barra de título"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Restringir mostrar 'acerca de'"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Mostrar la modal `about` solo para superusuarios"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nombre de empresa"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nombre interno de empresa"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL Base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL base para la instancia del servidor"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Moneda predeterminada"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Seleccione la moneda base para los cálculos de precios"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Monedas admitidas"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Listado de códigos de divisa soportados"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervalo de actualización de moneda"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "días"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Plugin de Actualización de Moneda"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Plugin de actualización de moneda a usar"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Descargar desde URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Límite de tamaño de descarga"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Tamaño máximo de descarga permitido para la imagen remota"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Agente de usuario usado para descargar desde la URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Validación estricta de URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Requerir especificación de esquema al validar URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Actualizar intervalo de actualización"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Copia de seguridad automática"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervalo de respaldo automático"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Especificar número de días entre eventos automatizados de copia de seguridad"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervalo de eliminación de tareas"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervalo de eliminación de registro de errores"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Los registros de errores se eliminarán después del número especificado de días"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervalo de eliminación de notificaciones"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Soporte de código de barras"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Guardar resultados de código de barras"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Guardar resultados de código de barras en la base de datos"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Número máximo de escaneos de código de barras"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Número máximo de resultados de escaneo de código de barras para almacenar"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Retraso de entrada de código de barras"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tiempo de retraso en la lectura de códigos de barras"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Soporte para Webcam de código de barras"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Permitir escaneo de código de barras a través de webcam en el navegador"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Mostrar datos del código de barra como texto en el navegador"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Complemento para generar códigos de barra"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Complemento a usar para la generación de datos de códigos de barra internos"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revisiones de partes"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Habilitar campo de revisión para parte"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Patrón de expresión regular para IPN de la parte coincidente"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Permitir IPN duplicado"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permitir que varias partes compartan el mismo IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Permitir editar IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Permite cambiar el valor de IPN mientras se edita una parte"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copiar parte de datos BOM"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copiar datos BOM por defecto al duplicar una parte"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copiar parámetros de parte"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copiar datos de parámetro por defecto al duplicar una parte"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copiar parte de datos de prueba"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copiar datos de parámetro por defecto al duplicar una parte"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copiar plantillas de parámetros de categoría"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar plantillas de parámetros de categoría al crear una parte"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Las partes son plantillas por defecto"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Componente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Las partes pueden ser usadas como subcomponentes por defecto"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Comprable"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Las partes son comprables por defecto"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Vendible"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Las partes se pueden vender por defecto"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Las partes son rastreables por defecto"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtual"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Las partes son virtuales por defecto"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Mostrar partes relacionadas"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Mostrar partes relacionadas para una parte"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Datos iniciales de existencias"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permitir la creación del stock inicial al añadir una nueva parte"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Datos iniciales del proveedor"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formato de visualización de Nombre de Parte"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formato para mostrar el nombre de la parte"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Icono por defecto de la categoría de parte"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Mínimo de lugares decimales en el precio"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Máximo de lugares decimales en el precio"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Número máximo de decimales a mostrar al procesar los datos de precios"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Usar precios de proveedor"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Anulación del historial de compra"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "El precio histórico de compra anula los descuentos de precios del proveedor"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Usar precio del artículo de almacén"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Edad del precio del artículo de almacén"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Usar precios variantes"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Incluir variantes de precios en los cálculos generales de precios"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Solo variantes activas"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Usar solo partes de variantes activas para calcular los precios de variantes"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervalo de reconstrucción de precios"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Número de días antes de que el precio de la parte se actualice automáticamente"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Precios internos"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Habilitar precios internos para partes"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Anulación del precio interno"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Habilitar impresión de etiquetas"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Habilitar impresión de etiquetas desde la interfaz web"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "PPP de la imagen de etiqueta"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Habilitar informes"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Habilitar generación de informes"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Modo de depuración"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generar informes en modo de depuración (salida HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Registrar errores de reportes"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registrar errores ocurridos al generar reportes"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Tamaño de página"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Tamaño de página predeterminado para informes PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forzar unidades de parámetro"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Seriales únicos globalmente"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Eliminar existencias agotadas"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Plantilla de código de lote"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Expiración de stock"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Habilitar la funcionalidad de expiración de stock"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vender existencias caducadas"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Permitir venta de existencias caducadas"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Tiempo histórico de Stock"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Crear Stock Caducado"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Permitir crear con stock caducado"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Control de Stock"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Icono por defecto de ubicación de almacén"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Mostrar Articulos de Stock Instalados"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Mostrar los artículos de stock instalados en las tablas de stock"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Permitir transferencia Sin Existencias"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Patrón de Referencia de Ordenes de Armado"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Requerir Dueño Responsable"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Se debe asignar un dueño responsable a cada orden"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Requerir Parte Activa"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Impedir la creación de órdenes de fabricación para partes inactivas"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Requerir Parte Bloqueada"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Bloquear hasta que los Tests pasen"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Evitar que las construcciones sean completadas hasta que todas las pruebas requeridas pasen"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Habilitar órdenes de devolución"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Patrón de referencia de orden de devolución"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de devolución de la orden"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Editar ordenes de devolución completadas"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Patrón de Referencia de Ordenes de Venta"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la orden de venta"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Envío Predeterminado de Ordenes de Venta"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Editar Ordenes de Venta Completados"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Marcar pedidos enviados como completados"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Los pedidos marcados como enviados se completarán automáticamente, evitando el estado de \"envío\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Patrón de Referencia de Orden de Compra"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Editar Ordenes de Compra Completados"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Permitir la edición de órdenes de venta después de que hayan sido enviados o completados"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Convertir moneda"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Autocompletar Ordenes de compra"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Marcar automáticamente las órdenes de compra como completas cuando se reciben todos los artículos de línea"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Habilitar función de contraseña olvidada"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Habilitar registro"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Habilitar SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Habilitar SSO en las páginas de inicio de sesión"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Habilitar registro SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Habilitar sincronización de grupo SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Habilitar la sincronización de grupos de Inventree con grupos proporcionados por el IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Clave de grupo SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "El nombre del atributo reclamado por el grupo proporcionado por el IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Mapa del grupo SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Un mapeo de grupos SSO a grupos de Inventree locales. Si el grupo local no existe, se creará."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Eliminar grupos fuera de SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email requerido"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Requiere usuario para suministrar correo al registrarse"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Auto-rellenar usuarios SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Correo dos veces"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Al registrarse pregunte dos veces a los usuarios por su correo"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Contraseña dos veces"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Dominios permitidos"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Restringir el registro a ciertos dominios (separados por comas, comenzando por @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupo al registrarse"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Grupo al que se asignan nuevos usuarios al registrarse. Si la sincronización de grupo SSO está activada, este grupo sólo se establece si no se puede asignar ningún grupo desde el IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Forzar MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Los usuarios deben utilizar seguridad multifactor."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Comprobar complementos al iniciar"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Revisar actualizaciones del plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Habilitar comprobaciones periódicas para actualizaciones de plugins instalados"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Habilitar integración de URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Habilitar plugins para añadir rutas de URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Habilitar integración de navegación"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Habilitar plugins para integrar en la navegación"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Habilitar integración de la aplicación"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Habilitar plugins para añadir aplicaciones"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Habilitar integración de programación"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Habilitar plugins para ejecutar tareas programadas"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Habilitar integración de eventos"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Habilitar plugins para responder a eventos internos"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Habilitar integración de interfaz"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Habilitar complementos para integrar en la interfaz de usuario"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Habilitar códigos de proyecto para rastrear proyectos"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Excluir Ubicaciones Externas"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Periodo de inventario automático"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Mostrar nombres completos de los usuarios"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Habilitar datos de estación de prueba"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Mostrar nombres completos de los usuarios"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Habilitar datos de estación de prueba"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "La parte está activa"
msgid "Manufacturer is Active"
msgstr "El fabricante está activo"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Empresa"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Tiene Stock"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Empresas"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Descripción de la empresa"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Descripción de la empresa"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Página web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL del sitio web de la empresa"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Teléfono"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Teléfono de contacto"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Correo electrónico de contacto"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contacto"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Punto de contacto"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Enlace a información externa de la empresa"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "¿Esta empresa está activa?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "¿Es cliente?"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "¿Vendes artículos a esta empresa?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "¿Es proveedor?"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "¿Compras artículos de esta empresa?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "¿Es productor?"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "¿Esta empresa fabrica partes?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Moneda predeterminada utilizada para esta empresa"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Dirección"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Direcciones"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Seleccionar empresa"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Título de dirección"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Título que describe la entrada de dirección"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Dirección principal"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Establecer como dirección principal"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Línea 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Dirección línea 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Línea 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Dirección línea 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Código postal"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Ciudad/región"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Código postal de ciudad/región"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Estado/provincia"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Estado o provincia"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "País"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Dirección de país"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notas de envío de mensajería"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notas para el mensajero de envío"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Notas de envío internas"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notas de envío para uso interno"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Enlace a información de dirección (externa)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Parte del fabricante"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Parte base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Seleccionar parte"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Seleccionar fabricante"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Número de parte de fabricante"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL para el enlace de parte del fabricante externo"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Descripción de la parte del fabricante"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Las unidades de paquete deben ser mayor que cero"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Proveedor"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Seleccionar proveedor"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unidad de mantenimiento de stock de proveedores"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Seleccionar parte del fabricante"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL del enlace de parte del proveedor externo"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Descripción de la parte del proveedor"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "costo base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Paquetes"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Embalaje de partes"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Cantidad de paquete"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "múltiple"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Pedido múltiple"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Cantidad disponible del proveedor"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilidad actualizada"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Fecha de última actualización de los datos de disponibilidad"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Moneda predeterminada utilizada para este proveedor"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Nombre de la empresa"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "En Stock"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Colocado"
msgid "Invalid status code"
msgstr "Código de estado no válido"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Archivo de datos"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Archivo de datos a importar"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Columnas"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Valores predeterminados del campo"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filtros del campo"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Algunos campos requeridos no han sido mapeados"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "La columna ya fue mapeada a un campo de la base de datos"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "La columna no existe en el archivo de datos"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "El campo no existe en el modelo destino"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "El campo seleccionado es de solo lectura"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Sesión de importación"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Campo"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Columna"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Número de fila"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Datos de la fila original"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Errores"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Válido"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Número de copias a imprimir para cada etiqueta"
msgid "Connected"
msgstr "Conectado"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Desconocido"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Referencia del pedido"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Destacado"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Tiene Código de Proyecto"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Creado por"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Creado antes de"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Creado después de"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Tiene fecha inicial"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Fecha de inicio anterior"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Fecha de inicio después"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Tiene fecha límite"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Fecha objetivo antes"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Fecha objetivo después"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Tiene Precio"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Completado antes de"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Completado después de"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Orden"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Orden completada"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Componente interno"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Orden pendiente"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Completados"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Tiene envío"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Orden de compra"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Orden de compra"
msgid "Sales Order"
msgstr "Orden de Venta"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Precio Total"
msgid "Total price for this order"
msgstr "Precio total para este pedido"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Moneda de pedido"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Este pedido está bloqueado y no puede ser modificado"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "El contacto no coincide con la empresa seleccionada"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "La fecha de inicio debe ser anterior a la fecha de límite"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Descripción del pedido (opcional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Seleccione el código del proyecto para este pedido"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Enlace a Url externa"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Fecha de inicio"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Fecha de inicio programada para este pedido"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Fecha objetivo"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Fecha de emisión"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Fecha de expedición del pedido"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Usuario o grupo responsable de este pedido"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Punto de contacto para este pedido"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Dirección de la empresa para este pedido"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Referencia del pedido"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Estado"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Estado de la orden de compra"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Empresa de la cual se están encargando los artículos"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Referencia del proveedor"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Código de referencia de pedido del proveedor"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "recibido por"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "La fecha de pedido fue completada"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destinación"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Destino para los artículos recibidos"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "El proveedor de la parte debe coincidir con el proveedor de PO"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "La partida no coincide con la orden de compra"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "La cantidad debe ser un número positivo"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Cliente"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Empresa a la que se venden los artículos"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Estado de la orden de venta"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Referencia del cliente "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Código de referencia de pedido del cliente"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Fecha de envío"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "La orden ya fue completada"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "La orden ya fue cancelada"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Sólo una orden abierta puede ser marcada como completa"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "El pedido no se puede completar porque hay envíos incompletos"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "El pedido no se puede completar ya que hay asignaciones incompletas"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "El pedido no se puede completar porque hay partidas incompletas"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "Este pedido está bloqueado y no puede ser modificado"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Cantidad del artículo"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Referencia de partida"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Notas de partida"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Descripción de partida (opcional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contexto adicional para esta línea"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Precio unitario"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "La parte del proveedor debe coincidir con el proveedor"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Parte del proveedor"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Recibido"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Número de artículos recibidos"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Precio de Compra"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Precio de compra unitario"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Precio de Venta"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Precio de venta unitario"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Enviado"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Cantidad enviada"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Fecha del envío"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Fecha de entrega"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Fecha de entrega del envío"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Revisado por"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Usuario que revisó este envío"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Envío"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Número de envío"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Número de Seguimiento"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Información de seguimiento del envío"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Número de factura"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Número de referencia para la factura asociada"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "El envío ya ha sido enviado"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "El envío no tiene artículos de stock asignados"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "El artículo de stock no ha sido asignado"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "No se puede asignar stock a una línea sin una parte"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La cantidad de asignación no puede exceder la cantidad de stock"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Cantidad asignada debe ser mayor que cero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "La orden de venta no coincide con el envío"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "El envío no coincide con el pedido de venta"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Línea"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Referencia del envío del pedido de venta"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Ítem"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Seleccionar artículo de stock para asignar"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Especificar la cantidad de asignación de stock"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Referencia de la orden de devolución"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Empresa de la cual se están devolviendo los artículos"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Estado de la orden de devolución"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Seleccionar el artículo a devolver del cliente"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Fecha de recepción"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "La fecha en la que se recibió este artículo de devolución"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Resultado"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Salida para esta partida"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Costo asociado con la devolución o reparación para esta partida"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID del Pedido"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID del pedido a duplicar"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Copiar líneas"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Copiar elementos de línea del pedido original"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Copiar líneas adicionales"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Copiar elementos extra de la línea del pedido original"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Copiar Parámetros"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Partidas"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Líneas completadas"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplicar pedido"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Especificar opciones para duplicar este pedido"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "ID de pedido no válido"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Nombre del proveedor"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "El pedido no puede ser cancelado"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Permitir cerrar el pedido con partidas incompletas"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "El pedido tiene partidas incompletas"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "El pedido no está abierto"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Precio automático"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Moneda del precio de compra"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Combinar artículos"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Número de parte interna"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Nombre interno de parte"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Debe especificar la parte del proveedor"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "La orden de compra debe especificarse"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "El proveedor debe coincidir con la orden de compra"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "La orden de compra debe coincidir con el proveedor"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Partida"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Seleccione la ubicación de destino para los artículos recibidos"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Introduzca el código de lote para los artículos de almacén entrantes"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Fecha de Expiración"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Introduzca números de serie para artículos de almacén entrantes"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Código de barras"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Código de barras escaneado"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Código de barras en uso"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Se deben proporcionar las partidas"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Se requiere ubicación de destino"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Los valores del código de barras deben ser únicos"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Envíos"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Envíos completados"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Moneda del precio de venta"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Elementos asignados"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "No se proporcionaron detalles de envío"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "La partida no está asociada con este pedido"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "La cantidad debe ser positiva"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Introduzca números de serie para asignar"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "El envío ya ha sido enviado"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "El envío no está asociado con este pedido"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "No se han encontrado coincidencias para los siguientes números de serie"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Los siguientes números de serie no están disponibles"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Partida de orden de devolución"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "La partida no coincide con la orden de devolución"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "La partida ya ha sido recibida"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Cantidad a devolver"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Moneda de precio de línea"
@@ -5532,1174 +5613,1226 @@ msgstr "Reembolso"
msgid "Reject"
msgstr "Rechazo"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Orden de compra atrasada"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "La orden de compra {po} está atrasada"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Orden de venta atrasada"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "La orden de venta {so} está atrasada"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Favoritos"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Profundidad"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtrar por profundidad de categoría"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Nivel superior"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtrar por categorías de nivel superior"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "En cascada"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Tiene resultados"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Categoría de parte"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Categorías de parte"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Ubicación Predeterminada"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Ubicación predeterminada para partes de esta categoría"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Estructural"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Palabras clave predeterminadas"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Palabras clave por defecto para partes en esta categoría"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Icono"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Icono (opcional)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valor predeterminado"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valor de parámetro por defecto"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Partes"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Ya existe un artículo de almacén con este número de serie"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN duplicado no permitido en la configuración de partes"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "La revisión de parte duplicada ya existe."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Parte con este nombre, IPN y revisión ya existe."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nombre de la parte"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Es plantilla"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "¿Es esta parte una parte de la plantilla?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante de"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Descripción de parte (opcional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Palabras claves"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Categoría de parte"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Revisión de parte o número de versión"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisión"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Variante de"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "¿Dónde se almacena este artículo normalmente?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Proveedor por defecto"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Parte de proveedor predeterminada"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Expiración por defecto"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Stock mínimo"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Nivel mínimo de stock permitido"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Unidades de medida para esta parte"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "¿Se puede construir esta parte a partir de otras partes?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "¿Se puede utilizar esta parte para construir otras partes?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "¿Esta parte tiene seguimiento de objetos únicos?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "¿Se puede comprar esta parte a proveedores externos?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "¿Se puede vender esta parte a los clientes?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "¿Está activa esta parte?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Las partes bloqueadas no pueden ser editadas"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Suma de verificación de BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Suma de verificación de BOM almacenada"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOM comprobado por"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Fecha BOM comprobada"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Creación de Usuario"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Dueño responsable de esta parte"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Vender múltiples"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Moneda utilizada para almacenar en caché los cálculos de precios"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Costo mínimo de BOM"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Costo mínimo de partes de componentes"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Costo máximo de BOM"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Costo máximo de partes de componentes"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Costo mínimo de compra"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Costo histórico mínimo de compra"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Costo máximo de compra"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Costo histórico máximo de compra"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Precio interno mínimo"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Costo mínimo basado en precios reducidos internos"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Precio interno máximo"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Costo máximo basado en precios reducidos internos"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Precio mínimo de proveedor"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Precio mínimo de la parte de proveedores externos"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Precio máximo de proveedor"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Precio máximo de la parte de proveedores externos"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Costo mínimo de variante"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Costo mínimo calculado de las partes variantes"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Costo máximo de variante"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Costo máximo calculado de las partes variantes"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Costo mínimo"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Anular el costo mínimo"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Costo máximo"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Reemplazar coste máximo"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Costo mínimo general calculado"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Precio de venta mínimo"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Precio de venta mínimo basado en precios reducidos"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Precio de venta máximo"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Precio de venta máximo basado en precios reducidos"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Costo de venta mínimo"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Precio de venta mínimo histórico"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Costo de Venta Máximo"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Precio de venta máximo histórico"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Número de artículos"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Fecha"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Costo de Stock Mínimo"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Costo mínimo estimado del stock disponible"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nombre de prueba"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Introduzca un nombre para la prueba"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "¿Es necesario pasar esta prueba?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Requiere valor"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Adjunto obligatorio"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Seleccionar parte principal"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sub parte"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Seleccionar parte a utilizar en BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Cantidad del artículo en BOM"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Este artículo BOM es opcional"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Referencia de artículo de BOM"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notas del artículo de BOM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Suma de verificación"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Suma de verificación de línea de BOM"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validado"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Este artículo de BOM ha sido validado"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este artículo BOM es heredado por BOMs para partes variantes"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "La cantidad debe ser un valor entero para las partes rastreables"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Debe especificar la subparte"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Ítem de BOM sustituto"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sustituta no puede ser la misma que la parte principal"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Artículo BOM superior"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Sustituir parte"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Seleccionar parte relacionada"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Nota para esta relación"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Categoría principal de parte"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Subcategorías"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Moneda de compra de ítem de stock"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Parte original"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Seleccione la parte original a duplicar"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Copiar Imagen"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Copiar imagen desde la parte original"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copiar BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Copiar la factura de materiales de la parte original"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Copiar Parámetros"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Copiar datos del parámetro de la parte original"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Copiar Notas"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Cantidad Inicial de Stock"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Seleccione proveedor (o déjelo en blanco para saltar)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Seleccionar fabricante (o dejar en blanco para saltar)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Número de parte del fabricante"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "La empresa seleccionada no es un proveedor válido"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "La empresa seleccionada no es un fabricante válido"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Nombre de categoría"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "En construcción"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Elementos de stock"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Proveedores"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Inventario Total"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Duplicar Parte"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Stock Inicial"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Crear Parte con cantidad inicial de stock"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Información del proveedor"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Añadir información inicial del proveedor para esta parte"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Copiar Parámetros de Categoría"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Imagen Existente"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "El archivo de imagen no existe"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Validación de Lista de Materiales"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Puede construir"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Precio mínimo"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Anular el valor calculado para precio mínimo"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Precio mínimo de moneda"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Precio máximo"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Precio máximo de moneda"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Actualizar"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "El precio mínimo no debe ser mayor que el precio máximo"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "El precio máximo no debe ser inferior al precio mínimo"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Seleccionar parte de la que copiar BOM"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Eliminar Datos Existentes"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Eliminar artículos BOM existentes antes de copiar"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Incluye Heredado"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Incluye artículos BOM que son heredados de partes con plantillas"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Omitir filas no válidas"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Activar esta opción para omitir filas inválidas"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Copiar partes sustitutas"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notificación por bajo stock"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "No se especificó ninguna acción"
msgid "No matching action found"
msgstr "No se encontró ninguna acción coincidente"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Coincidencia encontrada para datos de códigos de barras"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "El código de barras coincide con artículo existente"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Ningún pedido de venta proporcionado"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr "Proporciona soporte nativo para códigos de barras"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL de webhook entrante de Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Clave del complemento"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Nombre del complemento"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Complemento"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "No se encontró autor"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "El complemento requiere al menos la versión {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "El complemento requiere como máximo la versión {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Instalación no confirmada"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Debe proporcionar cualquier nombre de paquete de la URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Número de serie"
@@ -8097,7 +8230,7 @@ msgstr "Artículo Stock Informe de prueba"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Elementos instalados"
@@ -8130,495 +8263,519 @@ msgstr "Ningún resultado (requerido)"
msgid "No result"
msgstr "Sin resultados"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Ubicación principal"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtrar por ubicación principal"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "El nombre de la pieza (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Nombre de la pieza (expresión regular)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Pieza IPN (expresión regular)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Stock mínimo"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Stock máximo"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Código de estado"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Ubicación externa"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Instalado en otro artículo de existencias"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Árbol de piezas"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Actualizado antes"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Actualizado después"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Inventario antes"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Inventario después"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Desactualizado"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Cantidad requerida"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Debe suministrarse una parte válida"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Ubicación de Stock"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Ubicaciones de Stock"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Propietario"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Seleccionar Propietario"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Externo"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Se debe especificar la pieza"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "La cantidad debe ser 1 para el artículo con un número de serie"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "El objeto no puede pertenecer a sí mismo"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "El artículo debe tener una referencia de construcción si is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "La referencia de la construcción no apunta al mismo objeto de parte"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Artículo de stock padre"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Parte base"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "¿Dónde se encuentra este artículo de stock?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Empaquetar este artículo de stock se almacena en"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Instalado en"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "¿Está este artículo instalado en otro artículo?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Número de serie para este artículo"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Código de lote para este artículo de stock"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Cantidad de Stock"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Build de origen"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Build para este item de stock"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Consumido por"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Orden de compra de origen"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Orden de compra para este artículo de stock"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Orden de venta de destino"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Eliminar al agotar"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Eliminar este artículo de stock cuando se agoten las existencias"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Precio de compra único en el momento de la compra"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Convertido a parte"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "La parte no está establecida como rastreable"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Cantidad debe ser un entero"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Los números de serie deben ser proporcionados como una lista"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "La cantidad no coincide con los números de serie"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Artículo de stock ha sido asignado a un pedido de venta"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Artículo de stock está instalado en otro artículo"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Artículo de stock contiene otros artículos"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Artículo de stock ha sido asignado a un cliente"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "El artículo de stock está en producción"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Stock serializado no puede ser combinado"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Artículos de Stock Duplicados"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Los artículos de stock deben referirse a la misma parte"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Los artículos de stock deben referirse a la misma parte del proveedor"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Los códigos de estado del stock deben coincidir"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stock no se puede mover porque no está en stock"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Notas de entrada"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Debe proporcionarse un valor para esta prueba"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "El archivo adjunto debe ser subido para esta prueba"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Resultado de la prueba"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Valor de salida de prueba"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Adjunto de resultados de prueba"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Notas de prueba"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Finalizó"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Elemento padre"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Introduzca números de serie para nuevos artículos"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Número de pieza del proveedor"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Expirado"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Elementos secundarios"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Introduzca el número de artículos de stock para serializar"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Ubicación de stock de destino"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Los números de serie no se pueden asignar a esta parte"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Números de serie ya existen"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Añadir nota de transacción (opcional)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sub-ubicación"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "La parte debe ser vendible"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "El artículo está asignado a una orden de venta"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "El artículo está asignado a una orden de creación"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Cliente para asignar artículos de stock"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "La empresa seleccionada no es un cliente"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Notas de asignación de stock"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Debe proporcionarse una lista de artículos de stock"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notas de fusión de stock"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Permitir proveedores no coincidentes"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Permitir estado no coincidente"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Debe proporcionar al menos dos artículos de stock"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Sin cambios"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Valor de clave primaria de Stock"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "No hay existencias del artículo"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Notas de transacción de stock"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Órdenes de venta"
msgid "Return Orders"
msgstr "Ordenes de devolución"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nombre de usuario"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Nombre"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Nombre del usuario"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Apellido"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Apellido del usuario"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Dirección de correo del usuario"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personal"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Tiene este usuario permisos de personal"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superusuario"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Es este usuario un superusuario"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Esta cuenta de usuario está activa"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Su cuenta ha sido creada."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Bienvenido a InvenTree"
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 b4e7e7be7c..f537d1227e 100644
--- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "endpoint API no encontrado"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Lista de artículos o filtros deben ser proporcionados para la operación en bloque"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Los artículos deben ser provistos como una lista"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Lista de artículos inválida"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Los filtros deben ser provistos como un diccionario"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Filtros proporcionados inválidos"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Todos los filtros sólo deben ser usados como verdaderos"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Ningún artículo coincide con el criterio proporcionado"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "El usuario no tiene permiso para ver este modelo"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (de nuevo)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Confirmación de dirección de email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Debe escribir el mismo correo electrónico cada vez."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "La dirección de correo electrónico principal proporcionada no es válida."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "El dominio de correo electrónico proporcionado no está aprobado."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "No se pudo convertir {original} a {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
@@ -112,13 +104,13 @@ msgstr "Ingrese la fecha"
msgid "Invalid decimal value"
msgstr "Número decimal inválido"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notas"
@@ -131,75 +123,75 @@ msgstr "El valor '{name}' no aparece en formato de patrón"
msgid "Provided value does not match required pattern: "
msgstr "El valor proporcionado no coincide con el patrón requerido: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "No se puede serializar más de 1000 artículos a la vez"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "No se ha proporcionado un número de serie"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Serie duplicada"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Grupo inválido: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Rango del grupo {group} supera la cantidad permitida ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Numeros de serie no encontrados"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "La cantidad de números de serie únicos ({n}) deben coincidir la cantidad ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Eliminar etiquetas HTML de este valor"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Los datos contienen contenido de markdown prohibido"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Error de conexión"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "El servidor respondió con código de estado no válido"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Se ha producido una excepción"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "El servidor respondió con un valor de longitud de contenido inválido"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "El tamaño de la imagen es demasiado grande"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "La descarga de imagen excedió el tamaño máximo"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "El servidor remoto devolvió una respuesta vacía"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "La URL proporcionada no es un archivo de imagen válido"
@@ -207,11 +199,11 @@ msgstr "La URL proporcionada no es un archivo de imagen válido"
msgid "Log in to the app"
msgstr "Iniciar sesión en la aplicación"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Correo electrónico"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Debe habilitar la autenticación de doble factor antes de hacer cualquier otra cosa."
@@ -255,133 +247,124 @@ msgstr "La referencia debe coincidir con la expresión regular {pattern}"
msgid "Reference number is too large"
msgstr "El número de referencia es demasiado grande"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Selección no válida"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nombre"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Descripción"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Descripción (opcional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Ruta"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Los nombres duplicados no pueden existir bajo el mismo padre"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notas de Markdown (opcional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Datos de código de barras"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Datos de código de barras de terceros"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash del Código de barras"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash único de datos de código de barras"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Fallo en la tarea"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "La tarea en segundo plano '{f}' falló después de {n} intentos"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Error de servidor"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Imágen"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Debe ser un número válido"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Moneda"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Seleccionar moneda de las opciones disponibles"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Imagen remota"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL de imagen remota"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "La descarga de imágenes desde la URL remota no está habilitada"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Error al descargar la imagen desde la URL remota"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Chino (Simplificado)"
msgid "Chinese (Traditional)"
msgstr "Chino (Tradicional)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Unidad física inválida"
msgid "Not a valid currency code"
msgstr "No es un código de moneda válido"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Estado del pedido"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Construcción o Armado Superior"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Incluye Variantes"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Incluye Variantes"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Incluye Variantes"
msgid "Part"
msgstr "Parte"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categoría"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Construir antepasado"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Asignado a mí"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Asignadas a"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Creado antes de"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Creado después de"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Tiene fecha inicial"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Fecha objetivo antes de"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Fecha objetivo después de"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Completado antes de"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Completado después de"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "La compilación debe cancelarse antes de poder ser eliminada"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consumible"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montaje"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Rastreado"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Comprobable"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Pedido pendiente"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Asignadas"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponible"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "En pedido"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Construir órden"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Ubicación"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Construir órdenes"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "BOM de ensamblado no ha sido validado"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "La orden de construcción no puede ser creado para una parte inactiva"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "La orden de construcción no puede ser creada para una parte desbloqueada"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Se debe especificar un usuario o grupo responsable"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "La parte del pedido de construcción no puede ser modificada"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Número de orden de construcción o armado"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Número de orden de construcción o armado"
msgid "Reference"
msgstr "Referencia"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Breve descripción de la construcción (opcional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Orden de Construcción o Armado a la que se asigna"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Seleccionar parte a construir o armar"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referencia de orden de venta"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Orden de Venta a la que se asigna"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Ubicación de la fuente"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Ubicación de destino"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Seleccione la ubicación donde se almacenarán los artículos completados"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Cantidad a crear"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Número de objetos existentes a construir"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Elementos completados"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Número de productos en stock que se han completado"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Estado de la construcción"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Código de estado de construcción"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Numero de lote"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Número de lote de este producto final"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Fecha de Creación"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Fecha límite de finalización"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Fecha de finalización"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "terminado por"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Emitido por"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "El usuario que emitió esta orden"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsable"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Usuario o grupo responsable de esta orden de construcción"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Link externo"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Enlace a URL externa"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Prioridad de construcción"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioridad de esta orden de construcción"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Código del proyecto"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Código de proyecto para esta orden de ensamble"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "No se pudo descargar la tarea para completar las asignaciones de construcción"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "El pedido {build} ha sido procesado"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Pedido #[order] ha sido procesado"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Los números de serie deben ser proporcionados para las partes rastreables"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "No se ha especificado salida de construcción"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "La construcción de la salida ya está completa"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "La salida de la construcción no coincide con el orden de construcción"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "La cantidad debe ser mayor que cero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "La cantidad no puede ser mayor que la cantidad de salida"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Construir línea de pedido"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Ensamblar equipo"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Ensamblar equipo"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Cantidad"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Cantidad requerida para orden de ensamble"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "La cantidad debe ser 1 para el stock serializado"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Artículo de stock sobreasignado"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Cantidad asignada debe ser mayor que cero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "La cantidad debe ser 1 para el stock serializado"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Artículo de stock"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Producto original de stock"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Cantidad de stock a asignar para construir"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Instalar en"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Artículo de stock de destino"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Nivel de construcción"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nombre de parte"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Etiqueta del código del proyecto"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Resultado de la construcción o armado"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "La salida de construcción no coincide con la construcción padre"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "La parte de salida no coincide con la parte de la Orden de Construcción"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Esta salida de construcción ya ha sido completada"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Esta salida de construcción no está completamente asignada"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Ingrese la cantidad para la producción de la construcción"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Cantidad entera requerida para partes rastreables"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Números de serie"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Introduzca los números de serie de salidas de construcción"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Ubicación de stock para objetos construidos"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Autoasignar Números de Serie"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Los siguientes números seriales ya existen o son inválidos"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Debe proporcionarse una lista de salidas de construcción"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Ubicación de almacén para salidas descartadas"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Descartar asignaciones"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Descartar cualquier asignación de existencias para las salidas descartadas"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Razón para descartar la salida de ensamble(s)"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Ubicación para las salidas de construcción completadas"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Aceptar Asignación Incompleta"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Completar salidas si el inventario no se ha asignado completamente"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consumir Stock Asignado"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Eliminar salidas incompletas"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Eliminar cualquier salida de construcción que no se haya completado"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "No permitido"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Aceptar como consumido por este pedido de construcción"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Liberar antes de completar esta orden de construcción"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Stock sobreasignado"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Algunos artículos de inventario han sido sobreasignados"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Aceptar no asignado"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "El stock requerido no ha sido completamente asignado"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Aceptar incompleto"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Aceptar que el número requerido de salidas de construcción no se han completado"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "La cantidad de construcción requerida aún no se ha completado"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Orden de construcción debe estar en estado de producción"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "El orden de construcción tiene salidas incompletas"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linea de ensamble"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Resultado de la construcción o armado"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "La salida de la construcción debe apuntar a la misma construcción"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Crear partida"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "El artículo debe estar en stock"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Cantidad disponible ({q}) excedida"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Debe proporcionarse la adjudicación de artículos"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Excluir ubicación"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Excluir artículos de stock de esta ubicación seleccionada"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Stock intercambiable"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Sustituir stock"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Permitir la asignación de partes sustitutas"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Elementos opcionales"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Asignar artículos de la BOM opcionales para construir la orden"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Error al iniciar la tarea de asignación automática"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Referencia BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID de la parte BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nombre de parte la BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Parte del proveedor"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Cantidad Asignada"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Referencia de orden de Ensamblado"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Nombre de la categoría por pieza"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Rastreable"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Heredado"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Item de Lista de Materiales"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "En producción"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Stock externo"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Stock Disponible"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Stock sustituto disponible"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Stock variable disponible"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "En espera"
msgid "Cancelled"
msgstr "Cancelado"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Terminado"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Stock requerido para la orden de construcción"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Orden de construcción atrasada"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "El pedido de construcción {bo} está atrasado"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "¿Es enlace?"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "¿Es archivo?"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "El usuario no tiene permiso para eliminar estos adjuntos"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "El usuario no tiene permiso para eliminar este adjunto"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Código de divisa inválido"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Código de divisa duplicado"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "No se han proporcionado códigos de divisa válidos"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Sin plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Etiqueta del código del proyecto"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Actualizado"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Fecha y hora de la última actualización"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Código único del proyecto"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Descripción del proyecto"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Usuario o grupo responsable de este projecto"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Tecla de ajustes"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valor de ajuste"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "El valor elegido no es una opción válida"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "El valor debe ser un valor booleano"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "El valor debe ser un entero"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "El valor debe ser un número válido"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "El valor no pasa las comprobaciones de validación"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Cadena de clave debe ser única"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Usuario"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Cantidad de salto de precio"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Precio"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Precio unitario a la cantidad especificada"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Endpoint"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Punto final en el que se recibe este webhook"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nombre para este webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Activo"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Está activo este webhook"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token para el acceso"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Clave"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Secreto compartido para HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID de mensaje"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identificador único para este mensaje"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Servidor desde el cual se recibió este mensaje"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Encabezado"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Encabezado del mensaje"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Cuerpo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Cuerpo de este mensaje"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endpoint en el que se recibió este mensaje"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Trabajado en"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "¿El trabajo en este mensaje ha terminado?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Título"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Enlace"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publicado"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Resumen"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Leer"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "¿Esta noticia ya fue leída?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Archivo de imagen"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Tipo de modelo destino para esta imagen"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Unidad personalizada"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "El símbolo de la unidad debe ser único"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Nombre de unidad debe ser un identificador válido"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nombre de unidad"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Símbolo de unidad opcional"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definición"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definición de unidad"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Archivo adjunto"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Archivo no encontrado"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Falta enlace externo"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Comentario"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Comentario de archivo adjunto"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Fecha de carga"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Fecha de carga del archivo"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Tamaño del archivo"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Tamaño del archivo en bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Tipo de modelo no válido especificado para el archivo adjunto"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Estado personalizado"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Estados personalizados"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Conjunto de estado de referencia"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Conjunto de estado extendido con este estado personalizado"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Llave lógica"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Clave lógica del estado que es igual a este estado personalizado en la lógica de negocios"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valor"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Valor numérico que se guardará en la base de datos de modelos"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Nombre del estado"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiqueta"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiqueta que se mostrará en el frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Color"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Color que se mostrará en el frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modelo"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Modelo con el que este estado está asociado"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "El modelo debe ser seleccionado"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "La clave debe ser seleccionada"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "La clave lógica debe ser seleccionada"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "La clave debe ser distinta de la clave lógica"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Debe proporcionarse una clase de estado de referencia válida"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "La clave debe ser distinta de las claves lógicas del estado de referencia"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Lista de selección"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Listas de Selección"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Nombre de la lista de selección"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Descripción de la lista de selección"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Bloqueado"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "¿Está bloqueada esta lista de selección?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "¿Se puede utilizar esta lista de selección?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Complemento de origen"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Complemento que proporciona la lista de selección"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Cadena de origen"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Cadena opcional que identifica la fuente usada para esta lista"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Entrada por defecto"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Entrada predeterminada para esta lista de selección"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Creado"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Fecha y hora en la que se creó la lista de selección"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Última actualización"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Entrada de lista de selección"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Entradas de la lista de selección"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Lista de selección a la que pertenece esta entrada"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Valor del elemento de la lista de selección"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Etiqueta para la entrada de lista de selección"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Descripción de la entrada de lista de selección"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "¿Está activa esta entrada de la lista de selección?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Plantilla de parámetro"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "El nombre de parámetro en la plantilla tiene que ser único"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nombre de Parámetro"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unidades"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Casilla de verificación"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "¿Es este parámetro una casilla de verificación?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Opciones"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Opciones válidas para este parámetro (separados por comas)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Lista de selección para este parámetro"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Habilitado"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Opción inválida para el valor del parámetro"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Plantilla"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Datos"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Valor del parámetro"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Nota"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Campo de nota opcional"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Escanear código de barras"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Datos de código de barras"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Usuario que escaneó el código de barras"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Fecha y hora del escaneo de código de barras"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Dispositivo URL que procesó el código de barras"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contexto"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Datos de contexto para el escaneo de código de barras"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Respuesta"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Respuesta de datos del escaneo de código de barras"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultado"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "¿El escaneo de código de barras fue exitoso?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Clave"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} cancelado"
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Artículos Recibidos"
@@ -2351,93 +2359,101 @@ msgstr "Los artículos han sido recibidos contra una orden de compra"
msgid "Items have been received against a return order"
msgstr "Los artículos han sido recibidos contra una orden de devolución"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Está en ejecución"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Tareas pendientes"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tareas Programadas"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tareas fallidas"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Identificación de Tarea"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Identificación de tarea única"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Bloquear"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Bloquear hora"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nombre de la tarea"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Función"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nombre de la Función"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumentos"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumentos de la tarea"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argumentos de palabra clave"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argumentos de palabra clave de tarea"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nombre de Archivo"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista de selección bloqueada"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista de selección bloqueada"
msgid "No group"
msgstr "Sin grupo"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "La URL del sitio está bloqueada por su configuración"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Reinicio requerido"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migraciones pendientes"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Número de migraciones de base de datos pendientes"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nombre de la instancia del servidor"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Descriptor de cadena para la instancia del servidor"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Usar nombre de instancia"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Utilice el nombre de la instancia en la barra de título"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Restringir mostrar 'acerca de'"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Mostrar la modal `about` solo para superusuarios"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nombre de empresa"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nombre interno de empresa"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL Base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL base para la instancia del servidor"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Moneda predeterminada"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Seleccione la moneda base para los cálculos de precios"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Monedas admitidas"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Listado de códigos de divisa soportados"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervalo de actualización de moneda"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "días"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Plugin de Actualización de Moneda"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Plugin de actualización de moneda a usar"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Descargar desde URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Límite de tamaño de descarga"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Tamaño máximo de descarga permitido para la imagen remota"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Agente de usuario usado para descargar desde la URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Validación estricta de URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Requerir especificación de esquema al validar URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Actualizar intervalo de actualización"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Copia de seguridad automática"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervalo de respaldo automático"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Especificar número de días entre eventos automatizados de copia de seguridad"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervalo de eliminación de tareas"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervalo de eliminación de registro de errores"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Los registros de errores se eliminarán después del número especificado de días"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervalo de eliminación de notificaciones"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Soporte de código de barras"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Guardar resultados de código de barras"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Guardar resultados de código de barras en la base de datos"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Número máximo de escaneos de código de barras"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Número máximo de resultados de escaneo de código de barras para almacenar"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Retraso de entrada de código de barras"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tiempo de retraso en la lectura de códigos de barras"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Soporte para Webcam de código de barras"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Permitir escaneo de código de barras a través de webcam en el navegador"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Mostrar datos del código de barra como texto en el navegador"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Complemento para generar códigos de barra"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Complemento a usar para la generación de datos de códigos de barra internos"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revisiones de partes"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Habilitar campo de revisión para parte"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Patrón de expresión regular para IPN de la parte coincidente"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Permitir IPN duplicado"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permitir que varias partes compartan el mismo IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Permitir editar IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Permite cambiar el valor de IPN mientras se edita una parte"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copiar parte de datos BOM"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copiar datos BOM por defecto al duplicar una parte"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copiar parámetros de parte"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copiar datos de parámetro por defecto al duplicar una parte"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copiar parte de datos de prueba"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copiar datos de parámetro por defecto al duplicar una parte"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copiar plantillas de parámetros de categoría"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar plantillas de parámetros de categoría al crear una parte"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Las partes son plantillas por defecto"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Componente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Las partes pueden ser usadas como subcomponentes por defecto"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Comprable"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Las partes son comprables por defecto"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Vendible"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Las partes se pueden vender por defecto"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Las partes son rastreables por defecto"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtual"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Las partes son virtuales por defecto"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Mostrar partes relacionadas"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Mostrar partes relacionadas para una parte"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Datos iniciales de existencias"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permitir la creación del stock inicial al añadir una nueva parte"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Datos iniciales del proveedor"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formato de visualización de Nombre de Parte"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formato para mostrar el nombre de la parte"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Icono por defecto de la categoría de parte"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Mínimo de lugares decimales en el precio"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Máximo de lugares decimales en el precio"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Número máximo de decimales a mostrar al procesar los datos de precios"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Usar precios de proveedor"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Anulación del historial de compra"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "El precio histórico de compra anula los descuentos de precios del proveedor"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Usar precio del artículo de almacén"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Edad del precio del artículo de almacén"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Usar precios variantes"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Incluir variantes de precios en los cálculos generales de precios"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Solo variantes activas"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Usar solo partes de variantes activas para calcular los precios de variantes"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervalo de reconstrucción de precios"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Número de días antes de que el precio de la parte se actualice automáticamente"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Precios internos"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Habilitar precios internos para partes"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Anulación del precio interno"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Habilitar impresión de etiquetas"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Habilitar impresión de etiquetas desde la interfaz web"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "PPP de la imagen de etiqueta"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Habilitar informes"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Habilitar generación de informes"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Modo de depuración"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generar informes en modo de depuración (salida HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Registrar errores de reportes"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registrar errores ocurridos al generar reportes"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Tamaño de página"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Tamaño de página predeterminado para informes PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forzar unidades de parámetro"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Seriales únicos globalmente"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Eliminar existencias agotadas"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Plantilla de código de lote"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Expiración de stock"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Habilitar la funcionalidad de expiración de stock"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vender existencias caducadas"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Permitir venta de existencias caducadas"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Tiempo histórico de Stock"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Crear Stock Caducado"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Permitir crear con stock caducado"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Control de Stock"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Icono por defecto de ubicación de almacén"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Mostrar Articulos de Stock Instalados"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Mostrar los artículos de stock instalados en las tablas de stock"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Revisar BOM al instalar artículos"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Los elementos de stock instalados deben existir en la BOM para la parte padre"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Permitir transferencia Sin Existencias"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Patrón de Referencia de Ordenes de Armado"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Requerir Dueño Responsable"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Se debe asignar un dueño responsable a cada orden"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Requerir Parte Activa"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Impedir la creación de órdenes de fabricación para partes inactivas"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Requerir Parte Bloqueada"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Bloquear hasta que los Tests pasen"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Evitar que las construcciones sean completadas hasta que todas las pruebas requeridas pasen"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Habilitar órdenes de devolución"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Patrón de referencia de orden de devolución"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de devolución de la orden"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Editar ordenes de devolución completadas"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Patrón de Referencia de Ordenes de Venta"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la orden de venta"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Envío Predeterminado de Ordenes de Venta"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Editar Ordenes de Venta Completados"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Marcar pedidos enviados como completados"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Los pedidos marcados como enviados se completarán automáticamente, evitando el estado de \"envío\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Patrón de Referencia de Orden de Compra"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Editar Ordenes de Compra Completados"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Permitir la edición de órdenes de venta después de que hayan sido enviados o completados"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Autocompletar Ordenes de compra"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Marcar automáticamente las órdenes de compra como completas cuando se reciben todos los artículos de línea"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Habilitar función de contraseña olvidada"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Habilitar registro"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Habilitar SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Habilitar SSO en las páginas de inicio de sesión"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Habilitar registro SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Habilitar sincronización de grupo SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Habilitar la sincronización de grupos de Inventree con grupos proporcionados por el IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Clave de grupo SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "El nombre del atributo reclamado por el grupo proporcionado por el IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Mapa del grupo SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Un mapeo de grupos SSO a grupos de Inventree locales. Si el grupo local no existe, se creará."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Eliminar grupos fuera de SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email requerido"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Requiere usuario para suministrar correo al registrarse"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Auto-rellenar usuarios SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Correo dos veces"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Al registrarse pregunte dos veces a los usuarios por su correo"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Contraseña dos veces"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Dominios permitidos"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Restringir el registro a ciertos dominios (separados por comas, comenzando por @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupo al registrarse"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Grupo al que se asignan nuevos usuarios al registrarse. Si la sincronización de grupo SSO está activada, este grupo sólo se establece si no se puede asignar ningún grupo desde el IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Forzar MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Los usuarios deben utilizar seguridad multifactor."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Comprobar complementos al iniciar"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Revisar actualizaciones del plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Habilitar comprobaciones periódicas para actualizaciones de plugins instalados"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Habilitar integración de URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Habilitar plugins para añadir rutas de URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Habilitar integración de navegación"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Habilitar plugins para integrar en la navegación"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Habilitar integración de la aplicación"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Habilitar plugins para añadir aplicaciones"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Habilitar integración de programación"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Habilitar plugins para ejecutar tareas programadas"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Habilitar integración de eventos"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Habilitar plugins para responder a eventos internos"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Habilitar integración de interfaz"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Habilitar complementos para integrar en la interfaz de usuario"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Excluir Ubicaciones Externas"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Periodo de inventario automático"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Mostrar nombres completos de los usuarios"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Habilitar datos de estación de prueba"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Mostrar nombres completos de los usuarios"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Habilitar datos de estación de prueba"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Empresa"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Tiene existencias"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Empresas"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Descripción de la empresa"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Descripción de la empresa"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Página web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL del sitio web de la empresa"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Teléfono"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Teléfono de contacto"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Correo electrónico de contacto"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contacto"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Punto de contacto"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Enlace a información externa de la empresa"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "¿Esta empresa está activa?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "¿Es cliente?"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "¿Vendes artículos a esta empresa?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "¿Es proveedor?"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "¿Compras artículos de esta empresa?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "¿Es productor?"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "¿Esta empresa fabrica partes?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Moneda predeterminada utilizada para esta empresa"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Dirección"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Direcciones"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Seleccionar empresa"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Título de dirección"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Título que describe la entrada de dirección"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Dirección principal"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Establecer como dirección principal"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Línea 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Dirección línea 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Línea 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Dirección línea 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Código postal"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Ciudad/región"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Código postal de ciudad/región"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Estado/provincia"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Estado o provincia"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "País"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Dirección de país"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notas de envío de mensajería"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notas para el mensajero de envío"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Notas de envío internas"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notas de envío para uso interno"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Enlace a información de dirección (externa)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Parte del fabricante"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Parte base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Seleccionar parte"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Seleccionar fabricante"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Número de parte de fabricante"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL para el enlace de parte del fabricante externo"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Descripción de la parte del fabricante"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Las unidades de paquete deben ser mayor que cero"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Proveedor"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Seleccionar proveedor"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unidad de mantenimiento de stock de proveedores"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Seleccionar parte del fabricante"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL del enlace de parte del proveedor externo"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Descripción de la parte del proveedor"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "costo base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Paquetes"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Embalaje de partes"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Cantidad de paquete"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "múltiple"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Pedido múltiple"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Cantidad disponible del proveedor"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilidad actualizada"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Fecha de última actualización de los datos de disponibilidad"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Moneda predeterminada utilizada para este proveedor"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Nombre de la empresa"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "En Stock"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Colocado"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Archivo de datos"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Archivo de datos a importar"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Columnas"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Valores predeterminados del campo"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filtros del campo"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Algunos campos requeridos no han sido mapeados"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "La columna ya fue mapeada a un campo de la base de datos"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "La columna no existe en el archivo de datos"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "El campo no existe en el modelo destino"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "El campo seleccionado es de solo lectura"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Sesión de importación"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Campo"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Columna"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Número de fila"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Datos de la fila original"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Errores"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Válido"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Número de copias a imprimir para cada etiqueta"
msgid "Connected"
msgstr "Conectado"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Desconocido"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Referencia del pedido"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Destacado"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Tiene Código de Proyecto"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Creado por"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Creado antes de"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Creado después de"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Fecha objetivo antes de"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Fecha objetivo después de"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Tiene Precio"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Completado antes de"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Completado después de"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Orden"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Orden completada"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Componente interno"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Orden pendiente"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Completados"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Tiene envío"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Orden de compra"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Orden de compra"
msgid "Sales Order"
msgstr "Orden de Venta"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Precio Total"
msgid "Total price for this order"
msgstr "Precio total para este pedido"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Moneda de pedido"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "El contacto no coincide con la empresa seleccionada"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Descripción del pedido (opcional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Seleccione el código del proyecto para este pedido"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Enlace a Url externa"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Fecha objetivo"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Fecha de emisión"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Fecha de expedición del pedido"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Usuario o grupo responsable de este pedido"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Punto de contacto para este pedido"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Dirección de la empresa para este pedido"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Referencia del pedido"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Estado"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Estado de la orden de compra"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Empresa de la cual se están encargando los artículos"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Referencia del proveedor"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Código de referencia de pedido del proveedor"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "recibido por"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "La fecha de pedido fue completada"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destinación"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Destino para los artículos recibidos"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "El proveedor de la parte debe coincidir con el proveedor de PO"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "La partida no coincide con la orden de compra"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "La cantidad debe ser un número positivo"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Cliente"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Empresa a la que se venden los artículos"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Estado de la orden de venta"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Referencia del cliente "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Código de referencia de pedido del cliente"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Fecha de envío"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "La orden ya fue completada"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "La orden ya fue cancelada"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Sólo una orden abierta puede ser marcada como completa"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "El pedido no se puede completar porque hay envíos incompletos"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "El pedido no se puede completar ya que hay asignaciones incompletas"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "El pedido no se puede completar porque hay partidas incompletas"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Cantidad del artículo"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Referencia de partida"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Notas de partida"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Descripción de partida (opcional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contexto adicional para esta línea"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Precio unitario"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "La parte del proveedor debe coincidir con el proveedor"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Parte del proveedor"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Recibido"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Número de artículos recibidos"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Precio de Compra"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Precio de compra unitario"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Precio de Venta"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Precio de venta unitario"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Enviado"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Cantidad enviada"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Fecha del envío"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Fecha de entrega"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Fecha de entrega del envío"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Revisado por"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Usuario que revisó este envío"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Envío"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Número de envío"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Número de Seguimiento"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Información de seguimiento del envío"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Número de factura"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Número de referencia para la factura asociada"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "El envío ya ha sido enviado"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "El envío no tiene artículos de stock asignados"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "El artículo de stock no ha sido asignado"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "No se puede asignar stock a una línea sin una parte"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La cantidad de asignación no puede exceder la cantidad de stock"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Cantidad asignada debe ser mayor que cero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "La orden de venta no coincide con el envío"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "El envío no coincide con el pedido de venta"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Línea"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Referencia del envío del pedido de venta"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Ítem"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Seleccionar artículo de stock para asignar"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Especificar la cantidad de asignación de stock"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Referencia de la orden de devolución"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Empresa de la cual se están devolviendo los artículos"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Estado de la orden de devolución"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "El artículo de almacén debe ser especificado"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "La cantidad de retorno excede la cantidad de existencias"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "La cantidad de retorno debe ser mayor que cero"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Cantidad inválida para el artículo de stock serializado"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Seleccionar el artículo a devolver del cliente"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Fecha de recepción"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "La fecha en la que se recibió este artículo de devolución"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Resultado"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Salida para esta partida"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Costo asociado con la devolución o reparación para esta partida"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID del Pedido"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID del pedido a duplicar"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Copiar líneas"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Copiar partida del pedido original"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Copiar líneas adicionales"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Copiar partidas extra del pedido original"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Copiar Parámetros"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Partidas"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Líneas completadas"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplicar pedido"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Especificar opciones para duplicar este pedido"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "ID de pedido inválido"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Nombre del proveedor"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "El pedido no puede ser cancelado"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Permitir cerrar el pedido con partidas incompletas"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "El pedido tiene partidas incompletas"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "El pedido no está abierto"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Precio automático"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Moneda del precio de compra"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Combinar artículos"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Número de parte interna"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Nombre interno de parte"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Debe especificar la parte del proveedor"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "La orden de compra debe especificarse"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "El proveedor debe coincidir con la orden de compra"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "La orden de compra debe coincidir con el proveedor"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Partida"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Seleccione la ubicación de destino para los artículos recibidos"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Introduzca el código de lote para los artículos de almacén entrantes"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Fecha de Expiración"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Introduzca números de serie para artículos de almacén entrantes"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Código de barras"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Código de barras escaneado"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Código de barras en uso"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Se deben proporcionar las partidas"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Se requiere ubicación de destino"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Los valores del código de barras deben ser únicos"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Envíos"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Envíos completados"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Moneda del precio de venta"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Elementos asignados"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "No se proporcionaron detalles de envío"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "La partida no está asociada con este pedido"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "La cantidad debe ser positiva"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Introduzca números de serie para asignar"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "El envío ya ha sido enviado"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "El envío no está asociado con este pedido"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "No se han encontrado coincidencias para los siguientes números de serie"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Los siguientes números de serie no están disponibles"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Partida de orden de devolución"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "La partida no coincide con la orden de devolución"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "La partida ya ha sido recibida"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Cantidad a devolver"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Moneda de precio de línea"
@@ -5532,1174 +5613,1226 @@ msgstr "Reembolso"
msgid "Reject"
msgstr "Rechazo"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Orden de compra atrasada"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "La orden de compra {po} está atrasada"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Orden de venta atrasada"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "La orden de venta {so} está atrasada"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Favoritos"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Profundidad"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtrar por profundidad de categoría"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Nivel superior"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtrar por categorías de nivel superior"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "En cascada"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Tiene resultados"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Categoría de parte"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Categorías de parte"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Ubicación Predeterminada"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Ubicación predeterminada para partes de esta categoría"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Estructural"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Palabras clave predeterminadas"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Palabras clave por defecto para partes en esta categoría"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Icono"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Icono (opcional)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valor predeterminado"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valor de parámetro por defecto"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Partes"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Ya existe un artículo de almacén con este número de serie"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN duplicado no permitido en la configuración de partes"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "La revisión de parte duplicada ya existe."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Parte con este nombre, IPN y revisión ya existe."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nombre de la parte"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Es plantilla"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "¿Es esta parte una parte de la plantilla?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante de"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Descripción de parte (opcional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Palabras claves"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Categoría de parte"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Revisión de parte o número de versión"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisión"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Variante de"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "¿Dónde se almacena este artículo normalmente?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Proveedor por defecto"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Parte de proveedor predeterminada"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Expiración por defecto"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Stock mínimo"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Nivel mínimo de stock permitido"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Unidades de medida para esta parte"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "¿Se puede construir esta parte a partir de otras partes?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "¿Se puede utilizar esta parte para construir otras partes?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "¿Esta parte tiene seguimiento de objetos únicos?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "¿Se puede comprar esta parte a proveedores externos?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "¿Se puede vender esta parte a los clientes?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "¿Está activa esta parte?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Las partes bloqueadas no pueden ser editadas"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Suma de verificación de BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Suma de verificación de BOM almacenada"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOM comprobado por"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Fecha BOM comprobada"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Creación de Usuario"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Dueño responsable de esta parte"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Vender múltiples"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Moneda utilizada para almacenar en caché los cálculos de precios"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Costo mínimo de BOM"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Costo mínimo de partes de componentes"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Costo máximo de BOM"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Costo máximo de partes de componentes"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Costo mínimo de compra"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Costo histórico mínimo de compra"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Costo máximo de compra"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Costo histórico máximo de compra"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Precio interno mínimo"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Costo mínimo basado en precios reducidos internos"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Precio interno máximo"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Costo máximo basado en precios reducidos internos"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Precio mínimo de proveedor"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Precio mínimo de la parte de proveedores externos"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Precio máximo de proveedor"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Precio máximo de la parte de proveedores externos"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Costo mínimo de variante"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Costo mínimo calculado de las partes variantes"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Costo máximo de variante"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Costo máximo calculado de las partes variantes"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Costo mínimo"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Anular el costo mínimo"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Costo máximo"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Reemplazar coste máximo"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Costo mínimo general calculado"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Precio de venta mínimo"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Precio de venta mínimo basado en precios reducidos"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Precio de venta máximo"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Precio de venta máximo basado en precios reducidos"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Costo de venta mínimo"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Precio de venta mínimo histórico"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Costo de Venta Máximo"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Precio de venta máximo histórico"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Número de artículos"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Fecha"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Costo de Stock Mínimo"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Costo mínimo estimado del stock disponible"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nombre de prueba"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Introduzca un nombre para la prueba"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "¿Es necesario pasar esta prueba?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Requiere valor"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Adjunto obligatorio"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Seleccionar parte principal"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sub parte"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Seleccionar parte a utilizar en BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Cantidad del artículo en BOM"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Este artículo BOM es opcional"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Referencia de artículo de BOM"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notas del artículo de BOM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Suma de verificación"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Suma de verificación de línea de BOM"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validado"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Este artículo de BOM ha sido validado"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este artículo BOM es heredado por BOMs para partes variantes"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "La cantidad debe ser un valor entero para las partes rastreables"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Debe especificar la subparte"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Ítem de BOM sustituto"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sustituta no puede ser la misma que la parte principal"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Artículo BOM superior"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Sustituir parte"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Seleccionar parte relacionada"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Nota para esta relación"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Categoría principal de parte"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Subcategorías"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Moneda de compra de ítem de stock"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Parte original"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Seleccione la parte original a duplicar"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Copiar Imagen"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Copiar imagen desde la parte original"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copiar BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Copiar la factura de materiales de la parte original"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Copiar Parámetros"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Copiar datos del parámetro de la parte original"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Copiar Notas"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Cantidad Inicial de Stock"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Seleccione proveedor (o déjelo en blanco para saltar)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Seleccionar fabricante (o dejar en blanco para saltar)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Número de parte del fabricante"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "La empresa seleccionada no es un proveedor válido"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "La empresa seleccionada no es un fabricante válido"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Nombre de categoría"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "En construcción"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Elementos de stock"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Proveedores"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Inventario Total"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Duplicar Parte"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Stock Inicial"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Crear Parte con cantidad inicial de stock"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Información del proveedor"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Añadir información inicial del proveedor para esta parte"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Copiar Parámetros de Categoría"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Imagen Existente"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "El archivo de imagen no existe"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Validación de Lista de Materiales"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Puede construir"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Precio mínimo"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Anular el valor calculado para precio mínimo"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Precio mínimo de moneda"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Precio máximo"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Precio máximo de moneda"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Actualizar"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "El precio mínimo no debe ser mayor que el precio máximo"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "El precio máximo no debe ser inferior al precio mínimo"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Seleccionar parte de la que copiar BOM"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Eliminar Datos Existentes"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Eliminar artículos BOM existentes antes de copiar"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Incluye Heredado"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Incluye artículos BOM que son heredados de partes con plantillas"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Omitir filas no válidas"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Activar esta opción para omitir filas inválidas"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Copiar partes sustitutas"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notificación por bajo stock"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "No se especificó ninguna acción"
msgid "No matching action found"
msgstr "No se encontró ninguna acción coincidente"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Coincidencia encontrada para datos de códigos de barras"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "El código de barras coincide con artículo existente"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Ningún complemento coincide con el código de barras del proveedor"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Ningún pedido de venta proporcionado"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Se encontró artículo coincidente"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "La pieza del proveedor no coincide con la partida"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "La partida ya está completada"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "No se pudo recibir partida"
@@ -6972,7 +7105,7 @@ msgstr "Proporciona soporte nativo para códigos de barras"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL de webhook entrante de Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Clave del complemento"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Nombre del complemento"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Complemento"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "No se encontró autor"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "El complemento requiere al menos la versión {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "El complemento requiere como máximo la versión {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Instalación no confirmada"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Debe proporcionar cualquier nombre de paquete de la URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Número de serie"
@@ -8097,7 +8230,7 @@ msgstr "Artículo Stock Informe de prueba"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Elementos instalados"
@@ -8130,495 +8263,519 @@ msgstr "Ningún resultado (requerido)"
msgid "No result"
msgstr "Sin resultados"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Ubicación principal"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtrar por ubicación principal"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "El nombre de la pieza contiene (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Nombre de la pieza (expresión regular)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "IPN de Pieza (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "IPN de pieza contiene (insensible a mayúsculas y minúsculas)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "IPN de Pieza (expresión regular)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Existencias mínimas"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Existencias máximas"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Código de estado"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Ubicación externa"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Consumido por orden de construcción"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Instalado en otro artículo de existencias"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Árbol de piezas"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Actualizado antes de"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Actualizado después de"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Inventario antes de"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Inventario después de"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Desactualizado"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Cantidad requerida"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Debe suministrarse una parte válida"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Ubicación de Stock"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Ubicaciones de Stock"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Propietario"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Seleccionar Propietario"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Externo"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Se debe especificar la pieza"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "La cantidad debe ser 1 para el artículo con un número de serie"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "El objeto no puede pertenecer a sí mismo"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "El artículo debe tener una referencia de construcción si is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "La referencia de la construcción no apunta al mismo objeto de parte"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Artículo de stock padre"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Parte base"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "¿Dónde se encuentra este artículo de stock?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Empaquetar este artículo de stock se almacena en"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Instalado en"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "¿Está este artículo instalado en otro artículo?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Número de serie para este artículo"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Código de lote para este artículo de stock"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Cantidad de Stock"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Build de origen"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Build para este item de stock"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Consumido por"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Orden de compra de origen"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Orden de compra para este artículo de stock"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Orden de venta de destino"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Eliminar al agotar"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Eliminar este artículo de stock cuando se agoten las existencias"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Precio de compra único en el momento de la compra"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Convertido a parte"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "La parte no está establecida como rastreable"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Cantidad debe ser un entero"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Los números de serie deben ser proporcionados como una lista"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "La cantidad no coincide con los números de serie"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Artículo de stock ha sido asignado a un pedido de venta"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Artículo de stock está instalado en otro artículo"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Artículo de stock contiene otros artículos"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Artículo de stock ha sido asignado a un cliente"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "El artículo de stock está en producción"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Stock serializado no puede ser combinado"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Artículos de Stock Duplicados"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Los artículos de stock deben referirse a la misma parte"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Los artículos de stock deben referirse a la misma parte del proveedor"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Los códigos de estado del stock deben coincidir"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stock no se puede mover porque no está en stock"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Notas de entrada"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Debe proporcionarse un valor para esta prueba"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "El archivo adjunto debe ser subido para esta prueba"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Resultado de la prueba"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Valor de salida de prueba"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Adjunto de resultados de prueba"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Notas de prueba"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Finalizó"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Elemento padre"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Introduzca números de serie para nuevos artículos"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Número de pieza del proveedor"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Expirado"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Elementos secundarios"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Introduzca el número de artículos de stock para serializar"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Ubicación de stock de destino"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Los números de serie no se pueden asignar a esta parte"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Números de serie ya existen"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Añadir nota de transacción (opcional)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sub-ubicación"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "La parte debe ser vendible"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "El artículo está asignado a una orden de venta"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "El artículo está asignado a una orden de creación"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Cliente para asignar artículos de stock"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "La empresa seleccionada no es un cliente"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Notas de asignación de stock"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Debe proporcionarse una lista de artículos de stock"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notas de fusión de stock"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Permitir proveedores no coincidentes"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Permitir estado no coincidente"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Debe proporcionar al menos dos artículos de stock"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Sin cambios"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Valor de clave primaria de Stock"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "No hay existencias del artículo"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Notas de transacción de stock"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Órdenes de venta"
msgid "Return Orders"
msgstr "Ordenes de devolución"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nombre de usuario"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Nombre"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Nombre del usuario"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Apellido"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Apellido del usuario"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Dirección de correo del usuario"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personal"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Tiene este usuario permisos de personal"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superusuario"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Es este usuario un superusuario"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Esta cuenta de usuario está activa"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Su cuenta ha sido creada."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Bienvenido a InvenTree"
diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po
index 043c90256e..8e83dc1b65 100644
--- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Teil ei ole selle lehe vaatamiseks luba"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Meili (uuesti)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "E-posti aadressi kinnitus"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -112,13 +104,13 @@ msgstr "Pane kuupäev"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Märkmed"
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Ühenduse viga"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Esines tõrge"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-post"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Vigane valik"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nimi"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Kirjeldus"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Kirjeldus (valikuline)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Tee"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serveri viga"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Pilt"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Hiina (lihtsustatud)"
msgid "Chinese (Traditional)"
msgstr "Hiina (traditsiooniline)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Osa"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Määratud"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Valikuline"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Jälgitud"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Saadaval"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Asukoht"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr "Tootekood"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Koostamise olek"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Loomise kuupäev"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Kogus"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Osa nimi"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Tühista kõik laoseisu eraldised mahakantud väljundite jaoks"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Valikained"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Jälgitav"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Saadaval laos"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Katkestatud"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Valmis"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "On link"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "On fail"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Pluginat pole"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Uuendatud"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Seade võti"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Seade väärtus"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "ID"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Pealkiri"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Avaldatud"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Kokkuvõte"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Loetud"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Pildifail"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Ühiku nimi"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Sümbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definitsioon"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Ühiku definitsioon"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Manus"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Puuduv fail"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Puuduv väline link"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Vali fail, mida lisada"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentaar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Faili suurus"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Silt"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Loodud"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Mall"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Andmed"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Märkus"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Vöötkoodi andmed"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontekst"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Vastus"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Tulemus"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Võti"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Ülesande nimi"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funktsioon"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funktsiooni nimi"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumendid"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Ülesande argumendid"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Failinimi"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Mudeli liik"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Grupp puudub"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Taaskäivitamine on vajalik"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Ettevõtte nimi"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "päeva"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automaatne varundus"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Vöötkoodi tugi"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponent"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Ostetav"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuaalne"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Lehe suurus"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Luba liidese integreerimine"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Luba pluginatel integreeruda kasutajaliidesesse"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Tootja"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Ettevõte"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Laos"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Ettevõtted"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Ettevõtte kirjeldus"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Ettevõtte kirjeldus"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Veebileht"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Ettevõtte veebilehe aadress"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefoninumber"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kontakttelefoni number"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontakt e-postiaadress"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Aadress"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Aadressid"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Vali ettevõte"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Peamine aadress"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Määra peamine aadress"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Rida 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Aadressi rida 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Rida 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Aadressi rida 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Postiindeks"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Linn/Piirkond"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Riik"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Tarnija"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Vali tarnija"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Andmefail"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Veerud"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Väli"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Veerg"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Staatus"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Müügihind"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Saadetud"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Saadetis"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Rida"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "Tellimuse ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "Kopeeritava tellimuse ID"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Kopeeri read"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Kopeeri reaüksused algsest tellimusest"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Kopeeri lisareaüksused algsest tellimusest"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopeeri parameetrid"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Määrake selle tellimuse dubleerimise valikud"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Vale tellimuse ID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Tootekood"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Vöötkood"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Skännitud ribakood"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Saadetised"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Järgmised seerianumbrid ei ole saadaval"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr "Tagasimakse"
msgid "Reject"
msgstr "Keeldu"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Sügavus"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Osa kategooria"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Osa kategooriad"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikoon"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikoon (valikuline)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Osad"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Osa nimi"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "On mall"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Märksõnad"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Osa kategooria"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimaalne laoseis"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Testimalle saab luua ainult testitavate osade jaoks"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Originaalosa"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopeeri pilt"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopeeri parameetrid"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategooria nimi"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Ehitamine"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Tarnijad"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Tarnija info"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minimaalne hind"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Maksimaalne hind"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Uuenda"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Valikud"
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr "Paki plugin"
msgid "Plugin"
msgstr "Plugin"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Autorit ei leitud"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Seerianumber"
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Testitulemused"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Tarnija osa number"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Kasutajanimi"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Eesnimi"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Perekonnanimi"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
index 3c7bed40bc..5c0d74968b 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Address e API peida nashod"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "لیست اقلام یا فیلترها باید برای عملیات انبوه ارائه شود"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "موارد باید به صورت لیست ارائه شود"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "لیست موارد نامعتبر ارائه شده است"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "فیلترها باید به صورت دستوری ارائه شوند"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "فیلترهای نامعتبر ارائه شده است"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "تمامی فیلترها باید منحصراً با مقدار true مورد استفاده قرار گیرند"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "هیچ موردی با معیارهای ارائه شده مطابقت ندارد"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "ایمیل (دوباره وارد کنید)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "تایید آدرس ایمیل"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "هر بار باید همان ایمیل را تایپ کنید."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "دامنه ایمیل ارائه شده تایید نشده است."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "نمیتوان {original} را به {unit} تبدیل کرد"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "مقدار ارائه شده نامعتبر است"
@@ -112,13 +104,13 @@ msgstr "تاریخ را وارد کنید"
msgid "Invalid decimal value"
msgstr "مقدار اعشاری نامعتبر است"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "یادداشت"
@@ -131,75 +123,75 @@ msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گی
msgid "Provided value does not match required pattern: "
msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "نمی توان بیش از 1000 مورد را به طور همزمان سریال کرد"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "رشته شماره سریال خالی"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "سریال تکراری"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "گروه نامعتبر: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "محدوده گروه {group} از مقدار مجاز بیشتر است ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "هیچ شماره سریالی پیدا نشد"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "برچسب های HTML را از این مقدار حذف کنید"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "داده ها حاوی محتوای علامت گذاری ممنوع است"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "خطا در اتصال"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "سرور با کد وضعیت نامعتبر پاسخ داد"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "یک استثنا رخ داده است"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "اندازه عکس بسیار بزرگ است"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "حجم دانلود تصویر از حداکثر اندازه بیشتر شده است"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "سرور ریموت پاسخ خالی را برگرداند"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "URL ارائه شده یک فایل تصویری معتبر نیست"
@@ -207,11 +199,11 @@ msgstr "URL ارائه شده یک فایل تصویری معتبر نیست"
msgid "Log in to the app"
msgstr "وارد برنامه شوید"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "ایمیل"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "قبل از انجام هر کار دیگری باید احراز هویت دو مرحله ای را فعال کنید."
@@ -255,133 +247,124 @@ msgstr "مرجع باید با الگوی مورد نیاز مطابقت داش
msgid "Reference number is too large"
msgstr "شماره مرجع خیلی بزرگ است"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "انتخاب نامعتبر"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "نام"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "توضیحات"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "توضیحات (اختیاری)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "مسیر"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "نامهای تکراری نمیتوانند تحت یک والد وجود داشته باشند"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "یادداشت های علامت گذاری (اختیاری)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "داده های بارکد"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "داده های بارکد شخص ثالث"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "هش بارکد"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "هش منحصر به فرد داده های بارکد"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "بارکد موجود پیدا شد"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "شکست کار"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "پس از {n} تلاش، کار پس زمینه '{f}' ناموفق بود"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "خطای سرور"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "یک خطا توسط سرور ثبت شده است."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "باید یک عدد معتبر باشد"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "ارز"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "ارز را از گزینه های موجود انتخاب کنید"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "مقدار نامعتبر"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "تصویر ریموت"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "آدرس فایل تصویری از راه دور"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "دانلود تصاویر از URL ریموت فعال نیست"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "دانلود تصویر از URL ریموت انجام نشد"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "چینی (ساده شده)"
msgid "Chinese (Traditional)"
msgstr "چینی (سنتی)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "واحد فیزیکی نامعتبر"
msgid "Not a valid currency code"
msgstr "کد ارز معتبر"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "وضعیت سفارش"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "قطعه"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "دسته"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "واگذار شده به من"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "واگذار شده به"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "ایجاد شده قبل از"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "ایجاد شده بعد از"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "دارای تاریخ شروع"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "تاریخ شروع قبل از"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "تاریخ شروع بعد از"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "دارای تاریخ موعد"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "تاریخ موعد قبل از"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "تاریخ موعد بعد از"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "تکمیل شده قبل از"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "تکمیل شده بعد از"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "مصرفی"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "اختیاری"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "مونتاژ"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "سفارش معوق"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "اختصاص داده شده"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "در دسترس"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "سفارش ساخت"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "مکان"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "سفارشهای ساخت"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "مرجع سفارش فروش"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "منبع محل"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "مقصد"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "تاریخ تکمیل"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "تکمیل شده توسط"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "صادر شده توسط"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "کاربری که این سفارش ساخت را صادر کرده است"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "پیوند خارجی"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "فایلهای داده"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است"
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
index 86a703b70e..3abc53bc95 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API-rajapintaa ei löydy"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Sähköposti (uudelleen)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Sähköpostiosoitteen vahvistus"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Sinun täytyy kirjoittaa sama sähköposti joka kerta."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Annettu määrä on virheellinen"
@@ -112,13 +104,13 @@ msgstr "Anna päivämäärä"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Merkinnät"
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Tyhjä sarjanumero"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplikaatti sarjanumero"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Sarjanumeroita ei löytynyt"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Yhteysvirhe"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Palvelin vastasi virheellisellä tilakoodilla"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Kuva on liian iso"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Kuvan lataus ylitti enimmäiskoon"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Etäpalvelin palautti tyhjän vastauksen"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Annettu URL ei ole kelvollinen kuvatiedosto"
@@ -207,11 +199,11 @@ msgstr "Annettu URL ei ole kelvollinen kuvatiedosto"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Sähköposti"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr "Viitenumero on liian suuri"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Virheellinen valinta"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nimi"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Kuvaus"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Kuvaus (valinnainen)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Polku"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Viivakoodin Tiedot"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Palvelinvirhe"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Kuva"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Täytyy olla kelvollinen luku"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuutta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Virheellinen arvo"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "Kuvatiedoston URL"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Kuvien lataaminen ei ole käytössä"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Osa"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategoria"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Saatavilla"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Sijainti"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Ulkoinen linkki"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Linkki ulkoiseen URLiin"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Määrä"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Varastotuote"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Sarjanumerot"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Ei sallittu"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Seurattavissa"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Peruttu"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Valmis"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Päivitetty"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Viimeisimmän päivityksen aikaleima"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Käyttäjä"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Hinta"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktiivinen"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Salaisuus"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Isäntä"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Otsikko"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Linkki"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Julkaistu"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Julkaisija"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Yhteenveto"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Kuvatiedosto"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Liite"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Puuttuva tiedosto"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Puuttuva ulkoinen linkki"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Valitse liitettävä tiedosto"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentti"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Arvo"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Käytössä"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Muistiinpano"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Avain"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Tiedostonimi"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Ei ryhmää"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Uudelleenkäynnistys vaaditaan"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Yrityksen nimi"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Yrityksen sisäinen nimi"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Oletusvaluutta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "päivää"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automaattinen varmuuskopionti"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automaattisen varmuuskopioinnin aikaväli"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Viivakoodituki"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponentti"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Ostettavissa"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Sisäiset hinnat"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Sisäisen hinnan ohitus"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Sivun koko"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Salli salasananpalautus"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Salli rekisteröinti"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Salli SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Salli SSO kirjautumissivuilla"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Salli SSO rekisteröinti"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Sähköposti vaaditaan"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Sähköpostiosoite kahdesti"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Salasana kahdesti"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Sallitut verkkotunnukset"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Pakota MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Valmistaja"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Yritys"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Yritykset"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Yrityksen kuvaus"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Sivusto"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Yrityksen sivuston URL"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Puhelinnumero"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakti"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Osoite"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Valitse valmistaja"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Valmistajan osanumero"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Toimittaja"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Valitse toimittaja"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Toimittajan varastonimike"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
-msgstr "Valitse valmistajan osa"
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr "Valitse valmistajan osa"
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datatiedosto"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Valmis"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Hinta yhteensä"
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Tilauksen valuutta"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Tilauksen viite"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Tila"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Asiakas"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Asiakkaan viite "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Vastaanotettu"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Lähetetty"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Seurantakoodi"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Laskunumero"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Viivakoodi"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Oletus avainsanat"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Kuvake"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Kuvake (valinnainen)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Avainsanat"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Päivämäärä"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Valmistajan osanumero"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Sarjanumero"
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Käyttäjätunnus"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Etunimi"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Sukunimi"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
index 4b7148c271..0135765712 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Point de terminaison de l'API introuvable"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Liste des éléments ou des filtres à fournir pour les opérations en vrac"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Les éléments doivent être fournis sous forme de liste"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Liste d'éléments non valide fournie"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Les filtres doivent être fournis sous forme de dictionnaire"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Filtres fournis invalides"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Tous les filtres ne doivent être utilisés qu'avec \"true\""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Aucun élément ne correspond aux critères fournis"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Aucune donnée disponible"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Ce champ doit être unique"
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "L'utilisateur n'a pas la permission de voir ce modèle"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (encore)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Confirmation de l'adresse email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Vous devez taper le même e-mail à chaque fois."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "L'adresse e-mail principale fournie n'est pas valide."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Le domaine e-mail fourni n'est pas approuvé."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Impossible de convertir {original} en {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
@@ -112,13 +104,13 @@ msgstr "Entrer la date"
msgid "Invalid decimal value"
msgstr "Valeur décimale invalide"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notes"
@@ -131,75 +123,75 @@ msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle"
msgid "Provided value does not match required pattern: "
msgstr "La valeur fournie ne correspond pas au modèle requis : "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Impossible de sérialiser plus de 1000 éléments à la fois"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Chaîne de numéro de série vide"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Numéro de série en doublon"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Groupe invalide : {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "La plage de groupe {group} dépasse la quantité autorisée ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Aucun numéro de série trouvé"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Le nombre de numéros de série uniques ({n}) doit correspondre à la quantité ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Retirer les balises HTML de cette valeur"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Les données contiennent du contenu markdown interdit"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Erreur de connexion"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Le serveur a répondu avec un code de statut invalide"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Une erreur est survenue"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Image trop volumineuse"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "La taille de l'image dépasse la taille maximale autorisée"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Le serveur distant a renvoyé une réponse vide"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fournie n'est pas un fichier image valide"
@@ -207,11 +199,11 @@ msgstr "L'URL fournie n'est pas un fichier image valide"
msgid "Log in to the app"
msgstr "Se connecter à l'application"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Vous devez activer l'authentification à deux facteurs avant toute autre chose."
@@ -255,135 +247,126 @@ msgstr "La référence doit correspondre au modèle requis"
msgid "Reference number is too large"
msgstr "Le numéro de référence est trop grand"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nom"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Description"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Description (facultative)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Chemin d'accès"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notes Markdown (option)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Données du code-barres"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Données de code-barres tierces"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash du code-barre"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hachage unique des données du code-barres"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Code-barres existant trouvé"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Échec de la tâche"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "La tâche de travail en arrière-plan '{f}' a échoué après {n} tentatives"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Erreur serveur"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Image"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Devise"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Sélectionnez la devise à partir des options disponibles"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Ce champ ne peut pas être vide."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valeur non valide"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Images distantes"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL du fichier image distant"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
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/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Échec du téléchargement de l'image à partir de l'URL distant"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Format du type de contenu invalide"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Type de contenu introuvable"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Le type de contenu ne correspond pas à la classe de mixin requise"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Chinois (Simplifié)"
msgid "Chinese (Traditional)"
msgstr "Chinois (Traditionnel)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Mise à jour disponible"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Une mise à jour pour InvenTree est disponible"
@@ -553,30 +536,30 @@ msgstr "Unité invalide"
msgid "Not a valid currency code"
msgstr "Code de devise invalide"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Statut de la commande"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Fabrication parente"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Inclure les variantes"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Inclure les variantes"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Inclure les variantes"
msgid "Part"
msgstr "Pièce"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Catégorie"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Version Précédente"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Attribué à moi"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Attribué à"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Créé avant"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Créé après"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "A une date de début"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Date de début avant"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Date de début après"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "A une date butoir"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Date cible avant"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Date cible après"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Terminé avant"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Terminé après"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Date min"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Date maximale"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Exclure l'arbre"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "La construction doit être annulée avant de pouvoir être supprimée"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consommable"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Facultatif"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Assemblage"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Suivi"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testable"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Commande en cours"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Allouée"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Consommé"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponible"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "En Commande"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Ordre de Fabrication"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Emplacement"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Sortie"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
-msgstr ""
+msgstr "Filtrer par l'identifiant (ID) des articles du stock de sortie. Utilisez 'null' pour trouver les éléments de fabrication non installés."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Ordres de Fabrication"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "La liste des composants de l'assemblage n'a pas été validée"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Impossible de créer un ordre de fabrication pour une pièce inactive"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Impossible de créer un ordre de fabrication pour une pièce non verrouillée"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Les ordres de fabrication ne peuvent être exécutées qu'en externe pour les pièces achetables"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Un utilisateur ou un groupe responsable doit être spécifié"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "La pièce de commande de construction ne peut pas être changée"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "La date cible doit être postérieure à la date de début"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Référence de l' Ordre de Fabrication"
msgid "Reference"
msgstr "Référence"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Brève description de la fabrication (optionnel)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "BuildOrder associé a cette fabrication"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr "Commande de fabrication associée à cette fabrication"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Sélectionnez la pièce à construire"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Bon de commande de référence"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Commande de vente à laquelle cette construction est allouée"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Commande de vente à laquelle cette fabrication est allouée"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Emplacement d'origine"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Fabrication externe"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Cet ordre de fabrication est exécuté en externe"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Emplacement cible"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Quantité a fabriquer"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Nombre de stock items à construire"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Articles terminés"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Nombre d'articles de stock qui ont été terminés"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "État de la construction"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Code de statut de construction"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Code de lot"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Date de création"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Début de la fabrication"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Date de début prévue pour cet ordre de construction"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Date d'achèvement cible"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Date d'achèvement"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "achevé par"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Émis par"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Utilisateur ayant émis cette commande de construction"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsable"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Utilisateur ou groupe responsable de cet ordre de construction"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Lien Externe"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Lien vers une url externe"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Priorité de fabrication"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Priorité de cet ordre de fabrication"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Code du projet"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Code de projet pour cet ordre de construction"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Impossible de terminer l'ordre de fabrication avec des constructions enfant ouvertes"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Impossible de terminer l'ordre de fabrication avec des sorties incomplètes"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Échec du déchargement de la tâche pour terminer les allocations de construction"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "La commande de construction {build} a été effectuée"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Une commande de construction a été effectuée"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Les numéros de série doivent être fournis pour les pièces traçables"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Pas d'ordre de production défini"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "L'ordre de production a déjà été réalisé"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "L'ordre de production de correspond pas à l'ordre de commande"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "La quantité ne peut pas être supérieure à la quantité de sortie"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "Les sorties de fabrication n'ont pas passé tous les tests requis"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis"
-#: build/models.py:1230
-msgid "Cannot partially complete a build output with allocated items"
-msgstr ""
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Les articles en stock alloués sont toujours en production"
-#: build/models.py:1628
+#: build/models.py:1211
+msgid "Cannot partially complete a build output with allocated items"
+msgstr "Impossible de compléter partiellement une sortie de construction avec les éléments alloués"
+
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Poste de l'ordre de construction"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Création de l'objet"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Création de l'objet"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Quantité"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Quantité requise pour la commande de construction"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Quantité de stock consommé"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "La quantité allouée doit être supérieure à zéro"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "La quantité doit être de 1 pour stock sérialisé"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "La quantité allouée doit être supérieure à zéro"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "La quantité doit être de 1 pour stock sérialisé"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "La quantité allouée dépasse la quantité disponible dans le stock"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Article en stock"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Stock d'origine de l'article"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Quantité de stock à allouer à la construction"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Installer dans"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Stock de destination de l'article"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Niveau de construction"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nom de l'article"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Code du projet Étiquette"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Sortie d'assemblage"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "L'ordre de production ne correspond pas à l'ordre parent"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Cet ordre de production a déjà été produit"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Cet ordre de production n'est pas complètement attribué"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Entrer la quantité désiré pour la fabrication"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Quantité entière requise pour les pièces à suivre"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Numéros de série"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Entrer les numéros de séries pour la fabrication"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Emplacement de stock pour la sortie de la fabrication"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Allouer automatiquement les numéros de série"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Emplacement du stock pour les sorties épuisées"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Ignorer les allocations"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Abandonner les allocations de stock pour les sorties abandonnées"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Motif de l'élimination des produits de construction(s)"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Emplacement des ordres de production achevés"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Accepter l'allocation incomplète"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consommation du stock alloué"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consommer tout stock qui a déjà été alloué à cette construction"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Retirer les sorties incomplètes"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Non permis"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Accepter comme consommé par cet ordre de construction"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Désaffecter avant de terminer cette commande de fabrication"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Stock suralloué"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Certains articles de stock ont été suralloués"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Accepter les non-alloués"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Le stock requis n'a pas encore été totalement alloué"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Accepter les incomplèts"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "La quantité nécessaire n'a pas encore été complétée"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "L'ordre de construction a des ordres de construction enfants ouverts"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "L'ordre de construction doit être en état de production"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Chaîne d'assemblage"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Sortie d'assemblage"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "La sortie de la construction doit pointer vers la même construction"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Élément de la ligne de construction"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "L'article doit être en stock"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantité disponible ({q}) dépassée"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Les articles d'allocation doivent être fournis"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Emplacements exclus"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Exclure les articles de stock de cet emplacement sélectionné"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Stock interchangeable"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Stock de substitution"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Autoriser l'allocation de pièces de remplacement"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Objets Optionnels"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Échec du démarrage de la tâche d'auto-allocation"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Référence de la nomenclature"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID de la pièce de la nomenclature"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nomenclature Nom de la pièce"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Construire"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Pièce fournisseur"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Quantité allouée"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Référence de construction"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Nom de la catégorie de pièces"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Traçable"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Reçu de quelqu'un"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Autoriser les variantes"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Article du BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "En Production"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Planifié pour fabrication"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Stock externe"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Stock disponible"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Stock de substitution disponible"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Stock de variantes disponibles"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "La quantité consommée dépasse la quantité allouée"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Note optionnelle pour la consommation du stock"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Dupliquer l'allocation de l'article de fabrication"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Dupliquer l'allocation de ligne de fabrication"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Au moins un élément ou une ligne doit être fourni"
@@ -1474,67 +1478,71 @@ msgstr "En pause"
msgid "Cancelled"
msgstr "Annulé"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Terminé"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Stock requis pour la commande de construction"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "L'ordre de fabrication {build} nécessite du stock additionnel"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Ordre de commande en retard"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "L'ordre de commande {bo} est maintenant en retard"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "C'est un lien"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "C'est un fichier"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Code de devise invalide"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Code de devise en double"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Aucun code de devise valide fourni"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Pas de plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Code du projet Étiquette"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Mise à jour"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Date de la dernière mise à jour"
@@ -1546,778 +1554,778 @@ msgstr "Mis à jour par"
msgid "User who last updated this object"
msgstr "Utilisateur qui a mis à jour cet objet en dernier"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Code projet unique"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Description du projet"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Utilisateur ou groupe responsable de ce projet"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Paramétrés des touches"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valeur du paramètre"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "La valeur choisie n'est pas une option valide"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "La valeur doit être une valeur booléenne"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "La valeur doit être un nombre entier"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Valeur doit être un nombre valide"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "La valeur ne passe pas les contrôles de validation"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "La chaîne de caractères constituant la clé doit être unique"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Utilisateur"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Quantité de rupture de prix"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Prix"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Prix unitaire à la quantité spécifiée"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Point final"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Point de terminaison auquel ce webhook est reçu"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nom de ce webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Actif"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Ce webhook (lien de rappel HTTP) est-il actif"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Jeton"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Jeton d'accès"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Confidentiel"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Secret partagé pour HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID message"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identifiant unique pour ce message"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Hôte"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Hôte à partir duquel ce message a été reçu"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Entête"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "En-tête de ce message"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Corps"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Corps de ce message"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endpoint à partir duquel ce message a été reçu"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Travaillé sur"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Le travail sur ce message est-il terminé ?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Titre"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Lien"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publié"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Auteur"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Résumé"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Lu"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Cette nouvelle a-t-elle été lue ?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Fichier image"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Type de modèle cible pour cette image"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "ID du modèle cible pour cette image"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Unité personnalisée"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Le symbole de l'unité doit être unique"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Le nom de l'unité doit être un identifiant valide"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nom de l'unité"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbole"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Symbole d'unité facultatif"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Définition"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Définition de l'unité"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Pièce jointe"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Fichier manquant"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Type de modèle"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Type de modèle cible pour l'image"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Commentaire"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Commentaire sur la pièce jointe"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Date de téléchargement"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Date de téléchargement du fichier"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Taille du fichier"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Taille du fichier en octets"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Type de modèle non valide spécifié pour la pièce jointe"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "État personnalisé"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "États membres de l'Union européenne"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Ensemble d'états de référence"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Ensemble d'états étendu à cet état personnalisé"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Clé logique"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Clé logique de l'état qui est égale à cet état personnalisé dans la logique métier"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valeur"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Valeur numérique qui sera enregistrée dans la base de données des modèles"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Nom de l'Etat"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Étiquette"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiquette qui sera affichée dans le frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Couleur"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Couleur qui sera affichée dans le frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modèle"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Modèle cet état est associé à"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Le modèle doit être sélectionné"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "La clé doit être sélectionnée"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "La clé logique doit être sélectionnée"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "La clé doit être différente de la clé logique"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Une classe de statut de référence valide doit être fournie"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "La clé doit être différente des clés logiques de l'état de référence"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "La clé logique doit se trouver dans les clés logiques de l'état de référence"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Le nom doit être différent des noms des statuts de référence"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Liste de sélection"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Listes de sélection"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Nom de la liste de sélection"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Description de la liste de sélection"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Verrouillé"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Cette liste de sélection est-elle verrouillée ?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Cette liste de sélection peut-elle être utilisée ?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Plug-in source"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Plugin qui fournit la liste de sélection"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Chaîne source"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Chaîne facultative identifiant la source utilisée pour cette liste"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Entrée par défaut"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Entrée par défaut pour cette liste de sélection"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Créé le"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Date et heure de création de la liste de sélection"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Dernière mise à jour"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Date et heure de la dernière mise à jour de la liste de sélection"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Entrée de la liste de sélection"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Entrées de la liste de sélection"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Liste de sélection à laquelle appartient cette entrée"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Valeur de l'entrée de la liste de sélection"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Étiquette pour l'entrée de la liste de sélection"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Description de l'entrée de la liste de sélection"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Cette entrée de la liste de sélection est-elle active ?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Modèle de paramètre"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Modèle de paramètre"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Les paramètres des cases à cocher ne peuvent pas avoir d'unités"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Les paramètres des cases à cocher ne peuvent pas comporter de choix"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Les choix doivent être uniques"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Le nom du modèle de paramètre doit être unique"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Type de modèle cible pour ce modèle de paramètre"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nom du paramètre"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unités"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Unités physiques pour ce paramètre"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Description des paramètres"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Case à cocher"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Ce paramètre est-il une case à cocher ?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Choix"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Choix valables pour ce paramètre (séparés par des virgules)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Liste de sélection pour ce paramètre"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Activé"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Ce modèle de paramètre est-il activé ?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Paramètre"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Paramètres"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Choix incorrect pour la valeur du paramètre"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Type de modèle non valide pour la pièce jointe"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "Identifiant du Modèle (ID)"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "ID du modèle cible pour ce paramètre"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Modèle"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Modèle de paramètre"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Données"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Valeur du paramètre"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Note"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Champ de notes facultatif"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Analyse du code-barres"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Données du code-barres"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Utilisateur qui a scanné le code-barres"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Horodatage"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Date et heure du scan de code-barres"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Point d'accès à l'URL qui a traité le code-barres"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contexte"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Données contextuelles pour la lecture du code-barres"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Réponse"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Données de réponse provenant de la lecture du code-barres"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Résultat"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "La lecture du code-barres a-t-elle réussi ?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Une erreur s'est produite"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8 : La suppression du journal d'e-mail est protégée. Définissez INVENTREE_PROTECT_EMAIL_LOG à False pour permettre la suppression."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "Message email"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "Messages email"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Annoncé"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Envoyé"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Échec"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Livré"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Confirmé"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Entrant"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Sortant"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Sans réponse"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Suivi de livraison"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Suivi de la lecture"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Suivi du clic"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "ID Global"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Identifiant pour ce message (peut être fourni par un système externe)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID du sujet de discussion"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Identifiant pour ce fil de message (peut être fourni par un système externe)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Fil de discussion"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Fil lié à ce message"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "Priorité"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Fil d'Email"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Fils d'Emails"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Clé"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Clé unique pour ce fil (utilisée pour identifier le fil)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Identifiant unique pour ce fil"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Démarré en interne"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Est-ce que ce fil a été démarré en interne ?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Date et heure de création du fil"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Date et heure de dernière mise à jour du fil"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} annulé"
msgid "A order that is assigned to you was canceled"
msgstr "Une commande qui vous est assignée a été annulée"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Articles reçus"
@@ -2351,93 +2359,101 @@ msgstr "Des articles d'un bon de commande ont été reçus"
msgid "Items have been received against a return order"
msgstr "Les articles ont été reçus dans le cadre d'un ordre de retour"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Indique si la modification de ce paramètre nécessite une confirmation"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Ce paramètre nécessite une confirmation avant les changements. Veuillez confirmer."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Indique si le paramètre est écrasé par une variable d'environnement"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Écraser"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "En cours d'exécution"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Tâches en attente"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tâches planifiées"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tâches échouées"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID de la tâche"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ID unique de la tâche"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Verrouillé"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Heure verrouillé"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nom de la tâche"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Fonction"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nom de la fonction"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Arguments"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Arguments tâche"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Mots-clés Arguments"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Mots-clés arguments tâche"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nom du fichier"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Type de modèle"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "L'utilisateur n'a pas le droit de créer ou de modifier des pièces jointes pour ce modèle"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "L'utilisateur n'a pas le droit de créer ou de modifier les paramètres de ce modèle."
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "La liste de sélection est verrouillée"
@@ -2445,1128 +2461,1157 @@ msgstr "La liste de sélection est verrouillée"
msgid "No group"
msgstr "Pas de groupe"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "L'URL du site est verrouillée par configuration"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Redémarrage nécessaire"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migration en attente"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Nombre de migrations de base de données en attente"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Codes warning actifs"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Un dictionnaire de codes d'avertissement actifs"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID de l'instance"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Identifiant unique pour cette instance InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Annoncer l'ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Annoncer l'ID d'instance du serveur dans l'info sur l'état du serveur (non authentifié)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nom de l'instance du serveur"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Chaîne de caractères descriptive pour l'instance serveur"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Utiliser le nom de l'instance"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Utiliser le nom de l’instance dans la barre de titre"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Limiter l'affichage de `about`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Afficher la modale `about` uniquement aux super-utilisateurs"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nom de la société"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nom de société interne"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL de base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL de base pour l'instance serveur"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Devise par défaut"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Sélectionnez la devise de base pour les calculs de prix"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Devises supportées"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Liste des codes de devises supportés"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervalle de mise à jour des devises"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour désactiver)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "jours"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Plugin de mise à jour de devise"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Plugin de mise à jour des devises à utiliser"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Télécharger depuis l'URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limite du volume de téléchargement"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Taille maximale autorisée pour le téléchargement de l'image distante"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Validation stricte d'URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Spécification du schéma nécessaire lors de la validation des URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Intervalle de vérification des mises à jour"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Backup automatique"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Activer le backup automatique de la base de données et des fichiers médias"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervalle de sauvegarde automatique"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervalle de suppression des tâches"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervalle de suppression du journal d'erreur"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervalle de suppression du journal de notification"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Intervalle de suppression d'Email"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Les Emails seront supprimés après le nombre de jours spécifié"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Protéger le log d'Email"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Empêcher la suppression des entrées du log d'email"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Support des code-barres"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Activer le support du scanner de codes-barres dans l'interface web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Résultats des codes-barres des magasins"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Stocker les résultats de la lecture du code-barres dans la base de données"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Scanners de codes-barres Comptage maximal"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Nombre maximum de résultats de lecture de codes-barres à stocker"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Délai d'entrée du code-barres"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Délai de traitement du code-barres"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Prise en charge de la webcam code-barres"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Code-barres Afficher les données"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Afficher les données du code-barres dans le navigateur sous forme de texte"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Plugin de génération de codes-barres"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Plugin à utiliser pour la génération interne de données de code-barres"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Modifications de la pièce"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Activer le champ de modification de la pièce"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Révision de l'assemblage uniquement"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "N'autoriser les révisions que pour les pièces d'assemblage"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Autoriser la suppression de l'Assemblée"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Permettre la suppression de pièces utilisées dans un assemblage"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copier les données de la pièce"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copier les données des paramètres de la pièce"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copier les données de test de la pièce"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copier les données de test par défaut lors de la duplication d'une pièce"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copier les templates de paramètres de catégorie"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Composant"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Achetable"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Vendable"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuelle"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Les pièces sont virtuelles par défaut"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Afficher les pièces connexes"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Afficher les pièces connexes à une pièce"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Stock initial"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Données initiales du fournisseur"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Format d'affichage du nom de la pièce"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Format pour afficher le nom de la pièce"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Icône de catégorie par défaut"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Nombre minimal de décimales"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Nombre maximal de décimales pour la tarification"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Nombre maximal de décimales à afficher lors du rendu des données de tarification"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Utiliser le prix fournisseur"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Inclure les réductions de prix dans le calcul du prix global"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Remplacer l'historique des achats"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Utiliser les prix des articles en stock"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Âge de tarification des articles de stock"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Utiliser les prix variants"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Inclure la tarification variante dans le calcul global des prix"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Variantes actives uniquement"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Mise à jour automatique des prix"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Mettre à jour automatiquement les prix des pièces quand les données internes changes"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervalle de regénération des prix"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Prix internes"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Activer les prix internes pour les pièces"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Substitution du prix interne"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Activer l'impression d'étiquettes"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Activer l'impression d'étiquettes depuis l'interface Web"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Étiquette image DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Activer les rapports"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Activer la génération de rapports"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Mode Débogage"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Générer des rapports en mode debug (sortie HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Journal des erreurs"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Enregistrer les erreurs qui se produisent lors de la génération de rapports"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Taille de la page"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Taille de page par défaut pour les rapports PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Renforcer les unités des paramètres"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Numéro de Série Universellement Unique"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Supprimer le stock épuisé"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Modèle de code de lot"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Modèle pour générer des codes par défaut pour les articles en stock"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Expiration du stock"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Activer la fonctionnalité d'expiration du stock"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vendre le stock expiré"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Autoriser la vente de stock expiré"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Délai de péremption du stock"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Construction de stock expirée"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Autoriser la construction avec un stock expiré"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Contrôle de la propriété des stocks"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Icône par défaut de l'emplacement du stock"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Afficher les pièces en stock installées"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Affichage des articles en stock installés dans les tableaux de stock"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Vérifier la nomenclature lors de l'installation des articles"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Les articles de stock installés doivent exister dans la nomenclature de la pièce mère"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Autoriser le transfert des produits en rupture de stock"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Permettre le transfert d'articles qui ne sont pas en stock d'un magasin à l'autre"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Modèle de référence de commande de construction"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Nécessite un Responsable propriétaire"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Un propriétaire responsable doit être assigné à chaque commande"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Exiger une partie active"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Empêcher la création d'un ordre de fabrication pour les pièces inactives"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Requiert une pièce verrouillée"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Empêcher la création d'un ordre de fabrication pour les pièces non verrouillées"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Exiger une nomenclature valide"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Empêcher la création d'un ordre de fabrication si la nomenclature n'a pas été validée"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Exiger des ordonnances fermées pour les enfants"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Empêcher l'achèvement de l'ordre de construction jusqu'à ce que tous les ordres d'enfants soient clôturés"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Ordres de fabrication externes"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Activer la fonctionnalité d'ordre de fabrication externe"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blocage jusqu'à la réussite des tests"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Empêcher l'achèvement des résultats de la construction jusqu'à ce que tous les tests requis soient réussis"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Activer les retours de commandes"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Modèle de référence de retour de commande"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Modèle requis pour générer le champ de référence de la commande de retour"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Modifier les retours de commandes terminées"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Autoriser la modification des retours après leur enregistrement"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Modèle de référence de bon de commande"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modèle requis pour générer le champ de référence du bon de commande"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Expédition par défaut du bon de commande"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Activer la création d'expédition par défaut avec les bons de commandes"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Modifier les commandes de vente terminées"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "L'expédition nécessite une vérification"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "Empêcher l'achèvement des envois jusqu'à ce que les articles aient été vérifiés"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Marquer les commandes expédiées comme achevées"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Les commandes marquées comme expédiées seront automatiquement complétées, en contournant le statut « expédié »"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Modèle de référence de commande d'achat"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modèle requis pour générer le champ de référence de bon de commande"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Modifier les bons de commande terminés"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Convertir la monnaie"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Convertir la valeur de l'article dans la devise de base lors de la réception du stock"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Achat automatique des commandes"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Marquer automatiquement les bons de commande comme terminés lorsque tous les articles de la ligne sont reçus"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Activer l'inscription SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Activer la synchronisation du groupe SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Permettre la synchronisation des groupes InvenTree avec les groupes fournis par l'IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Clé du groupe SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Le nom de l'attribut de revendication de groupe fourni par l'IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Carte de groupe SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Une correspondance entre les groupes SSO et les groupes InvenTree locaux. Si le groupe local n'existe pas, il sera créé."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Supprimer les groupes en dehors de SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Indique si les groupes attribués à l'utilisateur doivent être supprimés s'ils ne sont pas gérés par l'IdP. La désactivation de ce paramètre peut entraîner des problèmes de sécurité"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email requis"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Mot de passe deux fois"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Domaines autorisés"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commençant par @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grouper sur inscription"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'enregistrement. Si la synchronisation des groupes SSO est activée, ce groupe n'est défini que si aucun groupe ne peut être attribué par l'IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Forcer l'authentification multifacteurs"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Activer ce paramètre demandera à tous les utilisateurs de configurer l'authentification multi-facteurs. Toutes les sessions seront déconnectées immédiatement."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Vérifier les plugins au démarrage"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Vérifier les mises à jour des plugins"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Activer les vérifications périodiques pour les mises à jour des plugins installés"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Activer l'intégration d'URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Autoriser les plugins à ajouter des chemins URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Activer l'intégration de navigation"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Activer les plugins à s'intégrer dans la navigation"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Activer l'intégration du planning"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Autoriser les plugins à éxécuter des tâches planifiées"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Activer l'intégration des évènements"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Autoriser les plugins à répondre aux évènements internes"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Permettre l'intégration de l'interface"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Permettre aux plugins de s'intégrer dans l'interface utilisateur"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Activer l'intégration mail"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Autoriser les plugins à traiter les mails entrants/sortants"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Activer les codes de projet"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Activer les codes de projet pour le suivi des projets"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Activer l'historique du stock"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Activer la fonctionnalité d'enregistrement des historiques de niveaux de stock et de leur valeur"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Exclure les localisations externes"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Exclure les articles en stock externes des calculs d'historique"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Période de l'inventaire automatique"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Nombre de jours entre les enregistrements d'historique de stock"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Supprimer les vieilles entrées d'historique de stock"
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Supprimer les entrées d'historique de stock plus vieilles que le nombre de jours spécifié"
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Intervalle de suppression des historiques de stock"
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Les entrées d'historique de stock seront supprimées après le nombre de jours spécifié"
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Afficher les noms des utilisateurs"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Afficher les noms complets des utilisateurs au lieu des noms d'utilisateur"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "Afficher les profils d'utilisateur"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "Afficher les profils des utilisateurs sur leur page de profil"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Activer les données de station de test"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Activer la collecte des données de la station de test pour les résultats de test"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Afficher les noms des utilisateurs"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Afficher les noms complets des utilisateurs au lieu des noms d'utilisateur"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "Afficher les profils d'utilisateur"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "Afficher les profils des utilisateurs sur leur page de profil"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Activer les données de station de test"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Activer la collecte des données de la station de test pour les résultats de test"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3596,11 +3641,11 @@ msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharg
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Scanner de codes-barres dans les champs de formulaire"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Autoriser la saisie du scanner de code-barres dans les champs de formulaire"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3868,7 +3913,7 @@ msgstr "Sauvegarder les dernières machines d'impression utilisées par un utili
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Tous les modèles"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "La pièce est active"
msgid "Manufacturer is Active"
msgstr "Le fabricant est actif"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Le fournisseur de la pièce est active"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "La pièce interne est active"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Le fournisseur est actif"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabricant"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Société"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "A du stock"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Entreprises"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Description de la société"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Description de la société"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Site web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Site Web de la société"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Numéro de téléphone"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Numéro de téléphone de contact"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Adresse e-mail de contact"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contact"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Point de contact"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Cette entreprise est-elle active ?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Le client est-il"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Vendez-vous des objets à cette entreprise?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Le fournisseur est-il"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Est-ce que vous achetez des articles à cette entreprise?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Le fabricant est-il"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Devise par défaut utilisée pour cette entreprise"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "N° de TVA"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "Numéro d'identification fiscale de l'entreprise"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adresse"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adresses"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Sélectionner une entreprise"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Intitulé de l'adresse"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Titre décrivant la saisie de l'adresse"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Adresse principale"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Sélectionner comme adresse principale"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Ligne 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adresse"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Ligne 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Seconde ligne d'adresse"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Code postal"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Ville / Région"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Code postal Ville / Région"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "État / Province"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "État ou province"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Pays"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Pays"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notes du livreur"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Instructions pour le livreur"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Notes pour la livraison interne"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notes internes pour la livraison"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Lien vers les informations de l'adresse (externe)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Pièces du fabricant"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Pièce de base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Sélectionner une partie"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Sélectionner un fabricant"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "Référence fabricant"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Référence du fabricant"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL pour le lien externe de la pièce du fabricant"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Description de la pièce du fabricant"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Les unités d'emballage doivent être compatibles avec les unités de base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Les unités d'emballage doivent être supérieures à zéro"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Fournisseur"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Sélectionner un fournisseur"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unité de gestion des stocks des fournisseurs"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Cette partie du fournisseur est-elle active ?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Sélectionner un fabricant"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "Lien de la pièce du fournisseur externe"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Frais minimums (par exemple frais de stock)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Conditionnement"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Conditionnement de l'article"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Nombre de paquet"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Quantité totale fournie dans un emballage unique. Laisser vide pour les articles individuels."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "plusieurs"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Commande multiple"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Quantité disponible auprès du fournisseur"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilité mise à jour"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Date de dernière mise à jour des données de disponibilité"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Rupture de prix pour le fournisseur"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Renvoie la représentation sous forme de chaîne de caractères de l'adresse principale. Cette propriété existe pour des raisons de compatibilité ascendante."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Devise par défaut utilisée pour ce fournisseur"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Nom de l'entreprise"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "En Stock"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "Ruptures de prix"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Une erreur s'est produite lors de l'exportation des données"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Le plugin d'exportation de données renvoie un format de données incorrect"
@@ -4318,119 +4367,119 @@ msgstr "Placé"
msgid "Invalid status code"
msgstr "Code d'état invalide"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Fichier de données"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Fichier de données à importer"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Colonnes"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Type de modèle cible pour cette session d'importation"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Statut de l'importation"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Champs par défaut"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Remplacements de champs"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filtres de terrain"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Mettre à jour les enregistrements existants"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Si activé, les enregistrements existants seront mis à jour avec de nouvelles données"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Certains champs obligatoires n'ont pas été cartographiés"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Identifiant de base de données existant pour l'enregistrement"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "La colonne est déjà associée à un champ de la base de données"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Le champ est déjà associé à une colonne de données"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Le mappage des colonnes doit être lié à une session d'importation valide"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "La colonne n'existe pas dans le fichier de données"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Le champ n'existe pas dans le modèle cible"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Le champ sélectionné est en lecture seule"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Session d'importation"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Champ d'application"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Colonne"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Index des lignes"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Données de la ligne d'origine"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Erreurs"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Valide"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "L'ID est requis pour mettre à jour les enregistrements existants."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Aucun enregistrement trouvé avec l'ID fourni"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Format d'ID invalide"
@@ -4530,7 +4579,7 @@ msgstr "Nombre de copies à imprimer pour chaque étiquette"
msgid "Connected"
msgstr "Connecté"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Inconnu"
@@ -4540,7 +4589,7 @@ msgstr "Impression"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "Attention"
#: machine/machine_types/label_printer.py:235
msgid "No media"
@@ -4556,7 +4605,7 @@ msgstr "Déconnecté"
#: machine/machine_types/label_printer.py:238
msgid "Error"
-msgstr ""
+msgstr "Erreur"
#: machine/machine_types/label_printer.py:245
msgid "Label Printer"
@@ -4628,11 +4677,11 @@ msgstr "Type de configuration"
#: machine/serializers.py:24
msgid "Key of the property"
-msgstr ""
+msgstr "Clé de la propriété"
#: machine/serializers.py:27
msgid "Value of the property"
-msgstr ""
+msgstr "Valeur de la propriété"
#: machine/serializers.py:30 users/models.py:238
msgid "Group"
@@ -4640,123 +4689,135 @@ msgstr "Groupe"
#: machine/serializers.py:30
msgid "Grouping of the property"
-msgstr ""
+msgstr "Regroupement de la propriété"
#: machine/serializers.py:33
msgid "Type"
-msgstr ""
+msgstr "Type"
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "Type de la propriété"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "Progression maximale"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
-msgstr ""
+msgstr "Valeur maximale pour le type de progression, requis si type=progress"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Référence de commande"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Remarquable"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "A le code du projet"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Créé par"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Créé avant"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Créé après"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "A la date de début"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Date de début Avant"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Date de début Après"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "A une date cible"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Date cible Avant"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Date cible Après"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Possède un Tarif"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Terminé avant"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Terminé après"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Ordre de fabrication externe"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Commande"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Commande Complétée"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Pièces Internes"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Commande En Attente"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Terminé"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Fait l'objet d'une expédition"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Commande d’achat"
msgid "Sales Order"
msgstr "Commandes"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Prix Total"
msgid "Total price for this order"
msgstr "Prix total pour cette commande"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Devise de la commande"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Devise de cette commande (laisser vide pour utiliser la devise par défaut de l'entreprise)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Cette commande est verrouillée et ne peut être modifiée"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Le contact ne correspond pas à l'entreprise sélectionnée"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "La date de début doit être antérieure à la date cible"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "L'adresse ne correspond pas à la société sélectionnée"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Description de la commande (facultatif)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Sélectionner le code du projet pour cette commande"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Lien vers une page externe"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Date de début"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Date de début prévue pour cette commande"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Date Cible"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Date d'émission"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Date d'émission de la commande"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Utilisateur ou groupe responsable de cette commande"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Point de contact pour cette commande"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Adresse de l'entreprise pour cette commande"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Référence de la commande"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "État"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Statut de la commande d'achat"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Société de laquelle les articles sont commandés"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Référence du fournisseur"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Code de référence de la commande fournisseur"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "reçu par"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Date à laquelle la commande a été complété"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destination"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Destination des articles reçus"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Le fournisseur de la pièce doit correspondre au fournisseur de la commande"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Le poste ne correspond pas au bon de commande"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Il manque une pièce liée à l'article de la ligne"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "La quantité doit être un nombre positif"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Client"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Société à laquelle les articles sont vendus"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Statut de la commande client"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Référence client "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Code de référence de la commande du client"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Nom de l’expédition"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "expédié par"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "La commande est déjà terminée"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "La commande est déjà annulée"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Seule une commande ouverte peut être marquée comme complète"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "La commande ne peut pas être terminée car il y a des envois incomplets"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "L'ordre ne peut pas être achevé car les allocations sont incomplètes"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "L'ordre ne peut pas être complété car il y a des postes incomplets"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "La commande est verrouillée et ne peut être modifiée"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Nombre d'élement"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Référence du poste"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Notes sur les postes"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Date cible pour ce poste (laisser vide pour utiliser la date cible de la commande)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Description du poste (facultatif)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contexte supplémentaire pour cette ligne"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Prix unitaire"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Poste du bon de commande"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "La pièce du fournisseur doit correspondre à celle du fournisseur"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "L'ordre de fabrication doit être marqué externe"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Les ordres de fabrication ne peuvent être liées qu'à des pièces d'assemblage"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Les pièces d'ordre de fabrication doivent correspondre la pièce d'objet"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Pièce fournisseur"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Reçu"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Prix d'achat"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Prix d'achat unitaire"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Ordre de fabrication externe à remplir par cet élément de ligne"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Ligne supplémentaire du bon de commande"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Poste de commande client"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Seules les pièces vendues peuvent être attribuées à une commande"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Prix de vente"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Prix de vente unitaire"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Expédié"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Quantité expédiée"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Envoi de la commande client"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "L'adresse d'expédition doit correspondre au client"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "Adresse de livraison pour cet envoi"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Date d'expédition"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Date de Livraison"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Date de livraison de l'envoi"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Vérifié par"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Utilisateur qui a vérifié cet envoi"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Envoi"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Numéro d'expédition"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "N° de suivi"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Information de suivi des colis"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "N° de facture"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Numéro de référence de la facture associée"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Le colis a déjà été envoyé"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "L'expédition n'a pas d'articles en stock alloués"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "L'expédition doit être vérifiée avant de pouvoir être terminée"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Ligne supplémentaire de commande client"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Affectation des commandes clients"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "L'article de stock n'a pas été assigné"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Impossible d'allouer l'article en stock à une ligne avec une autre pièce"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Impossible d'allouer le stock à une ligne sans pièce"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "La quantité allouée doit être supérieure à zéro"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "La quantité doit être égale à 1 pour un article de stock sérialisé"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "La commande client ne correspond pas à l'expédition"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "L'envoi ne correspond pas à la commande client"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Ligne"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Référence de l'expédition de la commande client"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Article"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Sélectionner l'article de stock à affecter"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Saisir la quantité d'allocation de stock"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Retour Référence de la commande"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Entreprise à l'origine du retour des articles"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Statut du retour de commande"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Poste de l'ordre de retour"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "L'article en stock doit être spécifié"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "La quantité retournée dépasse la quantité en stock"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "La quantité retournée doit être supérieure à zéro"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Quantité non valide pour un article de stock sérialisé"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Sélectionner l'article à retourner par le client"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Date de réception"
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr "La date de réception de cet article en retour"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Résultats"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Résultat pour ce poste"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Coût associé au retour ou à la réparation de ce poste"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Ordre de retour Ligne supplémentaire"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID de commande"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID de l'ordre à dupliquer"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Copier des lignes"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Copier les postes de l'ordre original"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Copier les lignes supplémentaires"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Copier les postes supplémentaires de l'ordre original"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Copier les paramètres"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Postes de travail"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Lignes achevées"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplicata de commande"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Spécifier les options de duplication de cette commande"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "ID de commande invalide"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Nom du fournisseur"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "La commande ne peut pas être annulée"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Permettre la clôture d'une commande avec des postes incomplets"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "La commande comporte des postes incomplets"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "La commande n'est pas ouverte"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Tarification automobile"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Calculer automatiquement le prix d'achat sur la base des données de pièces du fournisseur"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Devise du prix d'achat"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Fusionner des éléments"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Fusionner en un seul poste les éléments ayant la même partie, la même destination et la même date cible"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Unité de gestion des stocks"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Numéro de pièce interne"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Nom de la pièce interne"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "La pièce du fournisseur doit être spécifiée"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Le bon de commande doit être spécifié"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Le fournisseur doit correspondre au bon de commande"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Le bon de commande doit correspondre au fournisseur"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Poste"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Sélectionner le lieu de destination des envois reçus"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Saisir le code de lot pour les articles de stock entrant"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Date d'expiration"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Saisir la date d'expiration des articles de stock entrant"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Entrez les numéros de série pour les articles de stock entrants"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Remplacer les informations d'emballage pour les articles en stock entrants"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Note supplémentaire pour les articles en stock entrant"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Code-barres"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Code-barres scanné"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Le code-barres est déjà utilisé"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Les postes doivent être fournis"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "L'emplacement de la destination doit être spécifié"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Les valeurs de code-barres fournies doivent être uniques"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Envois"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Envois terminés"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "Lignes allouées"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Devise du prix de vente"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Postes alloués"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Aucun détail sur l'expédition n'est fourni"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Le poste n'est pas associé à cette commande"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "La quantité doit être positive"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Entrez les numéros de série à allouer"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "L'envoi a déjà été effectué"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "L'envoi n'est pas associé à cette commande"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Aucune correspondance trouvée pour les numéros de série suivants"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Les numéros de série suivants sont indisponibles"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Poste de commande de retour"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Le poste ne correspond pas à l'ordre de retour"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Le poste a déjà été reçu"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Les articles ne peuvent être reçus que pour des commandes en cours"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Quantité à retourner"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Devise du prix de la ligne"
@@ -5532,1174 +5613,1226 @@ msgstr "Remboursement"
msgid "Reject"
msgstr "Refuser"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Bon de commande en souffrance"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Le bon de commande {po} est maintenant en retard"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Commande en souffrance"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "La commande {so} est maintenant en retard"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Ordre de retour en retard"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "L'ordre de retour {ro} est maintenant en retard"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Étoilé"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filtrer par catégories étoilées"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Profondeur"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtrer par profondeur de catégorie"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Premier niveau"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtrer par catégories de premier niveau"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Cascade"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Inclure les sous-catégories dans les résultats filtrés"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Parent"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filtrer par catégorie de parents"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Exclure les sous-catégories de la catégorie spécifiée"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "A des résultats"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Est variante"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Est la révision"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "A des révisions"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Nomenclature valide"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
-msgstr ""
+msgstr "Catégories en cascade"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
-msgstr ""
+msgstr "Si vrai, inclure des éléments dans les sous-catégories de la catégorie donnée"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
-msgstr ""
+msgstr "Filtrer par ID de catégorie numérique ou par 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "La pièce d'assemblage est active"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "La pièce d'assemblage est traçable"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "La pièce d'assemblage est testable"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Le composant est testable"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Utilise"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Catégorie de composant"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Catégories de composants"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Emplacement par défaut"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Emplacement par défaut des pièces de cette catégorie"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Structurel"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Les pièces ne peuvent pas être directement affectées à une catégorie structurelle, mais peuvent être affectées à des catégories enfantines."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Mots-clés par défaut"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Mots-clés par défaut pour les pièces de cette catégorie"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Icône"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Icône (facultatif)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Vous ne pouvez pas rendre cette catégorie de pièces structurelle car certaines pièces lui sont déjà affectées !"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Catégorie de pièce Modèle de paramètre"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valeur par Défaut"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valeur par défaut du paramètre"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Pièces"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Impossible de supprimer cette partie car elle est verrouillée"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Impossible de supprimer cette partie car elle est toujours active"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Impossible de supprimer cette pièce car elle est utilisée dans un assemblage"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "La partie \"{self}\" ne peut pas être utilisée dans la nomenclature de \"{parent}\" (récursif)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "La partie \"{parent}\" est utilisée dans la nomenclature de \"{self}\" (récursif)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "L'IPN doit correspondre au modèle de regex {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Une partie ne peut pas être une révision d'elle-même"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Impossible d'effectuer une révision d'une partie qui est déjà une révision"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Le code de révision doit être spécifié"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Les révisions ne sont autorisées que pour les pièces d'assemblage"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Impossible d'effectuer une révision d'un modèle de pièce"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "La partie parentale doit pointer vers le même modèle"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Il existe déjà un article en stock avec ce numéro de série"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "La révision de la pièce existe déjà en double."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Une pièce avec ce nom, IPN et révision existe déjà."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Les pièces ne peuvent pas être affectées à des catégories de pièces structurelles !"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nom de l'article"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Est un modèle"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Cette pièce est-elle une pièce modèle ?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Cette pièce est-elle une variante d'une autre pièce ?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante de"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Description de la pièce (facultatif)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Mots-clés"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Les mots-clés partiels pour améliorer la visibilité dans les résultats de recherche"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Numéro de révision ou de version de la pièce"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Révision"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Cette partie est-elle une révision d'une autre partie ?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Révision de"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Où cet article est-il normalement stocké ?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Fournisseur par défaut"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Pièce du fournisseur par défaut"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Expiration par défaut"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Délai d'expiration (en jours) pour les articles en stock de cette pièce"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Stock Minimum"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Niveau de stock minimum autorisé"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Unités de mesure pour cette partie"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Cette pièce peut-elle être fabriquée à partir d'autres pièces ?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Cette pièce peut-elle être utilisée pour construire d'autres pièces ?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Cette partie dispose-t-elle d'un suivi pour les articles uniques ?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Des résultats de tests peuvent-ils être enregistrés pour cette pièce ?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Cette pièce peut-elle être achetée auprès de fournisseurs externes ?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Cette pièce peut-elle être vendue aux clients ?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Est-ce que cette pièce est active ?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Les parties verrouillées ne peuvent pas être modifiées"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "S'agit-il d'un élément virtuel, tel qu'un logiciel ou une licence ?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Nomenclature validée"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Est-ce que la nomenclature pour cette pièce est correcte ?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Somme de contrôle de la nomenclature"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Somme de contrôle de la nomenclature enregistrée"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Nomenclature vérifiée par"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Date de vérification de la nomenclature"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Création Utilisateur"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Propriétaire responsable de cette pièce"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Devise utilisée pour cacher les calculs de prix"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Coût minimum de la nomenclature"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Coût minimal des composants"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Coût maximal de la nomenclature"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Coût maximal des composants"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Coût d'achat minimum"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Coût d'achat historique minimum"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Coût d'achat maximum"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Coût d'achat historique maximum"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Prix interne minimum"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Coût minimum basé sur des ruptures de prix internes"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Prix interne maximum"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Coût maximum basé sur les écarts de prix internes"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Prix minimum du fournisseur"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Prix minimum des pièces provenant de fournisseurs externes"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Prix maximum du fournisseur"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Prix maximum des pièces provenant de fournisseurs externes"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Coût minimum de la variante"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Calcul du coût minimum des pièces de la variante"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Coût maximal de la variante"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Calcul du coût maximal des pièces de la variante"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Coût minimal"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Remplacer le coût minimum"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Coût maximal"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Dépassement du coût maximal"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Calcul du coût minimum global"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Calcul du coût maximum global"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Prix de vente minimum"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Prix de vente minimum basé sur des ruptures de prix"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Prix de vente maximum"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Prix de vente maximum en fonction des écarts de prix"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Coût minimum de vente"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Prix de vente historique minimum"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Coût de vente maximum"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Prix de vente historique maximum"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Partie pour l'inventaire"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Nombre d'articles"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Nombre d'entrées individuelles au moment de l'inventaire"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Stock total disponible au moment de l'inventaire"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Date"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Date de l'inventaire"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Coût minimum du stock"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Coût minimum estimé des stocks disponibles"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Coût maximal du stock"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Coût maximum estimé des stocks disponibles"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Vente de pièces détachées Prix cassé"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Modèle de test partiel"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Le nom du modèle n'est pas valide - il doit comporter au moins un caractère alphanumérique"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Les modèles de test ne peuvent être créés que pour les parties testables"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Un modèle de test avec la même clé existe déjà pour la partie"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Entrez un nom pour le test"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Clé de test"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Clé simplifiée pour le test"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Description du test"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Saisir la description de ce test"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Ce test est-il activé ?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Requis"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Ce test est-il obligatoire pour passer l'examen ?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Valeur requise"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Ce test nécessite-t-il une valeur lors de l'ajout d'un résultat de test ?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Nécessite une pièce jointe"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Ce test nécessite-t-il un fichier joint lors de l'ajout d'un résultat de test ?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Choix valables pour ce test (séparés par des virgules)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "L'article de nomenclature ne peut pas être modifié - l'assemblage est verrouillé"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Le poste de nomenclature ne peut pas être modifié - l'assemblage de la variante est verrouillé"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Sélectionner la partie parentale"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sous-partie"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Sélectionner la pièce à utiliser dans la nomenclature"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Quantité de nomenclature pour ce poste de nomenclature"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Ce poste de nomenclature est facultatif"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ce poste de nomenclature est consommable (il n'est pas suivi dans les ordres de fabrication)."
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Définir la quantité"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Attrition"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Attrition estimée pour cette fabrication, exprimée en pourcentage (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Arrondi au multiple"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Arrondir la quantité de production requise au multiple le plus proche de cette valeur"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Référence du poste de nomenclature"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notes sur les postes de nomenclature"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Somme de contrôle"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Somme de contrôle de la ligne de nomenclature"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validée"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Ce poste de nomenclature a été validé"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Obtient l'héritage"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ce poste de nomenclature est hérité des nomenclatures des composants variants"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Les postes de stock pour les composants variants peuvent être utilisés pour ce poste de nomenclature"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "La quantité doit être un nombre entier pour les pièces pouvant être suivies"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "La sous-partie doit être spécifiée"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Remplacement d'un poste de nomenclature"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "La pièce de remplacement ne peut pas être identique à la pièce maîtresse"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Poste de nomenclature parent"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Pièce de rechange"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Première partie"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Partie 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Sélectionner une partie connexe"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Note pour cette relation"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Il n'est pas possible de créer une relation entre une pièce et elle-même"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Une relation en double existe déjà"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Catégorie de parents"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Catégorie de pièce mère"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Sous-catégories"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Résultats"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Nombre de résultats enregistrés par rapport à ce modèle"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Devise d'achat de l'item"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Le fichier n'est pas une image"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Partie originale"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Sélectionner la partie originale à dupliquer"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Copier l'image"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Copier l'image à partir de la partie originale"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copier la nomenclature"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Copie de la nomenclature de la pièce originale"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Copier les paramètres"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Copie des données de paramètres de la pièce d'origine"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Notes sur la copie"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Copier les notes de la partie originale"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Test Copie"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Quantité de stock initial"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Indiquer la quantité de stock initiale pour cette pièce. Si la quantité est égale à zéro, aucun stock n'est ajouté."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Emplacement initial du stock"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Spécifier l'emplacement du stock initial pour cette pièce"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Sélectionner le fournisseur (ou laisser en blanc pour passer)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Sélectionner le fabricant (ou laisser en blanc pour ignorer)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Numéro de pièce du fabricant"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "L'entreprise sélectionnée n'est pas un fournisseur valide"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "L'entreprise sélectionnée n'est pas un fabricant valide"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "La pièce du fabricant correspondant à ce MPN existe déjà"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Nom catégorie"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Construction"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Quantité de cette pièce actuellement en production"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Quantité exceptionnelle de cette pièce sont planifié à la fabrication"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Éléments en stock"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Révisions"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Fournisseurs"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Stock total"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Stock non attribué"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Variante Stock"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Dupliquer une pièce"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Copier les données initiales d'une autre partie"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Stock initial"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Créer une pièce avec une quantité de stock initiale"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Informations sur le fournisseur"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Ajouter les informations initiales du fournisseur pour cette pièce"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Copier les paramètres de la catégorie"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Copier les modèles de paramètres de la catégorie de pièces sélectionnée"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Image existante"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Nom de fichier d'une image de pièce existante"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Le fichier image n'existe pas"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Valider l'ensemble de la nomenclature"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Peut construire"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Nécessaire pour fabrication"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Alloué à la fabrication"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Nécessaire pour les commandes"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Alloué aux commandes"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Prix Minimum"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Remplacer la valeur calculée pour le prix minimum"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Prix minimum monnaie"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Prix Maximum"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Remplacer la valeur calculée pour le prix maximum"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Devise du prix maximum"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Mise à jour"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Mise à jour des prix pour cette pièce"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Impossible de convertir les devises fournies en {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Le prix minimum ne doit pas être supérieur au prix maximum"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Le prix maximum ne doit pas être inférieur au prix minimum"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Sélectionner l'assemblage parent"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Sélectionner le composant"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Supprimer les données existantes"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Supprimer les postes de nomenclature existants avant de les copier"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Inclure l'héritage"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Inclure les éléments de nomenclature hérités des pièces modélisées"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Sauter les lignes non valides"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Activez cette option pour ignorer les lignes non valides"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Copier les pièces de remplacement"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notification de stock faible"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Le stock disponible pour {part.name}, est tombé en dessous du niveau minimum configuré"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Pas de date d'expieatio"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Expire aujourd’hui"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} jours"
@@ -6732,108 +6865,108 @@ msgstr "Aucune action spécifiée"
msgid "No matching action found"
msgstr "Aucune action correspondante trouvée"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Aucune correspondance trouvée pour les données du code-barres"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Correspondance trouvée pour les données du code-barres"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Le modèle n'est pas pris en charge"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "L'instance de modèle n'a pas été trouvée"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Le code-barres correspond à l'article existant"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Aucune donnée correspondante n'a été trouvée"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Aucune pièce de fournisseur correspondante n'a été trouvée"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Plusieurs pièces de fournisseurs correspondantes trouvées"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Aucun plugin correspondant n'a été trouvé pour les données de code-barres"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Pièce du fournisseur assortie"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "L'article a déjà été reçu"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Pas de correspondance de plugin pour le code-barres du fournisseur"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Plusieurs postes correspondants trouvés"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Aucun poste correspondant n'a été trouvé"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Aucun ordre de vente n'a été fourni"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Le code-barres ne correspond pas à un article de stock existant"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Le poste de stock ne correspond pas au poste individuel"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Stock disponible insuffisant"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Article de stock attribué à la commande client"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Pas assez d'informations"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Trouvé l'article correspondant"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "La pièce du fournisseur ne correspond pas au poste"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Le poste est déjà clôturé"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Informations complémentaires requises pour l'obtention d'un poste budgétaire"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Poste de commande reçu"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Échec de la réception d'un poste"
@@ -6972,7 +7105,7 @@ msgstr "Prise en charge native des codes-barres"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Niveaux"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Quantité totale"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Données sur les stocks"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Inclure les données relatives au stock de pièces"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Données de tarification"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Inclure les données relatives au prix des pièces"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Données du fournisseur"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Inclure les données du fournisseur"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Données du fabricant"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Inclure les données du fabricant"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Données sur les suppléants"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Inclure les données des pièces de rechange"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Données de paramètres"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Inclure les données des paramètres de la pièce"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Exportateur de nomenclatures à plusieurs niveaux"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Prise en charge de l'exportation de nomenclatures multiniveaux"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "Niveau de la nomenclature"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Substituer {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Fournisseur {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "Fournisseur {n} UGS"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "Fournisseur {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Fabricant {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "Fabricant {n} MPN"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL du webhook entrant de Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "Imprimante d'étiquettes InvenTree"
msgid "Provides support for printing using a machine"
msgstr "Fournit un support pour l'impression à l'aide d'une machine"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "dernière utilisation"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Paramètres"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Clé du plugin"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Non du Plugin"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Plugin Package"
msgid "Plugin"
msgstr "Extension"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Aucun auteur trouvé"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Le plugin '{p}' n'est pas compatible avec la version actuelle d'InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Le plugin nécessite au moins la version {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Le plugin nécessite au maximum la version {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Installation non confirmée"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Le nom de l'emballage ou l'URL doivent être fournis"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Numéro de série"
@@ -8097,7 +8230,7 @@ msgstr "Rapport de test des articles en stock"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Éléments installés"
@@ -8130,495 +8263,519 @@ msgstr "Pas de résultat (obligatoire)"
msgid "No result"
msgstr "Pas de résultat"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Le fichier d'actifs n'existe pas"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Fichier image non trouvé"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "la balise part_image nécessite une instance de Part"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "la balise company_image nécessite une instance d'entreprise"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filtrer par profondeur de localisation"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Filtrer par lieux de premier niveau"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Inclure les sous-emplacements dans les résultats filtrés"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Emplacement parent"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtrer par emplacement parent"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Nom de la pièce (insensible à la casse)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Le nom de la pièce contient (insensible à la casse)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Nom de la pièce (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Partie IPN (insensible à la casse)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "La partie IPN contient (insensible à la casse)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Partie IPN (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Stock minimum"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Stock maximum"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Code de statut"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Emplacement externe"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Consommé par l'ordre de construction"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Installé dans un autre article en stock"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Arbre en pièces détachées"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Mise à jour avant"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Mise à jour après"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Inventaire avant"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Inventaire après"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Date d'expiration avant"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Date d’expiration après"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Périmé"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "La quantité est requise"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "La partie valide doit être fournie"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Le fournisseur donné n'existe pas"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "La pièce du fournisseur a une taille d'emballage définie, mais le drapeau use_pack_size n'est pas activé"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Les numéros de série ne peuvent pas être fournis pour une pièce non traçable"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Type d'emplacement du stock"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Types d'emplacements de stock"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Icône par défaut pour tous les lieux qui n'ont pas d'icône (facultatif)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Emplacement du stock"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Emplacement des stocks"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Propriétaire"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Sélectionner un propriétaire"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Les articles en stock ne peuvent pas être directement placés dans un emplacement de stock structurel, mais peuvent être placés dans des emplacements subordonnés."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Externe"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Il s'agit d'un emplacement de stock externe"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Type d'emplacement"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Type d'emplacement du stock de cet emplacement"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Vous ne pouvez pas rendre ce magasin structurel car certains articles de stock y sont déjà localisés !"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "La pièce doit être spécifiée"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Les articles en stock ne peuvent pas être localisés dans des emplacements de stock structurel !"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Il n'est pas possible de créer un article de stock pour les pièces virtuelles"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Le type de pièce ('{self.supplier_part.part}') doit être {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantité doit être de 1 pour un article avec un numéro de série"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "L'objet ne peut pas s'appartenir à lui-même"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "L'élément doit avoir une référence de construction si is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "La référence de construction ne pointe pas vers le même objet de pièce"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Poste de stock parent"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Pièce de base"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Sélectionnez une pièce fournisseur correspondante pour cet article en stock"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Où se trouve cet article en stock ?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "L'emballage de cet article en stock est stocké dans"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Installé dans"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "L'article a été installé dans un autre article ?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Code de lot pour cet article de stock"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Quantité en stock"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Source Construire"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Construire pour cet article en stock"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Consommé par"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Ordre de construction qui a consommé cet article de stock"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Bon de commande source"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Commande d'achat pour cet article en stock"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Destination de la commande client"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Date d'expiration de l'article en stock. Le stock sera considéré comme périmé après cette date"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Supprimer lors de l'épuisement"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Supprimer ce poste de stock lorsque le stock est épuisé"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Prix d'achat de l'unité unique au moment de l'achat"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Converti en partie"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "La pièce n'est pas définie comme pouvant faire l'objet d'un suivi"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "La quantité doit être un nombre entier"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "La quantité ne doit pas dépasser la quantité disponible en stock ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Les numéros de série doivent être fournis sous forme de liste"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Le modèle de test n'existe pas"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Un article de stock a été affecté à une commande client"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "L'article de stock est installé dans un autre article"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "L'article de stock contient d'autres articles"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Un article de stock a été affecté à un client"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "L'article de stock est actuellement en production"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Le stock sérialisé ne peut pas être fusionné"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Articles de stock en double"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Les articles en stock doivent se référer à la même pièce"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Les articles en stock doivent se référer à la même pièce du fournisseur"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Les codes d'état des stocks doivent correspondre"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "StockItem ne peut pas être déplacé car il n'est pas en stock"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Suivi des articles en stock"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Notes d'entrée"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Résultat du test de l'article en stock"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Une valeur doit être fournie pour ce test"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "La pièce jointe doit être téléchargée pour ce test"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Valeur non valide pour ce test"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Résultat du test"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Valeur de sortie du test"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Pièce jointe au résultat du test"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Notes de test"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Station de test"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "L'identifiant de la station de test où le test a été effectué"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Commencé"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Horodatage du début du test"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Fini"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Horodatage de la fin du test"
@@ -8662,246 +8819,246 @@ msgstr "Sélectionner la pièce pour laquelle un numéro de série doit être g
msgid "Quantity of serial numbers to generate"
msgstr "Nombre de numéros de série à générer"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Modèle de test pour ce résultat"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "L'ID du modèle ou le nom du test doit être fourni"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "L'heure de fin du test ne peut être antérieure à l'heure de début du test"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Article Parent"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Article de stock parent"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Utiliser la taille de l'emballage lors de l'ajout : la quantité définie est le nombre d'emballages"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Entrez les numéros de série pour les nouveaux articles"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Référence du fournisseur"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Expiré"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Éléments enfants"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Suivi des éléments"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Prix d'achat de cet article en stock, par unité ou par paquet"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Entrez le nombre d'articles en stock à sérialiser"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La quantité ne doit pas dépasser la quantité disponible en stock ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Emplacement du stock de destination"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Sélectionner l'article de stock à installer"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Quantité à installer"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Saisir la quantité d'articles à installer"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Ajouter une note de transaction (facultatif)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "La quantité à installer doit être d'au moins 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "L'article en stock n'est pas disponible"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "La pièce sélectionnée ne figure pas dans la nomenclature"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "La quantité à installer ne doit pas dépasser la quantité disponible"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Emplacement de destination de l'élément désinstallé"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Sélectionner la pièce à convertir en article de stock"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "La partie sélectionnée n'est pas une option valide pour la conversion"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Impossible de convertir un article de stock auquel un SupplierPart a été attribué"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Code d'état de l'article en stock"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Sélectionner les articles en stock pour modifier leur statut"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Aucun article en stock n'a été sélectionné"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sous-localisations"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Emplacement du stock mère"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "La pièce doit être vendable"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "L'article est affecté à une commande client"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "L'article est attribué à un ordre de fabrication"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Affectation d'articles en stock par le client"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "L'entreprise sélectionnée n'est pas un client"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Notes d'affectation des stocks"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Une liste des articles en stock doit être fournie"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notes sur les fusions d'actions"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Autoriser les fournisseurs non concordants"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Permettre la fusion d'articles en stock avec des pièces de fournisseurs différents"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Autoriser la non-concordance des statuts"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Permettre la fusion d'articles en stock ayant des codes de statut différents"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Au moins deux articles en stock doivent être fournis"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Pas de changement"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Valeur de la clé primaire StockItem"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "L'article n'est plus en stock"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Notes sur les transactions boursières"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Numéro de série suivant"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Numéro de série précédent"
@@ -9383,83 +9540,83 @@ msgstr "Ventes"
msgid "Return Orders"
msgstr "Commandes de retour"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nom d'utilisateur"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Prénom"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Prénom de l'utilisateur"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Nom"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Nom de famille de l'utilisateur"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Adresse e-mail de l'utilisateur"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Staff"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Cet utilisateur a-t-il les permissions du staff"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Super-utilisateur"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Cet utilisateur est-il un super-utilisateur"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Ce compte d'utilisateur est-il actif"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Seul un superutilisateur peut modifier ce champ"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Mot de passe"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Mot de passe pour l'utilisateur"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "Écraser l'alerte sur les règles de mot de passe"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Vous n'avez pas le droit de créer des utilisateurs"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Votre compte a été créé."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Veuillez utiliser la fonction de réinitialisation du mot de passe pour vous connecter"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Bienvenue dans InvenTree"
diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
index 7d0b5591e5..81077a0de9 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "למשתמש אין הרשאה לצפות במוזל הזה"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "אימייל (שנית)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "אישור כתובת אימייל"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "חובה לרשום את אותו אימייל בכל פעם."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -112,13 +104,13 @@ msgstr "הזן תאריך סיום"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr ""
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "מספרים סידוריים לא נמצאו"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "אימייל"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "הפניה חייבת להתאים לדפוס הנדרש"
msgid "Reference number is too large"
msgstr "מספר האסמכתה גדול מדי"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "שם"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "תיאור"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "תיאור (לא חובה)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "נתיב"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "שמות כפולים אינם יכולים להתקיים תחת אותו אב"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "הערות סימון (אופציונלי)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "נתוני ברקוד"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "נתוני ברקוד של צד שלישי"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "ברקוד Hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash ייחודי של נתוני ברקוד"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "נמצא ברקוד קיים"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "שגיאת שרת"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "נרשמה שגיאה על ידי השרת."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "מטבע"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "בחר מטבע מהאפשרויות הזמינות"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "סינית (פשוטה)"
msgid "Chinese (Traditional)"
msgstr "סינית (מסורתית)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr "קוד מטבע לא מאושר"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "מקור הבנייה"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "רכיב"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr "מקט"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "בחר רכיב לבנייה"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "כמות בניה"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "קישור חיצוני"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "כמות"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "מספרים סידוריים"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "מבוטל"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "הושלם"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "משתמש"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "קישור"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "קובץ מצורף"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "קובץ חסר"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "הערה"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "שם קובץ"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "מוקם"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "נשלח"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "לא פורטה הפעולה"
msgid "No matching action found"
msgstr "פעולה מבוקשת לא נמצאה"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "שם משתמש"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "שם פרטי"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
index 46f633e680..27059e8f92 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr ""
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -112,13 +104,13 @@ msgstr "तारीख दर्ज करें"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr ""
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "कनेक्शन त्रुटि"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "ई-मेल"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
index a43a916c80..4498b463bd 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API funkciót nem találom"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Tömeges művelethez tételek vagy szűrők megadása kötelező"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "A tételeket listában kell átadni"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Érvénytelen a tétel lista"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "A szűrőket dict - szótár - formában kell megadni"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Érvénytelen szűrők vannak megadva"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Minden szűrő csak true értékkel használható"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Nincs a szűrésnek megfelelő tétel"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Nincs adat megadva"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Ennek a mezőnek egyedinek kell lennie."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Nincs jogosultságod az adatok megtekintéséhez"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (újra)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Email cím megerősítés"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Mindig ugyanazt az email címet kell beírni."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "A megadott elsődleges email cím nem valós."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "A megadott email domain nincs jóváhagyva."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "{original} átváltása {unit}-ra sikertelen"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
@@ -112,13 +104,13 @@ msgstr "Dátum megadása"
msgid "Invalid decimal value"
msgstr "Érvénytelen decimális érték"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Megjegyzések"
@@ -131,75 +123,75 @@ msgstr "A(z) '{name}' érték nem a szükséges minta szerinti"
msgid "Provided value does not match required pattern: "
msgstr "A megadott érték nem felel meg a szükséges mintának: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Nem lehet 1000 tételnél többet szerializálni"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Üres sorozatszám"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplikált sorozatszám"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Érvénytelen csoport: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Csoport tartomány {group} több mint az engedélyezett ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nem található sorozatszám"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "A megadott számú egyedi sorozatszám ({n}) meg kell egyezzen a darabszámmal ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "HTML tag-ek eltávolítása ebből az értékből"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Az adatban tiltott markdown tartalom található"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Csatlakozási hiba"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Kivétel történt"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "A kiszolgáló érvénytelen Content-Length értéket adott"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "A kép mérete túl nagy"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "A kép letöltés meghaladja a maximális méretet"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "A kiszolgáló üres választ adott"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "A megadott URL nem egy érvényes kép fájl"
@@ -207,11 +199,11 @@ msgstr "A megadott URL nem egy érvényes kép fájl"
msgid "Log in to the app"
msgstr "Bejelentkezés az appba"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Mielőtt továbbmenne kötelező a kétfaktoros authentikációt engedélyeznie."
@@ -255,135 +247,126 @@ msgstr "Az azonosítónak egyeznie kell a mintával"
msgid "Reference number is too large"
msgstr "Azonosító szám túl nagy"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Név"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Leírás"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Leírás (opcionális)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Elérési út"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown megjegyzések (opcionális)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Vonalkód adat"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Harmadik féltől származó vonalkód adat"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Vonalkód hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Egyedi vonalkód hash"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Létező vonalkód"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Feladat hiba"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Az '{f}' háttérfeladat elbukott {n} próbálkozás után"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Kiszolgálóhiba"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Kép"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Pénznem"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Válassz pénznemet a lehetőségek közül"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Ez a mező nem lehet null."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Érvénytelen érték"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Távoli kép"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "A távoli kép URL-je"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Nem sikerült letölteni a képet a távoli URL-ről"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Érvénytelen tartalomtípus-formátum"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Tartalomtípus nem található"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "A tartalomtípus nem egyezik a szükséges mixin osztállyal"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Kínai (egyszerűsített)"
msgid "Chinese (Traditional)"
msgstr "Kínai (Hagyományos)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Frissítés elérhető"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "InvenTree frissítés elérhető"
@@ -553,30 +536,30 @@ msgstr "Érvénytelen fizikai mértékegység"
msgid "Not a valid currency code"
msgstr "Érvénytelen pénznem kód"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Rendelés állapota"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Szülő gyártás"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Változatokkal együtt"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Változatokkal együtt"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Változatokkal együtt"
msgid "Part"
msgstr "Alkatrész"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategória"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Szülő Gyártás"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Hozzám rendelt"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Hozzárendelve"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Ez előtt létrehozva"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Létrehozva ez után"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Van kezdeti dátuma"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Kezdeti dátum ez előtt"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Kezdeti dátum ez után"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Van céldátum"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Céldátum ez előtt"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Céldátum ez után"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Elkészült ez előtt"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Elkészült ez után"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Ettől a dátumtól"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Eddig a dátumig"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Fa kihagyása"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "A gyártást be kell fejezni a törlés előtt"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcionális"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Gyártmány"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Követett"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Ellenőrizhető"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Befejezetlen rendelés"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Lefoglalva"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Felhasználva"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Elérhető"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Rendelve"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr "Gyártás nem található"
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Gyártási utasítás"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Hely"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Kimenet"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Szűrés a kimeneti készlet tétel azonosítójára. Használj 'null'-t ha a be nem épített gyártási tételeket keresed."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Gyártási utasítások"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Az alkatrészjegyzék még nincs jóváhagyva"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Nem lehet inaktív alkatrészre Gyártást kezdeményezni"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Nem lehet lezáratlan alkatrészre Gyártást kezdeményezni"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Gyártási rendeléseket kizárólag beszerezhető alkatrészekkel lehet külső forrásból teljesíteni"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Meg kell adni felelős felhasználót vagy csoportot"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Gyártási rendelés alkatrész nem változtatható"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Céldátumnak a kezdeti dátum után kell lennie"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Gyártási utasítás azonosító"
msgid "Reference"
msgstr "Azonosító"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Gyártás rövid leírása (opcionális)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr "Gyártási megrendelés, amelyhez ez a gyártás hozzá van rendelve"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Válassz alkatrészt a gyártáshoz"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Vevői rendelés azonosító"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Vevői rendelés, amelyhez ez a gyártás tartozik"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Forrás hely"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Külső gyártás"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Ez a gyártási rendelés külsőleg teljesül"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Cél hely"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Válassz helyet ahol a kész tételek tárolva lesznek"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Gyártási mennyiség"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Gyártandó készlet tételek száma"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Kész tételek"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Elkészült készlet tételek száma"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Gyártási állapot"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Gyártás státusz kód"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Batch kód"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Létrehozás dátuma"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Gyártás kezdeti dátuma"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Gyártási rendelés ütemezett kezdeti dátuma"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Befejezés cél dátuma"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Befejezés dátuma"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "elkészítette"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Indította"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Felelős"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Külső link"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link külső URL-re"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Priorítás"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Gyártási utasítás priorítása"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Projektszám"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Projekt kód a gyártáshoz"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "A gyártási rendelés nem befejezhető amíg nyitott al-gyártások vannak"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "A gyártási rendelés nem befejezhető amíg hiányos a kimenet"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "A gyártási foglalások teljesítése háttérfeladat elvégzése nem sikerült"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "A {build} gyártási utasítás elkészült"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Gyártási utasítás elkészült"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nincs gyártási kimenet megadva"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Gyártási kimenet már kész"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Gyártási kimenet nem egyezik a gyártási utasítással"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "A mennyiség nem lehet több mint a gyártási mennyiség"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "A gyártási kimenet nem felelt meg az összes kötelező teszten"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten"
-#: build/models.py:1230
-msgid "Cannot partially complete a build output with allocated items"
-msgstr ""
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "A lefoglalt készletelemek még gyártás alatt vannak"
-#: build/models.py:1628
+#: build/models.py:1211
+msgid "Cannot partially complete a build output with allocated items"
+msgstr "Nem lehet részben befejezni egy építési kimenetet lefoglalt tételekkel"
+
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Gyártási Rendelés Sor Tétel"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Gyártás objektum"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,434 +1016,446 @@ msgstr "Gyártás objektum"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Mennyiség"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Gyártáshoz szükséges mennyiség"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Felhasznált készlet mennyisége"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "A lefoglalt mennyiségnek nullánál nagyobbnak kell lennie"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Lefoglalt mennyiség meghaladja az elérhető készletet"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Készlet tétel"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Forrás készlet tétel"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Beépítés ebbe"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Cél készlet tétel"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Gyártási Szint"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Alkatrész neve"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Projekt kód címke"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Gyártás kimenet"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Gyártási kimenet nem egyezik a szülő gyártással"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Ez a gyártási kimenet már elkészült"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Sorozatszámok"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Legyártott készlet helye"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Sorozatszámok automatikus hozzárendelése"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Selejtezet gyártási kimenetek helye"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Foglalások törlése"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Selejtezett kimenetek foglalásainak felszabadítása"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Selejtezés oka"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "A kész gyártási kimenetek helye"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Hiányos foglalás elfogadása"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Kimenetek befejezése akkor is ha a készlet nem\n"
"lett teljesen lefoglalva"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Lefoglalt készlet felhasználása"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Az összes ehhez a gyártáshoz lefoglalt készlet felhasználása"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Befejezetlen kimenetek törlése"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "A nem befejezett gyártási kimenetek törlése"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Nem engedélyezett"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Gyártásban fel lett használva"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Foglalás felszabadítása a készre jelentés előtt"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Túlfoglalt készlet"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Pár készlet tétel túl lett foglalva"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Kiosztatlanok elfogadása"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "A szükséges készlet nem lett teljesen lefoglalva"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Befejezetlenek elfogadása"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Szükséges gyártási mennyiség nem lett elérve"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "A Gyártásnak nyitott leszármazott Gyártása van"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "A Gyártásnak folyamatban kell lennie"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Gyártás sor"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Gyártás kimenet"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Gyártás sor tétel"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "A tételnek kell legyen készlete"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Rendelkezésre álló mennyiség ({q}) túllépve"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "A lefoglalandó tételeket meg kell adni"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Hely kizárása"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Készlet tételek kizárása erről a kiválasztott helyről"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Felcserélhető készlet"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Készlet helyettesítés"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Helyettesítő alkatrészek foglalásának engedélyezése"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Opcionális tételek"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Opcionális tételek lefoglalása a gyártáshoz"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "Összes elem"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "Nem követett tételek"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "Követett tételek"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "Tétel típusa"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "Válasszon tétel típust az automatikus foglaláshoz"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Alkatrészjegyzék Hivatkozás"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "Alkatrészjegyzék Cikk Azonosító"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Alkatrészjegyzék Alkatrész Név"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "Beépítés helye"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Gyártás"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Lefoglalt mennyiség"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Gyártási Hivatkozás"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Alkatrész kategória Neve"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Örökölt"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Változatok"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Gyártásban"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Gyártás Ütemezve"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Külső raktárkészlet"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Elérhető készlet"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Elérhető Helyettesítő Készlet"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Elérhető Készlet Változatokból"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "Felhasznált mennyiség meghaladja a lefoglalt mennyiséget"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Megjegyzés a készletfelhasználáshoz"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "Gyártási tételnek a megfelelő gyártási rendelésre kell mutatnia"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Dupla gyártási tétel lefoglalás"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "Gyártási sornak a megfelelő gyártási rendelésre kell mutatnia"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Duplikált gyártási sor foglalás"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Legalább egy tétel vagy sor megadása kötelező"
@@ -1475,67 +1479,71 @@ msgstr "Felfüggesztve"
msgid "Cancelled"
msgstr "Törölve"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Kész"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "A gyártási utasításhoz készlet szükséges"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "A {build} gyártási rendelésnek további készletre van szüksége"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Késésben lévő gyártás"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "A {bo} gyártás most már késésben van"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Ez egy hivatkozás"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Ez egy állomány"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "A felhasználó nem jogosult ezen mellékletek törlésére"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "A felhasználó nem jogosult ezen melléklet törlésére"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Érvénytelen valuta kód"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Létező valuta kód"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Hiányzó érvényes valuta kód"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Nincsen plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Projekt kód címke"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Frissítve"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Legutóbbi frissítés időpontja"
@@ -1547,778 +1555,778 @@ msgstr "Frissítette"
msgid "User who last updated this object"
msgstr "Az objektumot utoljára módosította"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Egyedi projektszám"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Projekt leírása"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "A projektért felelős felhasználó vagy csoport"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Beállítási kulcs"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Beállítás értéke"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "A kiválasztott érték nem egy érvényes lehetőség"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Az érték bináris kell legyen"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Az érték egész szám kell legyen"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Az értéknek számnak kell lennie"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Az érték nem felel meg az ellenőrzéseknek"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Kulcs string egyedi kell legyen"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Felhasználó"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Ár"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktív"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Titok"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Törzs"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Azonosító"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Cím"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Közzétéve"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Szerző"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Összefoglaló"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Elolvasva"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Elolvasva?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Képfájl"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "A képhez tartozó model típus"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "A képhez tartozó model azonosító"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Egyedi mértékegység"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "A mértékegység szimbólumának egyedinek kell lennie"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "A mértékegységnek valós azonosítónak kell lennie"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Egység neve"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Szimbólum"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Opcionális mértékegység szimbólum"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definíció"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Mértékegység definíció"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Melléklet"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Hiányzó fájl"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Modell típusa"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Képhez tartozó model típus"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Megjegyzés"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Melléklet megjegyzés"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Feltöltés dátuma"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "A fájl feltöltésének dátuma"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Fájl mérete"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Fájlméret bájtban"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "A melléklet model típusa érvénytelen"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Egyedi Állapot"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Egyedi Állapotok"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Hivatkozott Állapot Készlet"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Az az Állapot készlet, melyet ez az egyedi állapot kibővít"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Logikai kulcs"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Az állapot logikai kulcsa amely megegyezik az üzleti logika egyedi állapotával"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Érték"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "A model adatbázisba tárolandó szám"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Az állapot neve"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Címke"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "A felületen megjelenített címke"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Szín"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "A felöleten megjelenő szín"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "A Model amihez ez az állapot tartozik"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Modelt választani kötelező"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Kulcsot választani kötelező"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Logikai kulcsot választani kötelező"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "A kulcs és a logikai kulcs nem lehet azonos"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Helyes hivatkozási állapot osztályt kell megadni"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "A kulcsnak eltérőnek kell lennie a hivatkozott állapotok logikai kulcsaitól"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "A logikai kulcsnak szerepelnie kell a hivatkozott állapotok logikai kulcsai közt"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "A Névnek el kell térnie a referencia állapotok neveitől"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Választéklista"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Választéklisták"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Választéklista neve"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Választéklista leírása"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Lezárt"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Választéklista lezárva?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Választéklista használható?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Forrás plugin"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Választéklista szolgáltató plugin"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Forrás szöveg"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Elhagyható lista forrás azonosító szöveg"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Alapértelmezett bejegyzés"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Alapértelmezett elem ezen a listán"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Létrehozva"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Választéklista létrehozási dátuma és ideje"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Utoljára módosítva"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "A választéklista utolsó módosításának dátuma és ideje"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Választéklista bejegyzés"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Választéklista bejegyzések"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Választéklista amihez ez a bejegyzés tartozik"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Választéklista bejegyzés értéke"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Választéklista bejegyzés felirata"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Választéklista bejegyzés leírása"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Választéklista bejegyzés aktív?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Paraméter Sablonok"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "A lehetőségek egyediek kell legyenek"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Célmodell típusa ehhez a paramétersablonhoz"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Mértékegység"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Paraméter mértékegysége"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Jelölőnégyzet"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Ez a paraméter egy jelölőnégyzet?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Lehetőségek"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Választható lehetőségek (vesszővel elválasztva)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "A paraméter választéklistája"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Engedélyezve"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Ez a paramétersablon engedélyezett?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Paraméter"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Paraméterek"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Hibás választás a paraméterre"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Érvénytelen modelltípus megadva a paraméterhez"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "Modell ID"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "A célmodell azonosítója ehhez a paraméterhez"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Sablon"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Paraméter sablon"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Adat"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Megjegyzés"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Opcionális megjegyzés mező"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Vonalkód beolvasás"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Vonalkód adat"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Melyik felhasználó olvasta be a vonalkódot"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Időbélyeg"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Vonalkód beolvasás dátuma és ideje"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Vonalkód feldolgozó URL végpont"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontextus"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Vonalkód olvasás kontextus adat"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Válasz"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Vonalkód olvasó válasz adat"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Eredmény"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Vonalkód olvasás sikeres volt?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Hiba történt"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: Email napló törlés védett. Állítsd be az INVENTREE_PROTECT_EMAIL_LOG-ot False-ra hogy engedélyezd a törlést."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "E-mail üzenet"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "E-mail üzenetek"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Bejelentve"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Elküldve"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Megbukott"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Kiszállítva"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Megerősítve"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Bejövő"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Kimenő"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Nincs válasz"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Kiszállítás követése"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Olvasási visszaigazolás"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Kattintások nyomkövetése"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "Globális ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Üzenet azonosítója (külső rendszertől származhat)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "Szál ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Üzenet-sor azonosító (külső rendszerből származhat)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Szál"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Ehhez az üzenethez kapcsolódó üzenet-lánc"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "Prioritás"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Email szál"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Email szálak"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Kulcs"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Az üzenetlánc egyedi azonosítója (az üzenetlánc azonosítására szolgál)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Üzenetlánc egyedi azonosítója"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Belső kezdés"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Ez az üzenetlánc belül indult?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Az üzenetlánc kezdeti dátuma és ideje"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Az üzenetlánc utolsó módosításának dátuma és ideje"
@@ -2340,7 +2348,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:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Készlet érkezett"
@@ -2352,93 +2360,101 @@ msgstr "Készlet érkezett egy beszerzési megrendeléshez"
msgid "Items have been received against a return order"
msgstr "Készlet érkezett vissza egy visszavétel miatt"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Jelzi, hogy a beállítás módosítása megerősítést igényel-e"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Ez a beállítás módosítás előtt megerősítést igényel. Kérjük, erősítse meg a változtatást."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Ez a beállítás felül van bírálva egy környezeti változó által"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Felülbírálás"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Folyamatban"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Folyamatban lévő feladatok"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Ütemezett Feladatok"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Hibás feladatok"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Feladat ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Egyedi feladat ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Zárol"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Zárolási idő"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Feladat neve"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funkció"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funkció neve"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Paraméterek"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Feladat paraméterei"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Kulcsszó paraméterek"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Feladat kulcsszó paraméterek"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Fájlnév"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Modell típusa"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "A felhasználónak nincs joga létrehozni vagy módosítani ehhez a modelhez tartozó mellékleteket"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "A felhasználónak nincs jogosultsága paraméterek létrehozására vagy szerkesztésére ehhez a modellhez"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Választéklista lezárva"
@@ -2446,1131 +2462,1160 @@ msgstr "Választéklista lezárva"
msgid "No group"
msgstr "Nincs csoport"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "A site URL blokkolva van a konfigurációban"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Újraindítás szükséges"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Függőben levő migrációk"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Függőben levő adatbázis migrációk"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Aktív figyelmeztető kódok"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Aktív figyelmeztető kódok dict-je"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "Példány azonosító"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Az InvenTree példány egyedi azonosítója"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Bejelentési ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Azonosítsa-e magát az szerver a példányazonosítóval a szerver állapotban (authentikáció nélkül)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Kiszolgáló példány neve"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "String leíró a kiszolgáló példányhoz"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Példány név használata"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Példány név használata a címsorban"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Verzió infók megjelenítésének tiltása"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Cég neve"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Belső cégnév"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Kiindulási URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Kiindulási URL a kiszolgáló példányhoz"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Alapértelmezett pénznem"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Válassz alap pénznemet az ár számításokhoz"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Támogatott valuták"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Támogatott valuták listája"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Árfolyam frissítési gyakoriság"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "nap"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Árfolyam frissítő plugin"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Kiválasztott árfolyam frissítő plugin"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Letöltés URL-ről"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Letöltési méret korlát"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maximum megengedett letöltési mérete a távoli képeknek"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Felhasznált User-agent az URL-ről letöltéshez"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Erős URL validáció"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Sablon specifikáció igénylése az URL validálásnál"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Frissítés keresés gyakorisága"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatikus biztonsági mentés"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Adatbázis és média fájlok automatikus biztonsági mentése"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automata biztonsági mentés gyakorisága"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Hány naponta készüljön automatikus biztonsági mentés"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Feladat törlési gyakoriság"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Hibanapló törlési gyakoriság"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Értesítés törlési gyakoriság"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Felhasználói értesítések törlése megadott nap eltelte után"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Email törlési gyakoriság"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Email üzenetek törlése megadott nap eltelte után"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Email napló védett"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Megakadályozza az email napló bejegyzések törlését"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Vonalkód támogatás"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Vonalkód olvasó támogatás engedélyezése a web felületen"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Vonalkód olvasás eredmények tárolása"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Vonalkód olvasási eredmények tárolása az adatbázisban"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Maximálisan tárolt vonalkód olvasások mennyisége"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Maximálisan tárolt vonalkód olvasások száma"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Vonalkód beadási késleltetés"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Webkamerás vonalkód olvasás"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Webkamerás kódolvasás engedélyezése a böngészőből"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Vonalkód Adat Megjelenítése"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Vonalkód adat megjelenítése a böngészőben szövegként"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Vonalkód Generáló Plugin"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Belső vonalkód generálásra használatos plugin"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Alkatrész változatok"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Alkatrész változat vagy verziószám tulajdonság használata"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Csak Összeállítás Verzió"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Csak összeállított alkatrészeknek lehessen verziója"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Lehessen törölni az Összeállításból"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Lehessen olyan alkatrészt törölni ami Összeállításban szerepel"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN reguláris kifejezés"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Többször is előforduló IPN engedélyezése"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Azonos IPN használható legyen több alkatrészre is"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "IPN szerkesztésének engedélyezése"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Alkatrészjegyzék adatok másolása"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Alkatrész paraméterek másolása"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Alkatrész teszt adatok másolása"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kategória paraméter sablonok másolása"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Összetevő"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Értékesíthető"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuális"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Alkatrészek alapból virtuálisak legyenek"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Kapcsolódó alkatrészek megjelenítése"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Kezdeti készlet adatok"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Kezdeti beszállítói adatok"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Alkatrész név megjelenítés formátuma"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formátum az alkatrész név megjelenítéséhez"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Alkatrész kategória alapértelmezett ikon"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Áraknál használt tizedesjegyek min. száma"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Tizedejegyek minimális száma az árak megjelenítésekor"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Áraknál használt tizedesjegyek max. száma"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Tizedejegyek maximális száma az árak megjelenítésekor"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Beszállítói árazás használata"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Beszerzési előzmények felülbírálása"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Készlet tétel ár használata"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Készlet tétel ár kora"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Alkatrészváltozat árak használata"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Csak az aktív változatokat"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Csak az aktív alkatrészváltozatok használata az árazásban"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Árazás automatikus frissítése"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Alkatrész árazás automatikus frissítése belső adat változáskor"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Árazás újraszámítás gyakoriság"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Árak automatikus frissítése ennyi nap után"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Belső árak"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Alkatrészekhez belső ár engedélyezése"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Belső ár felülbírálása"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr "Nulla mennyiség engedélyezése az anyagjegyzékben"
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Címke nyomtatás engedélyezése"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Címke nyomtatás engedélyezése a web felületről"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Címke kép DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Riportok engedélyezése"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Riportok előállításának engedélyezése"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Debug mód"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Jelentési hibák naplózása"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Jelentések generálása közben jelentkező hibák naplózása"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Lapméret"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Csak választható mértékegységek"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globálisan egyedi sorozatszámok"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Kimerült készlet törlése"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Batch kód sablon"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Készlet lejárata"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Készlet lejárat kezelésének engedélyezése"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Lejárt készlet értékesítése"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Lejárt készlet értékesítésének engedélyezése"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Álló készlet ideje"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Hely alapértelmezett ikon"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Hely alapértelmezett ikon (üres ha nincs)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Beépített készlet megjelenítése"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Beépített készlet tételek megjelenítése a készlet táblákban"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Lehet Hiányzó Készletet Mozgatni"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Lehet-e olyan készleteket mozgatni készlethelyek között amik nincsenek raktáron"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Gyártási utasítás azonosító minta"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Felelős tulajdonos szükséges"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Minden rendeléshez felelőst kell rendelni"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Szükséges Aktív Alkatrész"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Inaktív alkatrészekre nem lehet Gyártási Rendelést létrehozni"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Elvárás a Lezárt Alkatrész"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Megakadályozza, hogy nem lezárt alkatrészekre gyártási rendelést lehessen indítani"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Jóváhagyott Alkatrészjegyzék Kötelező"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Megakadályozza gyártási rendelés készítését ha nincsen az Alkatrészjegyzék jóváhagyva"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Leszármazott Gyártásoknak Lezártnak Kell Lennie"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Amíg minden leszármazott gyártás le nincsen zárva nem lehet a szülő gyártást lezárni"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Külső Gyártási Rendelések"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Engedélyezze a külső gyártási rendelés funkciót"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blokkolás a tesztek sikeres végrehajtásáig"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Visszavétel engedélyezése"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Visszavételek engedélyezése a felületen"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Visszavétel azonosító minta"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Szükséges minta a visszavétel azonosító mező előállításához"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Befejezett visszavétel szerkesztése"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Visszavétel szerkesztésének engedélyezése befejezés után"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Vevői rendelés azonosító minta"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Vevői rendeléshez alapértelmezett szállítmány"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Befejezett vevői rendelés szerkesztése"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "Szállítmány Ellenőrzést Igényel"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "Megakadályozza a szállítmányok befejezését, amíg a tételeket nem ellenőrizték"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Leszállított Rendelések Készre jelölése"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Leszállítottnak jelölt Értékesítési rendelések automatikusan Kész-re lesznek állítva, a \"Leszállított\" állapot átugrásával"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Beszerzési rendelés azonosító minta"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Befejezett beszerzési rendelés szerkesztése"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Jelenlegi pénznem"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Tétel érték bázis-pénznemre váltása készlet beérkezéskor"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Beszerzési rendelések automatikus befejezése"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "SSO regisztráció engedélyezése"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "SSO csoport szinkronizálás engedélyezése"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Az InvenTree csoportok szinkronizálása a hitelesítésszolgáltatóhoz"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO csoport kulcs"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "A csoportkérés tulajdonság neve amit a hitelesítésszolgáltató nyújt"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "SSO csoport hozzárendelés"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Az SSO csoportok hozzárendelése az InvenTree csoportokhoz. Ha a helyi csoport nem létezik, létre lesz hozva."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Az SSO-n kívüli csoportok eltávolítása"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Ha egy felhasználóhoz rendelt csoport nem létezik az azonosításszolgáltatóban azt eltávolítsuk el. Ennek a kikapcsolása biztonsági problémákhoz vezethet"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email szükséges"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Engedélyezett domainek"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Ehhez a csoporthoz lesznek az új felhasználók rendelve. Ha az SSO csoport szinkronizálás engedélyezve van, akkor ez a csoport csak akkor lesz hozzárendelve a felhasználóhoz ha az azonosítás szolgáltató semmilyen csoportot nem rendelt hozzá."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Plugin frissítések ellenőrzése"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Interfész integráció engedélyezése"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Pluginok felhasználói felületbe épülésének engedélyezése"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Email integráció engedélyezése"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Pluginok bejövő/kimenő levelekhez hozzáférésének engedélyezése"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Projektszámok engedélyezése"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Projectek nyomkövetéséhez projekt kódok engedélyezése"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Készlettörténet engedélyezése"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "A készletek korábbi mennyiségének és értékének naplózásának engedélyezés"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Külső helyek nélkül"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "A külső helyszínen tárolt készletek kihagyása a készlet történet számításokból"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Automatikus leltár időpontja"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Az automatikus készletállapot rögzítések közötti napok száma"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Régi készlettörténet bejegyzések törlése"
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Adott napnál régebbi készlettörténet bejegyzések törlése"
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Készlettörténet törlési gyakoriság"
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Készlettörténet bejegyzések ennyi napo után törlődnek"
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Felhasználók teljes nevének megjelenítése"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "Felhasználói profilok megjelenítése"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "Felhasználói profilok megjelenítése a profil oldalukon"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Teszt állomás adatok engedélyezése"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
-msgid "Enable periodic ping task of registered machines to check their status"
+msgid "Stocktake entries will be deleted after specified number of days"
msgstr ""
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr "Készlettörténet törlési gyakoriság"
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Felhasználók teljes nevének megjelenítése"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "Felhasználói profilok megjelenítése"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "Felhasználói profilok megjelenítése a profil oldalukon"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Teszt állomás adatok engedélyezése"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr "Gép Ping Engedélyezése"
+
+#: common/setting/system.py:1187
+msgid "Enable periodic ping task of registered machines to check their status"
+msgstr "Időszakos ping feladat engedélyezése a regisztrált gépekhez az állapotuk ellenőrzésére"
+
#: common/setting/user.py:23
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
@@ -3597,11 +3642,11 @@ msgstr "PDF riport megjelenítése a böngészőben letöltés helyett"
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Vonalkód olvasó az Űrlap mezők között"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Vonalkód olvasó adatbevitel engedélyezése az űrlapokon"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3869,7 +3914,7 @@ msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Minden modell"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3912,366 +3957,370 @@ msgstr "Az alkatrész aktív"
msgid "Manufacturer is Active"
msgstr "A Gyártó Aktív"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "A Szállítói Alkatrész Aktív"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "A saját alkatrész Aktív"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "A Beszállító Aktív"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Gyártó"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Cég"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Van készleten"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Cégek"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Cég leírása"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "A cég leírása"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Weboldal"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Cég weboldala"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefonszám"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kapcsolattartó telefonszáma"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kapcsolattartó email címe"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Névjegy"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Kapcsolattartó"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Ez a vállalat aktív?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Vevő"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Értékesítesz alkatrészeket ennek a cégnek?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Beszállító"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Vásárolsz alkatrészeket ettől a cégtől?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Gyártó"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "Adószám"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "Céges adószám"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Cím"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Címek"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Cég kiválasztása"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Cím megnevezése"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Címhez tartozó leírás, megnevezés"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Elsődleges cím"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Beállítás elsődleges címként"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "1. sor"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Cím első sora"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "2. sor"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Cím második sora"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Irányítószám"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Város/Régió"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Irányítószám város/régió"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Állam/Megye"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Állam vagy megye"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Ország"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Cím országa"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Megjegyzés a futárnak"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Futárnak szóló megjegyzések"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Belső szállítási megjegyzések"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Szállítási megjegyzések belső használatra"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link a címinformációkhoz (külső)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Válassz alkatrészt"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Gyártó kiválasztása"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN (Gyártói cikkszám)"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Gyártói cikkszám"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL link a gyártói alkatrészhez"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Gyártói alkatrész leírása"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Beszállító"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Beszállító kiválasztása"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Beszállítói cikkszám"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Ez a szállítói termék aktív?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr "Elsődleges"
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Gyártói alkatrész kiválasztása"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL link a beszállítói alkatrészhez"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Csomagolás"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "többszörös"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Többszörös rendelés"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Beszállítónál elérhető mennyiség"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Elérhetőség frissítve"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Utolsó elérhetőségi adat frissítés"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Beszállítói Ár Kedvezmény"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Visszaadja az elsődleges cím szöveges változatát. Ez visszamenőleges kompatibilitás miatt kell."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Beszállító által használt alapértelmezett pénznem"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Cégnév"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Készleten"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "Árkategóriák"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Hiba történt adatexportálás közben"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Az adatexportáló plugin téves adatformátumot adott vissza"
@@ -4319,119 +4368,119 @@ msgstr "Kiküldve"
msgid "Invalid status code"
msgstr "Érvénytelen állapotkód"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Adat fájl"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Importálandó adatfájl"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Oszlopok"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Cél model típus ehhez az import munkához"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Betöltés állapota"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Mező Alapértelmezett Érték"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Mező Felülbírálás"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Mező Szűrők"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Frissítse a létező rekordokat"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Ha engedélyezett a meglévő rekordok frissítve lesznek az új adatokkal"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Néhány kötelező mező nem került hozzárendelésre"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Létező adatbázis azonosító a rekordhoz"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Oszlop már adatbázis mezőhöz lett rendelve"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Adatbázis mező már adatfájl oszlophoz lett rendelve"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Az oszlop összerendelésnek egy helyes importálási művelethez kell kapcsolódnia"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Az Oszlop nem létezik ebben a fájlban"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "A mező nem létezik a cél adatszerkezetben"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Kijelölt mező csak olvasható"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Importálási művelet"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Mező"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Oszlop"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Sor száma"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Eredeti sor adat"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Hibák"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Érvényes"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "ID-ra van szükség meglévő rekord frissítéshez."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Nem található rekord a megadott ID-vel"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Érvénytelen az ID formátuma"
@@ -4531,7 +4580,7 @@ msgstr "Címkénkénti nyomtatandó mennyiség"
msgid "Connected"
msgstr "Csatlakoztatba"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Ismeretlen"
@@ -4541,7 +4590,7 @@ msgstr "Nyomtatás"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "Figyelmeztetés"
#: machine/machine_types/label_printer.py:235
msgid "No media"
@@ -4557,7 +4606,7 @@ msgstr "Nincs kapcsolat"
#: machine/machine_types/label_printer.py:238
msgid "Error"
-msgstr ""
+msgstr "Hiba"
#: machine/machine_types/label_printer.py:245
msgid "Label Printer"
@@ -4629,11 +4678,11 @@ msgstr "Konfiguráció típusa"
#: machine/serializers.py:24
msgid "Key of the property"
-msgstr ""
+msgstr "A tulajdonság kulcsa"
#: machine/serializers.py:27
msgid "Value of the property"
-msgstr ""
+msgstr "A tulajdonság értéke"
#: machine/serializers.py:30 users/models.py:238
msgid "Group"
@@ -4641,123 +4690,135 @@ msgstr "Csoport"
#: machine/serializers.py:30
msgid "Grouping of the property"
-msgstr ""
+msgstr "A tulajdonság csoportosítása"
#: machine/serializers.py:33
msgid "Type"
-msgstr ""
+msgstr "Típus"
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "A tulajdonság típusa"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "Maximális Előrehaladás"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
-msgstr ""
+msgstr "Maximális érték az előrehaladás típushoz, kötelező ha típus=előrehaladás"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Rendelés azonosítója"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Kintlévő"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Van projektszáma"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Készítette"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Ez előtt létrehozva"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Létrehozva ez után"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Van kezdeti dátum"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Kezdeti dátum ez előtt"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Kezdeti dátum ez után"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Van céldátum"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Céldátum ez előtt"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Céldátum ez után"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Van árazás"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Ez előtt befejezve"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Befejezve ez után"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Külső Gyártási Rendelés"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Rendelés"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "A rendelés teljesítve"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Belső alkatrész"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "A rendelés függőben"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Kész"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Van kiszállítás"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4765,8 +4826,8 @@ msgstr "Beszerzési rendelés"
msgid "Sales Order"
msgstr "Vevői rendelés"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4782,722 +4843,742 @@ msgstr "Teljes ár"
msgid "Total price for this order"
msgstr "A rendelés teljes ára"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Rendelés pénzneme"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Egy a rendelés le van zárva és nem lehet módosítani"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "A kezdeti dátumnak meg kell előznie a céldátumot"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "A cím nem egyezik a kiválasztott vállalattal"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Rendelés leírása (opcionális)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Válassz projektszámot ehhez a rendeléshez"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link külső weboldalra"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Kezdés dátuma"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "A tervezett kezdeti dátum ehhez a gyártáshoz"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Cél dátum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Kiállítás dátuma"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Kiállítás dátuma"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr "Frissítve"
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Kapcsolattartó ehhez a rendeléshez"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Cég címei ehhez a rendeléshez"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Rendelés azonosító"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Állapot"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Beszerzési rendelés állapota"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Cég akitől a tételek beszerzésre kerülnek"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Beszállítói azonosító"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Beszállítói rendelés azonosító kód"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "érkeztette"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Rendelés teljesítési dátuma"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Cél"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Beérkezett tételek tárolója"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Sortétel nem egyezik a beszerzési megrendeléssel"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Sortételen hiányzik a kapcsolódó alkatrész"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Mennyiség pozitív kell legyen"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Vevő"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Cég akinek a tételek értékesítésre kerülnek"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Értékesítési rendelés állapot"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Vevői azonosító "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Megrendelés azonosító kódja a vevőnél"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "szállította"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Rendelés már teljesítve"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Rendelés már visszavonva"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Csak nyitott rendelés jelölhető késznek"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "A rendelést nem lehet befejezni mert hiányos foglalások vannak"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "A rendelés le van zárva és nem lehet módosítani"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Tétel mennyiség"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Sortétel azonosító"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Sortétel megjegyzései"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Sortétel leírása (opcionális)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "További kontextus ehhez a sorhoz"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Egységár"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Vevői Rendelés Sortétel"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Gyártási rendelést külsőnek kell jelölni"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Gyártási rendeléseket csak összeszerelhető alkatrészekhez lehet kapcsolni"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Gyártási rendelés alkatrészének meg kell egyeznie a sortétel alkatrésszel"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Beérkezett"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Beszerzési ár"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Beszerzési egységár"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Külső gyártási rendelés amit ez a sortétel teljesít"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Vevői Rendelés Extra Sor"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Vevői Rendelés Sortétel"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Eladási ár"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Eladási egységár"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Kiszállítva"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Szállított mennyiség"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Vevői Rendelés Szállítása"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "A szállítási címnek egyeznie kell az ügyféllel"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "Szállítási cím ehhez a szállítmányhoz"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Szállítás dátuma"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Szállítási dátum"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Kézbesítés dátuma"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Ellenőrizte"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Szállítmány"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Szállítmány száma"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Nyomkövetési szám"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Szállítmány nyomkövetési információ"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Számlaszám"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Hozzátartozó számla referencia száma"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Szállítmány már elküldve"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "A szállítmányt ellenőrizni kell, mielőtt befejezhetné"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Vevői Rendelés Extra Sor"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Vevői rendeléshez foglalások"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Készlet tétel nincs hozzárendelve"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Sor"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Vevői rendelés szállítmány azonosító"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Tétel"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Válaszd ki a foglalásra szánt készlet tételt"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Visszavétel azonosító"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Cég akitől a tételek visszavételre kerülnek"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Visszavétel állapota"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Visszavétel sortétel"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Készlettételt meg kell adni"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Visszavétel mennyisége meghaladja a készletet"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Visszavétel mennyisége nullánál nagyobb kell, hogy legyen"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Érvénytelen mennyiség szerializált készlettételnél"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Visszavétel dátuma"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Mikor lett visszavéve a tétel"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Kimenetel"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Sortétel végső kimenetele"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Sortétel visszaküldésének vagy javításának költsége"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Visszavétel extra tétel"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "Rendelés azonosító"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "A duplikálandó megrendelés száma"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Sorok másolása"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Sortételek másolása az eredeti rendelésről"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Extra sorok másolása"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Az eredeti rendelés extra tételeinek másolása"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Paraméterek másolása"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Sortételek"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Kész sorok"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Rendelés duplikálása"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Rendelés másolás beállításai"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Érvénytelen rendelés ID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Beszállító neve"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "A rendelést nem lehet törölni"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Rendelés lezárása teljesítetlen sortételek esetén is"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "A rendelésben teljesítetlen sortételek vannak"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "A rendelés nem nyitott"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automata árazás"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Beszerzési ár automatikus számítása a beszállítói alkatrész adatai alapján"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Beszérzési ár pénzneme"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Elemek összevonása"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása egy tételre"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU (leltári azonosító)"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Belső cikkszám"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Beszállítói alkatrészt meg kell adni"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Beszerzési rendelést meg kell adni"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Sortétel"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Válassz cél helyet a beérkezett tételeknek"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Írd be a batch kódját a beérkezett tételeknek"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Lejárati dátum"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Írd be a beérkező készlet tételek lejárati dátumát"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Írd be a sorozatszámokat a beérkezett tételekhez"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Bejövő készlettételek csomagolási információjának felülbírálata"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Kiegészítő megjegyzés beérkező készlettételekhez"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Vonalkód"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Beolvasott vonalkód"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Ez a vonalkód már használva van"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Sortételt meg kell adni"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "A cél helyet kötelező megadni"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Megadott vonalkódoknak egyedieknek kel lenniük"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Szállítások"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Kész szállítmányok"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Eladási ár pénzneme"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Foglalt tételek"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nincsenek szállítmány részletek megadva"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Mennyiség pozitív kell legyen"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Írd be a sorozatszámokat a kiosztáshoz"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Szállítmány kiszállítva"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nincs találat a következő sorozatszámokra"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Az alábbi sorozatszámok nem elérhetők"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Visszavétel sortétel"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Sortétel nem egyezik a visszavétellel"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "A sortétel már beérkezett"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Visszaküldési mennyiség"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Sortétel pénzneme"
@@ -5533,1174 +5614,1226 @@ msgstr "Visszatérítés"
msgid "Reject"
msgstr "Elutasított"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Késésben lévő beszerzés"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "A {po} beszerzési rendelés most már késésben van"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Késésben lévő vevői rendelés"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "A {so} vevői rendelés most már késésben van"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Lejárt visszvételi utasítás"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "A {ro} Visszavételi utasítás már lejárt"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Csillagozott"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Csillagozottra szűrés"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Mélység"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Kategória mélységre szűrés"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Felső szint"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Csúcs készlethelyre szűrés"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Lépcsőzetes"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Szűrt eredmények tartalmazzák az alkategóriákat"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Szülő"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Szülő kategóriára szűrés"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Az adott kategória alkategóriáinak kihagyása"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Van találat"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Változat-e"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Változat"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Vannak Változatok"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Alkatrészjegyzék ellenőrizve"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
-msgstr ""
+msgstr "Kaszkád Kategóriák"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
-msgstr ""
+msgstr "Ha igaz, tartalmazza az adott kategória alkategóriáiban lévő tételeket"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
+msgstr "Szűrés numerikus kategória azonosító vagy a 'null' literál szerint"
+
+#: part/api.py:1280
+msgid "Assembly part is active"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Összeállított Alkatrész ellenőrizhető"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Összetevő alkatrész ellenőrizhető"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Használ"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Alkatrész kategória"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Alapértelmezett hely"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Szerkezeti"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Alapértelmezett kulcsszavak"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikon (opcionális)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Alkatrészcsoport Paraméter Sablon"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Alkatrészek"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "Nem lehet törölni egy zárolt alkatrész paramétereit"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "Nem lehet módosítani egy zárolt alkatrész paramétereit"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Lezárt alkatrész nem törölhető"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Aktív alkatrész nem törölhető"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Összeállításban felhasznált alkatrész nem törölhető"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Az '{self}' alkatrész nem használható a '{parent}' alkatrészjegyzékében (mert rekurzív lenne)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Az '{parent}' alkatrész szerepel a '{self}' alkatrészjegyzékében (rekurzív)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Alkatrész nem lehes saját magának verziója"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Nem lehet olyan alkatrészből új verziót csinálni ami már eleve egy verzió"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Verzió kódot meg kell adni"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Verziók csak összeállított alkatrészeknél engedélyezettek"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Nem lehet sablon alkatrészből új verziót csinálni"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "A szülő alkatrésznek azonos sablonra kell mutatnia"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Adott alkatrész verzióból már létezik egy."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Alkatrész leírása (opcionális)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Kulcsszavak"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN (Belső Cikkszám)"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Változat"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Ez egy másik alkatrész egy verziója?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Ennek a verziója"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Alapértelmezett beszállító"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Alapértelmezett beszállítói alkatrész"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimális készlet"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Alkatrész mértékegysége"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Gyártható-e ez az alkatrész más alkatrészekből?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Lehet ehhez az alkatrészhez több ellenőrzési eredményt rögzíteni?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Lezárt alkatrészt nem lehet szerkeszteni"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Alkatrészjegyzék ellenőrizve"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Az alkatrész anyagjegyzéke érvényes?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Alkatrész felelőse"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Árszámítások gyorstárazásához használt pénznem"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimum alkatrészjegyzék költség"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Összetevők minimum költsége"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maximum alkatrészjegyzék költség"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Összetevők maximum költsége"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimum beszerzési ár"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Eddigi minimum beszerzési költség"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maximum beszerzési ár"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Eddigi maximum beszerzési költség"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimum belső ár"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimum költség a belső ársávok alapján"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maximum belső ár"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maximum költség a belső ársávok alapján"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimum beszállítói ár"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Minimum alkatrész ár a beszállítóktól"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maximum beszállítói ár"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maximum alkatrész ár a beszállítóktól"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimum alkatrészváltozat ár"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Alkatrészváltozatok számolt minimum költsége"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maximum alkatrészváltozat ár"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Alkatrészváltozatok számolt maximum költsége"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimum költség"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Minimum költség felülbírálása"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maximum költség"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Maximum költség felülbírálása"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Számított általános minimum költség"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Számított általános maximum költség"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimum eladási ár"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Minimum eladási ár az ársávok alapján"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maximum eladási ár"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maximum eladási ár az ársávok alapján"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Minimum eladási költség"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Eddigi minimum eladási ár"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maximum eladási költség"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Eddigi maximum eladási ár"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Leltározható alkatrész"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Tételszám"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Egyedi készlet tételek száma a leltárkor"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Teljes készlet a leltárkor"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Dátum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Leltározva ekkor"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimum készlet érték"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Becsült minimum raktárkészlet érték"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maximum készlet érték"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Becsült maximum raktárkészlet érték"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Alkatrész értékesítési ársáv"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Alkatrész Teszt Sablon"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Teszt sablont csak ellenőrizhetőre beállított alkatrészhez lehet csinálni"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Teszt azonosító"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Egyszerűsített Teszt azonosító"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Teszt engedélyezve?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Választható lehetőségek ehhez a Teszthez (vesszővel elválasztva)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás le van zárva"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás változat le van zárva"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Beállítás mennyiség"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "A gyártáshoz szükséges extra mennyiség, a beállási veszteséggel együtt"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Veszteség"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Becsült veszteség egy gyártásnál, százalékban kifejezve (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Kerekítési többszörös"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "A szükséges termelési mennyiség az érték legközelebbi többszöröséhez kerekítése"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Jóváhagyva"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Ez a BOM tétel jóvá lett hagyva"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Öröklődött"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Kapcsolati megjegyzés"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Szülő Kategória"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Felsőbb szintű alkatrész kategória"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Alkategóriák"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Eredmények"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Eszerint a sablon szerint rögzített eredmények száma"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Beszerzési pénzneme ennek a készlet tételnek"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "A fájl nem kép"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Eredeti alkatrész"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Válassz eredeti alkatrészt a másoláshoz"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kép másolása"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Kép másolása az eredeti alkatrészről"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Alkatrészjegyzék másolása"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Paraméterek másolása"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Paraméterek másolása az eredeti alkatrészről"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Megjegyzések másolása"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Megjegyzések másolása az eredeti alkatrészről"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Teszt másolása"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Teszt sablonok másolása az eredeti alkatrészről"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Kezdeti készlet mennyiség"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Kezdeti készlet hely"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Add meg a kezdeti készlet helyét"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Gyártói cikkszám"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "A kiválasztott cég nem érvényes beszállító"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "A kiválasztott cég nem érvényes gyártó"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Van már ilyen gyártói alkatrész"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Van már ilyen beszállítói alkatrész"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategória neve"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Gyártásban"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Az alkatrészből jelenleg ennyi van gyártás alatt"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Már beütemezett de még nem kész gyártási mennyiség"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Készlet tételek"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Verziók"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Beszállítók"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Teljes készlet"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Nem lefoglalt készlet"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Variánsok Raktárkészlet"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kezdeti adatok másolása egy másik alkatrészről"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Kezdeti készlet"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Kezdeti készlet mennyiség létrehozása"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Beszállító információ"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Kezdeti beszállító adatok hozzáadása"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kategória paraméterek másolása"
-#: part/serializers.py:967
+#: part/serializers.py:966
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:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Meglévő kép"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "A meglévő alkatrész képfájl neve"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "A képfájl nem létezik"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Teljes alkatrészjegyzék jóváhagyása"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Gyártható"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Gyártásokhoz szükséges"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Gyártási rendelésekhez foglalva"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Értékesítési rendeléshez szükséges"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Értékesítési rendeléshez lefoglalva"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minimum ár"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Számított minimum ár felülbírálása"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Minimum ár pénzneme"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Maximum ár"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Számított maximum ár felülbírálása"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Maximum ár pénzneme"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Frissítés"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Alkatrész árak frissítése"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, 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:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Szülő összeállítás kiválasztása"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Összetevő alkatrész kijelölése"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
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:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
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:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
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/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Alacsony készlet értesítés"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Álló készlet értesítés"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "1 készlet tétel közelít a lejárati idejéhez"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "{item_count} készlet tétel közelít a lejáratához"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Nincs lejárati dátuma"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "{abs(days_diff)} napja lejárt"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Ma jár le"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} nap"
@@ -6733,108 +6866,108 @@ msgstr "Nincs megadva művelet"
msgid "No matching action found"
msgstr "Nincs egyező művelet"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nincs egyező vonalkód"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Egyezés vonalkódra"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Model nem támogatott"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Model példány hiányzik"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Ez a vonalkód már egy másik tételé"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Nem található megfelelő alkatrész adat"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Nem található megfelelő beszállítói alkatrész"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Több beszállítói alkatrész található"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Nincsen vonalkód adathoz illeszkedő plugin"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Beszállítói alkatrész található"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Ez a termék már bevételezve"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "A szállítói vonalkódhoz nincsen plugin találat"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Több egyező sortétel is található"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Nincs egyező sortétel"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Nincs értékesítési rendelés biztosítva"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Készlet tétel nem egyezik a sortétellel"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Készlet tétel lefoglalva egy vevői rendeléshez"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Nincs elég információ"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Megtalált tétel"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Szállítói alkatrész nem illik a sortételhez"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Sortétel már elkészült"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "A tétel bevételezéséhez további információ szükséges"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Beszerzési rendelés tétele bevételezve"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Nem sikerült a sortételt érkeztetni"
@@ -6973,7 +7106,7 @@ msgstr "Alapvető vonalkód támogatást ad"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7071,111 +7204,111 @@ msgstr "Visszadátumozott rendelések kibocsátása"
msgid "Automatically issue orders that are backdated"
msgstr "Automatikusan kibocsátja a visszadátumozott rendeléseket"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Szintek"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "Az exportálandó alkatrészek mélysége. Nullával a teljes bom összes szintjét listázza"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Teljes mennyiség"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "Adott alkatrész teljes mennyiségét mutassa az összes alkatrésznél a BOM-ban"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Készlet adatok"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Tartalmazza az alkatrész készlet adatait"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Árazási adatok"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Tartalmazza az alkatrész árazási adatait"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Beszállítói adatok"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Tartalmazza a beszállítói adatokat"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Gyártói adatok"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Tartalmazza a gyártói adatokat"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Helyettesítő adatok"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Tartalmazza a helyettesítő alkatrész adatokat"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Paraméter adat"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Tartalmazza az alkatrész paraméter adatokat"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Többszintű alkatrészjegyzék exportáló"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Támogatja a többszintű BOM-ok exportját"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "Alkatrészjegyzék szint"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Helyettesítő {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Beszállító {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "Beszállítói {n} raktári cikkszám"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "Beszállítói {n} gyártói cikkszám"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Gyártó {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "Gyártó {n} MPN"
@@ -7190,19 +7323,19 @@ msgstr "InvenTree exportálás támogatása"
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "Inaktívak Kizárása"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "Inaktív paraméterek kizárása"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "Paraméter Exportáló"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "Exportáló modell paraméter adatokhoz"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
@@ -7277,8 +7410,8 @@ msgid "Integrated Slack notification methods"
msgstr "InvenTree slack értesítési módok"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack bejövő webhook URL"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7355,11 +7488,11 @@ msgstr "InvenTree címkenyomtató"
msgid "Provides support for printing using a machine"
msgstr "Nyomtatási támogatást nyújt egy Berendezés által"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "utoljára használva"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Opciók"
@@ -7537,8 +7670,8 @@ msgid "Key of plugin"
msgstr "Plugin kulcsa"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "PluginNeve a pluginnak"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7572,21 +7705,21 @@ msgstr "Csomag plugin"
msgid "Plugin"
msgstr "Bővítmény"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nincs szerző"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "A pluginhoz minimum {v} verzió kell"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "A pluginhoz maximum {v} verzió kell"
@@ -7764,8 +7897,8 @@ msgid "Installation not confirmed"
msgstr "Tlepítés nincs megerősítve"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Vagy csomag nevet vagy URL-t meg kell adni"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8073,7 +8206,7 @@ msgstr "Összesen"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Sorozatszám"
@@ -8098,7 +8231,7 @@ msgstr "Készlet tétel teszt riport"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Beépített tételek"
@@ -8131,495 +8264,519 @@ msgstr "Nincs eredmény (szükséges)"
msgid "No result"
msgstr "Nincs eredmény"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "A fájl nem létezik"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "A képfile nem található"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image elem csak alkatrész példánynál használható"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image elem csak cég példánynál használható"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Hely mélységre szűrés"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Csúcs készlethelyre szűrés"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Szűrt eredmények tartalmazzák az alhelyeket"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Szülő hely"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Szülő helyre szűrés"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Alkatrész neve (kisbetű/nagybetű nem számít)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Az alkatrész neve tartalmazza (kisbetű/nagybetű nem számít)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Alkatrész neve (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Alkatrész IPN (kisbetű/nagybetű nem számít)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Alkatrész IPN tartalmazza (kisbetű/nagybetű nem számít)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Alkatrész IPN (regexp)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Minimális készlet"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Maximális készlet"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Státuszkód"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Külső hely"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Felhasználva Gyártási Rendelésben"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Más készlettételbe beépítve"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Alkatrész fa"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Módosítva ezelőtt"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Frissítve ez után"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Leltárazva ezelőtt"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Leltárazva ezután"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Lejárat előtt"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Lejárat után"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Állott"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "Adj meg egy készlettétel azonosítót - PK-t - hogy a tétel és leszármazottai kihagyásához"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "Készlethelyek alábontása"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "Az al-készlethelyeket is beleértve"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "Készlethely azonosító alapján szűrés vagy a 'null'-ra"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "A megadott beszállítói alkatrész nem létezik"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
-msgstr ""
+msgstr "Beépítettek Belefoglalása"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
-msgstr ""
+msgstr "Ha igaz, tartalmazza a megadott készlettétel alá beépített tételek teszteredményeit"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
-msgstr ""
+msgstr "Szűrés numerikus készlettétel azonosító szerint"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
+msgstr "A(z) {id} azonosítójú készlettétel nem létezik"
+
+#: stock/api.py:1516
+msgid "Include Part Variants"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Készlethely típus"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Készlethely típusok"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beállítva (válaszható)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Készlet hely"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Készlethelyek"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Tulajdonos"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Tulajdonos kiválasztása"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Külső"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Ez egy külső készlethely"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Helyszín típusa"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Tárolóhely típus"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "a(z) {field} nem létezik"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Alkatrész kiválasztása kötelező"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "A beszállítói alkatrész típusa ('{self.supplier_part.part}') mindenképpen {self.part} kellene, hogy legyen"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "A tétel nem tartozhat saját magához"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Szülő készlet tétel"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Kiindulási alkatrész"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "A csomagolása ennek a készlet tételnek itt van tárolva"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Beépítve ebbe"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Ez a tétel be van építve egy másik tételbe?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Felhasználva ebben"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Felhasználva ebben a gyártásban"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Egy egység beszerzési ára a beszerzés időpontjában"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "Mennyiség meghaladja az elérhető készletet"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Sorozatszámokat listában kell megadni"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
-msgstr ""
+msgstr "Nem lehet készletet strukturális helyre rendelni"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Ez a Teszt sablon nem létezik"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Készlet tétel nem mozgatható mivel nincs készleten"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Készlettörténet"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Készlet Tétel Ellenőrzés Eredménye"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "A teszt eredménye érvénytelen"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Tesztek megjegyzései"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Teszt állomás"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "A tesztet elvégző tesztállomás azonosítója"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Elkezdődött"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "A teszt indításának időpontja"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Befejezve"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "A teszt befejezésének időpontja"
@@ -8663,246 +8820,246 @@ msgstr "Válassza ki az alkatrészt amihez sorozatszámot akar generálni"
msgid "Quantity of serial numbers to generate"
msgstr "Hány sorozatszámot generáljunk"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Az eredmény Teszt sablonja"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr "Ehhez az alkatrészhez nem tartozik ellenőrzés"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "Sablon azonosító vagy Teszt név szükséges"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Szülő tétel"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Szülő készlet tétel"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "Csomagméret használata"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Írd be a sorozatszámokat az új tételekhez"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Beszállítói Cikkszám"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Lejárt"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Gyermek tételek"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Nyilvántartott tételek"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Készlet tétel beszerzési ára, per darab vagy csomag"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "Nincsen készlettétel megadva"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Cél készlet hely"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Válaszd ki a beépítésre szánt készlet tételt"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Beépítendő mennyiség"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Adja meg a beépítendő mennyiséget"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "A beépítendő mennyiség legalább 1 legyen"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Készlet tétel nem elérhető"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "A beépítendő mennyiség nem haladhatja meg az elérhető mennyiséget"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Cél hely a kiszedett tételeknek"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Válassz alkatrészt amire konvertáljuk a készletet"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Készlet tétel hozzárendelt beszállítói alkatrésszel nem konvertálható"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Készlet tétel státusz kódja"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Nincs készlet tétel kiválasztva"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Alhelyek"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Felsőbb szintű készlet hely"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Az alkatrésznek értékesíthetőnek kell lennie"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "A tétel egy vevő rendeléshez foglalt"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "A tétel egy gyártási utasításhoz foglalt"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Vevő akihez rendeljük a készlet tételeket"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "A kiválasztott cég nem egy vevő"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Készlet hozzárendelés megjegyzései"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "A készlet tételek listáját meg kell adni"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Készlet összevonás megjegyzései"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Nem egyező beszállítók megengedése"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Nem egyező állapotok megjelenítése"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Különböző állapotú készletek összevonásának engedélyezése"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Legalább két készlet tételt meg kell adni"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Nincs változás"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Készlet tétel elsődleges kulcs értéke"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Készlettétel nincs készleten"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "Készlettétel már készleten van"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "Mennyiség nem lehet negatív"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Készlet tranzakció megjegyzései"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "Meglévő készletbe olvasztás"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "Visszaérkezett tételek beolvasztása a készlettételekbe ha lehetséges"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Következő sorozatszám"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Előző Sorozatszám"
@@ -8960,7 +9117,7 @@ msgstr "Készlet manuálisan elvéve"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr ""
+msgstr "Sorozatszámos készlettételek"
#: stock/status_codes.py:58
msgid "Returned to stock"
@@ -9384,83 +9541,83 @@ msgstr "Vevői rendelések"
msgid "Return Orders"
msgstr "Visszavételek"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Felhasználónév"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Keresztnév"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "A felhasználó keresztneve"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Vezetéknév"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "A felhasználó vezetékneve"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "A felhasználó e-mail címe"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Személyzet"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Van-e a felhasználónak személyzeti jogosultsága"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Rendszergazda"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "A felhasználó rendszergazda-e"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Aktív a felhasználói fiók"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Csak rendszergazda szerkesztheti ezt a mezőt"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Jelszó"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Felhasználó jelszava"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "Figyelmezetés felülbírálása"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "A jelszó szabályok figyelmeztetésének felülbírálata"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Nincs jogosultsága felhasználót létrehozni"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "A fiókod sikeresen létrejött."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Üdvözlet az InvenTree-ben"
diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
index ca51f6e4a5..90416fa0db 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint tidak ditemukan"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Daftar item atau filter harus disediakan untuk Pekerjaan Banyak"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Barang harus disediakan sebagai daftar"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Pengguna tidak memiliki izin untuk melihat model ini"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (ulang)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Konfirmasi alamat email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Masukkan email yang sama."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Alamat surel utama yang diberikan tidak valid."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Domain surel yang diberikan tidak perbolehkan."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Jumlah yang diberikan tidak valid"
@@ -112,13 +104,13 @@ msgstr "Masukkan tanggal"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Catatan"
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Nomor seri kosong"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Gandakan Nomor Seri"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Tidak ada nomor seri ditemukan"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Hapus tag-tag HTML dari nilai ini"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Koneksi Galat"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Ukuran gambar terlalu besar"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "URL yang diberikan bukan file gambar yang valid"
@@ -207,11 +199,11 @@ msgstr "URL yang diberikan bukan file gambar yang valid"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Surel"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Anda harus mengaktifkan autentikasi dua faktor sebelum melakukan hal lainnya."
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Pilihan tidak valid"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nama"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Keterangan"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Keterangan (opsional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Direktori"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Data Barcode"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Data barcode pihak ketiga"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash unik data barcode"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Sudah ada barcode yang sama"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Terjadi Kesalahan Server"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Mata Uang"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Nilai tidak valid"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL file gambar external"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr "Bukan kode mata uang yang valid"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Produksi Induk"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Bagian"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Pesanan harus dibatalkan sebelum dapat dihapus"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Tersedia"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Order Produksi"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Lokasi"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Order Produksi"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Referensi Order Produksi"
msgid "Reference"
msgstr "Referensi"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Produksi induk dari produksi ini"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Pilih bagian untuk diproduksi"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referensi Order Penjualan"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Order penjualan yang teralokasikan ke pesanan ini"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Lokasi Sumber"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Lokasi Tujuan"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Pilih lokasi di mana item selesai akan disimpan"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Jumlah Produksi"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Jumlah item stok yang akan dibuat"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Item selesai"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Jumlah stok item yang telah diselesaikan"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Status pembuatan"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Kode status pembuatan"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Kode Kelompok"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Kode kelompok untuk hasil produksi ini"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Tanggal Pembuatan"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Target tanggal selesai"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Tanggal selesai"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "diselesaikan oleh"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Diserahkan oleh"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Pengguna yang menyerahkan order ini"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Penanggung Jawab"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Tautan eksternal"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Tautan menuju URL eksternal"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Tidak ada hasil produksi yang ditentukan"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Hasil produksi sudah selesai"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Hasil produksi tidak sesuai dengan order produksi"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Jumlah"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Jumlah harus 1 untuk stok dengan nomor seri"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Item stok teralokasikan terlalu banyak"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Jumlah yang dialokasikan harus lebih dari nol"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Jumlah harus 1 untuk stok dengan nomor seri"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Stok Item"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Sumber stok item"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Jumlah stok yang dialokasikan ke produksi"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Pasang ke"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Tujuan stok item"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Hasil Produksi"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Hasil produksi tidak sesuai dengan produksi induk"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Hasil produksi ini sudah diselesaikan"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Hasil produksi tidak dialokasikan sepenuhnya"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Masukkan jumlah hasil pesanan"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Nomor Seri"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Masukkan nomor seri untuk hasil pesanan"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Alokasikan nomor seri secara otomatis"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Lokasi hasil pesanan yang selesai"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Terima Alokasi Tidak Lengkap"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Tidak diizinkan"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Terima Tidak Teralokasikan"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Terima Tidak Selesai"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Jumlah produksi yang diperlukan masih belum cukup"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Hasil produksi"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Hasil pesanan harus mengarah ke pesanan yang sama"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Item harus tersedia dalam stok"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Jumlah tersedia ({q}) terlampaui"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Item yang dialokasikan harus disediakan"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Lokasi tidak termasuk"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Jangan ambil stok item dari lokasi yang dipilih"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Stok bergantian"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Stok pengganti"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Izinkan alokasi bagian pengganti"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Item tagihan material"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Dibatalkan"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Selesai"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Stok dibutuhkan untuk order produksi"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Pengguna"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Harga"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Judul"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Tautan"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Kesimpulan"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Berkas Gambar"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Lampiran"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "File tidak ditemukan"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Tautan eksternal tidak ditemukan"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Ukuran Berkas"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Label"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Terbuat"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Pilihan"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Aktif"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Respon"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Barang diterima"
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nama File"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nama Perusahaan"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "Hari"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponen"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Aktifkan Laporan"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Ukuran Halaman"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Surel diperlukan"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Aktifkan Integrasi Antarmuka"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Perusahaan"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Perusahaan"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Deskripsi Perusahaan"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Laman"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Nomor Ponsel"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontak alamat surel"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontak"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Kode Pos"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Diletakkan"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "File data"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Tidak diketahui"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Selesai"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Total Harga"
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Pelanggan"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Harga Jual"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Dikirim"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Jumlah yang dialokasikan harus lebih dari nol"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "Order ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Salin Baris"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr "Tolak"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Tanggal"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Harga Minimal"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Harga Maksimal"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Perbarui"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Tidak ada tindakan yang ditentukan"
msgid "No matching action found"
msgstr "Aksi tidak ditemukan"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Tidak cukup informasi"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Nomor Seri"
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Lampiran perlu diunggah untuk tes ini"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nama Pengguna"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Nama Depan"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Nama depan dari pengguna"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Nama Belakang"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Nama belakang dari pengguna"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Alamat surel dari pengguna"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Staf"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Selamat Datang di InvenTree"
diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
index 0d2015f20d..d3411f0087 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Endpoint API non trovato"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "L'elenco degli articoli o dei filtri devono essere forniti per le operazioni di massa"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Gli articoli devono essere forniti come elenco"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Lista elementi fornita non valida"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "I filtri devono essere forniti come dizionario"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Filtri forniti non validi"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Tutti i filtri devono essere usati solo con true"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Nessun elemento corrisponde ai criteri forniti"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Nessun dato fornito"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "Questo campo deve essere unico."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "L'utente non ha i permessi per vedere questo modello"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (ancora)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Conferma indirizzo email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "È necessario digitare la stessa e-mail ogni volta."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "L'indirizzo email principale fornito non è valido."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "L'indirizzo di posta elettronica fornito non è approvato."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Impossibile convertire {original} in {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
@@ -112,13 +104,13 @@ msgstr "Inserisci la data"
msgid "Invalid decimal value"
msgstr "Valore decimale non valido"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Note"
@@ -131,75 +123,75 @@ msgstr "Il valore '{name}' non è nel formato del pattern"
msgid "Provided value does not match required pattern: "
msgstr "Il valore fornito non corrisponde al modello richiesto: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Impossibile serializzare più di 1000 elementi contemporaneamente"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Numero seriale vuoto"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Seriale Duplicato"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Gruppo non valido: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "L'intervallo di gruppo {group} supera la quantità consentita ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nessun numero di serie trovato"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Il numero dei numeri seriali univoci ({n}) deve essere uguale alla quantità ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Rimuovi i tag HTML da questo valore"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "I dati contengono un contenuto in markdown proibito"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Errore di connessione"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Il server ha risposto con un codice di stato non valido"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Si è verificata un'eccezione"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Il server ha risposto con valore Content-Length non valido"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Immagine troppo grande"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Il download dell'immagine ha superato la dimensione massima"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Il server remoto ha restituito una risposta vuota"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fornito non è un file immagine valido"
@@ -207,11 +199,11 @@ msgstr "L'URL fornito non è un file immagine valido"
msgid "Log in to the app"
msgstr "Accedi all'app"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Devi abilitare l'autenticazione a due fattori prima di fare qualsiasi altra cosa."
@@ -255,135 +247,126 @@ msgstr "Il campo deve corrispondere al modello richiesto"
msgid "Reference number is too large"
msgstr "Numero di riferimento troppo grande"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Descrizione"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Descrizione (opzionale)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Percorso"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Note di Markdown (opzionale)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Dati del Codice a Barre"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Dati Codice a Barre applicazioni di terze parti"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Codice a Barre"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Codice univoco del codice a barre"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Trovato codice a barre esistente"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Fallimento Attività"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Attività di lavoro in background '{f}' fallita dopo {n} tentativi"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Errore del server"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Immagine"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Selezionare la valuta dalle opzioni disponibili"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Questo campo non può essere nullo."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valore non valido"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Immagine Remota"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL del file immagine remota"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Impossibile scaricare l'immagine dall'URL remoto"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Formato tipo di contenuto non valido"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Tipo di Contenuto non trovato"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Il tipo di contenuto non corrisponde alla classe mixin richiesta"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Cinese (Semplificato)"
msgid "Chinese (Traditional)"
msgstr "Cinese (Tradizionale)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Aggiornamento disponibile"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "È disponibile un aggiornamento per InvenTree"
@@ -553,30 +536,30 @@ msgstr "Unità fisica non valida"
msgid "Not a valid currency code"
msgstr "Non è un codice valuta valido"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Stato dell'ordine"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Produzione Genitore"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Includi Varianti"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Includi Varianti"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Includi Varianti"
msgid "Part"
msgstr "Articolo"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categoria"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Produzione Antenata"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Assegnato a me"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Assegnato a"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Creato prima"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Creato dopo"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Ha data d'inizio"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Data d'inizio prima"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Data d'inizio dopo"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Ha data di fine"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Data obiettivo prima"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Data obiettivo dopo"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Completato prima"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Completato dopo"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Data minima"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Data massima"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Escludi Albero"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "La produzione deve essere annullata prima di poter essere eliminata"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consumabile"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opzionale"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Assemblaggio"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Monitorato"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testabile"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Ordine In Corso"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Allocato"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Utilizzato"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponibile"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Ordinato"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Ordine di Produzione"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Posizione"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Output"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Filtra per ID articolo stock di output. Usa 'null' per trovare elementi di produzione disinstallati."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Ordini di Produzione"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Assembly BOM non è stato convalidato"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "L'ordine di generazione non può essere creato per una parte inattiva"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "L'ordine di compilazione non può essere creato per una parte sbloccata"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Gli ordini di costruzione possono essere eseguiti solo esternamente per gli articoli acquistabili"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "L'utente o il gruppo responsabile deve essere specificato"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "L'ordine di costruzione della parte non può essere cambiata"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "La data di scadenza deve essere successiva alla data d'inizio"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Riferimento Ordine Di Produzione"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Riferimento Ordine Di Produzione"
msgid "Reference"
msgstr "Riferimento"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Breve descrizione della build (facoltativo)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr "Ordine di produzione a cui questa produzione viene assegnata"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Selezionare parte da produrre"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Numero di riferimento ordine di vendita"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr "Ordine di vendita a cui questa produzione viene assegnata"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Posizione Di Origine"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Build Esterno"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Questo ordine di produzione è eseguito esternamente"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Posizione Della Destinazione"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Quantità Produzione"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Numero di articoli da costruire"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Articoli completati"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Numero di articoli di magazzino che sono stati completati"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Stato Produzione"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Codice stato di produzione"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Codice Lotto"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Codice del lotto per questa produzione"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Data di creazione"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Data inizio produzione"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Data d'inizio programmata per questo ordine di produzione"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Data completamento obiettivo"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Data di completamento"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "Completato da"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Rilasciato da"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Utente che ha emesso questo ordine di costruzione"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsabile"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Utente o gruppo responsabile di questo ordine di produzione"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Collegamento esterno"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link a URL esterno"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Priorità di produzione"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Priorità di questo ordine di produzione"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Codice del progetto"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Codice del progetto per questo ordine di produzione"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Impossibile finalizzare l'ordine di produzione con ordini secondari aperti"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Impossibile finalizzare l'ordine di produzione con articolo incompleti"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Impossibile scaricare l'attività per completare le allocazioni di build"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "L'ordine di produzione {build} è stato completato"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "L'ordine di produzione è stato completato"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Deve essere fornita un numero di serie per gli articoli rintracciabili"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nessun output di produzione specificato"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "La produzione è stata completata"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "L'output della produzione non corrisponde all'ordine di compilazione"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "La quantità non può essere maggiore della quantità in uscita"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "La produzione non ha superati tutti i test richiesti"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "L'output della build {serial} non ha superato tutti i test richiesti"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr "Impossibile completare parzialmente un build output con gli elementi assegnati"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Elemento di Riga Ordine di Produzione"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Crea oggetto"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Crea oggetto"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Quantità"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Quantità richiesta per l'ordine di costruzione"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Quantità di articoli magazzino consumate"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "La quantità assegnata deve essere maggiore di zero"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "La quantità deve essere 1 per lo stock serializzato"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "La quantità di assegnazione deve essere maggiore di zero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "La quantità deve essere 1 per lo stock serializzato"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "La quantità assegnata supera la quantità disponibile a magazzino"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Articoli in magazzino"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Origine giacenza articolo"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Quantità di magazzino da assegnare per la produzione"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Installa in"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Livello Produzione"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nome Articolo"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Etichetta Codice Progetto"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Genera Output"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "L'output generato non corrisponde alla produzione principale"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "L'output non corrisponde alle parti dell'ordine di produzione"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Questa produzione è stata già completata"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Questo output non è stato completamente assegnato"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Inserisci la quantità per l'output di compilazione"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Quantità totale richiesta per articoli rintracciabili"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Codice Seriale"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Posizione dello stock per l'output della produzione"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Numeri di Serie Assegnazione automatica"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "I seguenti numeri di serie sono già esistenti o non sono validi"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Deve essere fornito un elenco dei risultati di produzione"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Posizione dello stock per l'output di produzione rimosso"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Scarta Assegnazioni"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Scartare tutte le assegnazioni di magazzino per gli output rimossi"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Motivo dell'eliminazione degli output di compilazione"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Posizione per gli output di build completati"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Accetta Assegnazione Incompleta"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Completa l'output se le scorte non sono state interamente assegnate"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consuma Giacenze Allocate"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consuma tutte le scorte che sono già state assegnate a questa produzione"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Rimuovi Output Incompleti"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Elimina gli output di produzione che non sono stati completati"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Non permesso"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Accetta come consumato da questo ordine di produzione"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Non assegnare prima di aver completato questo ordine di produzione"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Giacenza in eccesso assegnata"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Accetta Non Assegnato"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "La giacenza richiesta non è stata completamente assegnata"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Accetta Incompleta"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "La quantità di produzione richiesta non è stata completata"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "L'ordine di costruzione ha ancora degli ordini di costruzione figli"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "L'ordine di costruzione deve essere in stato di produzione"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "L'ordine di produzione ha output incompleti"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linea di produzione"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Genera Output"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "L'output di produzione deve puntare alla stessa produzione"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Articolo linea di produzione"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "L'articolo deve essere disponibile"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantità disponibile ({q}) superata"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Deve essere indicata l'allocazione dell'articolo"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Escludi Ubicazione"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Escludi gli elementi stock da questa ubicazione selezionata"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Scorte Intercambiabili"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Sostituisci Giacenze"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Consenti l'allocazione delle parti sostitutive"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Articoli Opzionali"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Impossibile avviare l'attività di auto-allocazione"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Riferimento BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "Identificativo dell'Articolo BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nome Articolo BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Costruzione"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Articolo Fornitore"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Quantità assegnata"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Riferimento Ordine Di Costruzione"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Nome Categoria Articolo"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Tracciabile"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Ereditato"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Distinta base (Bom)"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "In Produzione"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Pianificato per la produzione"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Scorte esterne"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Disponibilità in magazzino"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Disponibili scorte alternative"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Disponibili varianti delle scorte"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "La quantità consumata supera la quantità assegnata"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Note facoltative per il consumo di magazzino"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "L'articolo prodotto deve puntare all'ordine di produzione corretto"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Duplica l'allocazione degli articoli da produrre"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "La riga di produzione deve puntare all'ordine di produzione corretto"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Duplica l'allocazione della riga di produzione"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Deve essere fornita almeno un articolo o riga"
@@ -1474,67 +1478,71 @@ msgstr "In Attesa"
msgid "Cancelled"
msgstr "Annullato"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Completo"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Giacenza richiesta per l'ordine di produzione"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "L'ordine di produzione {build} richiede articoli aggiuntivi"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Ordine di produzione in ritardo"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "L'ordine di produzione {bo} è in ritardo"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "È Un Connegamento"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "E' un file"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "L'utente non ha il permesso di eliminare questi allegati"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "L'utente non ha il permesso di eliminare questo allegato"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Codice valuta non valido"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Codice valuta duplicato"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nessun codice valuta valido fornito"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Nessun plugin"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Etichetta Codice Progetto"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Aggiornato"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Orario dell'ultimo aggiornamento"
@@ -1546,778 +1554,778 @@ msgstr "Aggiornato da"
msgid "User who last updated this object"
msgstr "Utente che per ultimo ha aggiornato questo oggetto"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Codice unico del progetto"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Descrizione del progetto"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Utente o gruppo responsabile di questo progetto"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Tasto impostazioni"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valore impostazioni"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Il valore specificato non è un opzione valida"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Il valore deve essere un valore booleano"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Il valore deve essere un intero"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Il valore deve essere un numero valido"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Il valore non supera i controlli di convalida"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "La stringa chiave deve essere univoca"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Utente"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Prezzo unitario in quantità specificata"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Scadenza"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Scadenza in cui questa notifica viene ricevuta"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Attivo"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "È questa notifica attiva"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token per l'accesso"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Segreto"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Segreto condiviso per HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID Messaggio"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identificatore unico per questo messaggio"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Host da cui questo messaggio è stato ricevuto"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Intestazione"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Intestazione di questo messaggio"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Contenuto"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Contenuto di questo messaggio"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Scadenza in cui questo messaggio è stato ricevuto"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Lavorato il"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Il lavoro su questo messaggio è terminato?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Titolo"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Collegamento"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Pubblicato"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autore"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Riepilogo"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Letto"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "File immagine"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Tipo di modello di destinazione per questa immagine"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "ID modello di destinazione per questa immagine"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Unità Personalizzata"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Il simbolo dell'unità deve essere univoco"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Il nome dell'unità deve essere un identificatore valido"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nome dell'unità"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Simbolo"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Simbolo unità opzionale"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definizione"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definizione unità"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Allegato"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "File mancante"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Tipo modello"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Tipo di modello di destinazione per l'immagine"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Commento"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Commento allegato"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Data caricamento"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Data di caricamento del file"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Dimensione file"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Dimensioni file in byte"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Tipo di modello specificato per l'allegato non valido"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Stato Personalizzato"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Stati Personalizzati"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Imposta Stato Di Riferimento"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Set di stato esteso con questo stato personalizzato"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Chiave Logica"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Chiave logica dello stato che è uguale a questo stato personalizzato nella logica commerciale"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valore"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Valore numerico che verrà salvato nel database dei modelli"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Nome dello Stato"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etichetta"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etichetta che verrà visualizzata nel frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Colore"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Colore che verrà visualizzato nel frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modello"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Modello a cui questo stato è associato"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Il modello deve essere selezionato"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "La chiave deve essere selezionata"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "La chiave logica deve essere selezionata"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "La chiave deve essere diversa dalla chiave logica"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Deve essere fornita una classe di stato di riferimento valida"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "La chiave deve essere diversa dalle chiavi logiche dello stato di riferimento"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "La chiave logica deve essere nelle chiavi logiche dello stato di riferimento"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Il nome deve essere diverso dai nomi dello stato di riferimento"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Elenco Selezioni"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Elenchi di Selezione"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Nome dell'elenco di selezione"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Descrizione della lista di selezione"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Bloccato"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Questa lista di selezione è bloccata?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Questo elenco di selezione può essere utilizzato?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Plugin Sorgente"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Plugin che fornisce l'elenco di selezione"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Stringa Sorgente"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Stringa opzionale che identifica il sorgente usato per questa lista"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Voce Predefinita"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Voce predefinita per questo elenco di selezione"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Creato"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Data e ora in cui è stato creato l'elenco di selezione"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Data e ora in cui l'elenco di selezione è stato aggiornato"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Voce Lista Selezione"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Voci Lista Selezione"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Elenco di selezione a cui appartiene questa voce"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Valore della voce della lista di selezione"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Etichetta per la voce elenco di selezione"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Descrizione della voce della lista di selezione"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Questa voce della lista di selezione è attiva?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Modello Parametro"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Modelli parametro"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "I parametri della casella di controllo non possono avere unità"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "I parametri della casella di controllo non possono avere scelte"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Le scelte devono essere uniche"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Il nome del modello del parametro deve essere univoco"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Tipo di modello di destinazione per questo modello di parametro"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nome Parametro"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unità"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Unità fisiche per questo parametro"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Descrizione del parametro"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Casella di spunta"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Questo parametro è una casella di spunta?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Scelte"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Scelte valide per questo parametro (separato da virgola)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Lista di selezione per questo parametro"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Abilitato"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Questo modello di parametro è abilitato?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Parametro"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Parametri"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Scelta non valida per il valore del parametro"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Tipo di modello specificato per parametro non valido"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "ID Modello"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "ID del modello di destinazione per questo parametro"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Modello"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Modello Parametro"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Dati"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Valore del Parametro"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Nota"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Note opzionali elemento"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Scansione Codice A Barre"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Dati del Codice a Barre"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Utente che ha scannerizzato il codice a barre"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Data e ora"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Data e ora della scansione del codice a barre"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Endpoint URL che ha elaborato il codice a barre"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contesto"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Dati contestuali per la scansione del codice a barre"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Risposta"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Dati di risposta dalla scansione del codice a barre"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Risultato"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "La scansione del codice a barre è riuscita?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Si è verificato un errore"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: La cancellazione del log email è protetta. Imposta INVENTREE_PROTECT_EMAIL_LOG a Falso per consentire la cancellazione."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "Messaggio email"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "Messaggi email"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Annunciato"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Inviato"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Fallito"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Consegnato"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Confermato"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Ricevuti"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "In uscita"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Nessuna risposta"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Traccia La Consegna"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Conferma di lettura"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Tracciare i clic delle email"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "ID Globale"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Identificatore per questo messaggio (potrebbe essere fornito da un sistema esterno)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID discussione"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Identificatore per questo thread del messaggio (potrebbe essere fornito da un sistema esterno)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Discussione"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Thread collegato a questo messaggio"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "Priorità"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Discussione Email"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Discussioni Email"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Chiave"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Chiave univoca per questa discussione (usata per identificare la discussione)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Identificatore univoco per questa discussione"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Avviato internamente"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Questa discussione è iniziata internamente?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Data e ora in cui la discussione è stata creata"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Data e ora in cui la discussione è stata aggiornata"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} cancellato"
msgid "A order that is assigned to you was canceled"
msgstr "Un ordine assegnato a te è stato annullato"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Elemento ricevuto"
@@ -2351,93 +2359,101 @@ msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto"
msgid "Items have been received against a return order"
msgstr "Gli articoli sono stati ricevuti contro un ordine di reso"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Indica se modificare questa impostazione richiede conferma"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Questa impostazione richiede conferma prima di cambiare. Si prega di confermare la modifica."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Indica se l'impostazione è sovrascritta da una variabile ambiente"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Sovrascrivi"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "In Esecuzione"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Attività in sospeso"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Attività pianificate"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Attività Fallite"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID Attività"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ID attività univoco"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Blocco"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Tempo di blocco"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nome attività"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funzione"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nome della funzione"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argomenti"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argomenti attività"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argomenti Parole Chiave"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argomenti parole chiave attività"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nome del file"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Tipo di modello"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "L'utente non ha il permesso di creare o modificare allegati per questo modello"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "L'utente non ha il permesso di creare o modificare parametri per questo modello"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista di selezione bloccata"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista di selezione bloccata"
msgid "No group"
msgstr "Nessun gruppo"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "L'URL del sito è bloccato dalla configurazione"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Riavvio richiesto"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "È stata modificata un'impostazione che richiede un riavvio del server"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migrazioni in sospeso"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Numero di migrazioni del database in sospeso"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Codici di avviso attivi"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Un dizionario di codici di avviso attivi"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID istanza"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Identificatore unico per questa istanza InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Annuncio ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Annuncia l'ID dell'istanza del server nelle informazioni sullo stato del server (non autenticato)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nome Istanza Del Server"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Descrittore stringa per l'istanza del server"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Utilizza nome istanza"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Usa il nome dell'istanza nella barra del titolo"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Limita visualizzazione `Informazioni`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Mostra la modalità `Informazioni` solo ai superusers"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nome azienda"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nome interno dell'azienda"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL Base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL di base per l'istanza del server"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Valuta predefinita"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Selezionare la valuta di base per i calcoli dei prezzi"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Valute Supportate"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Elenco dei codici valuta supportati"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervallo Aggiornamento Valuta"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Quanto spesso aggiornare i tassi di cambio (impostare a zero per disabilitare)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "giorni"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Plugin di aggiornamento della valuta"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Plugin di aggiornamento valuta da usare"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Scarica dall'URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Consenti il download di immagini e file remoti da URL esterno"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limite Dimensione Download"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Dimensione massima consentita per il download dell'immagine remota"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-agent utilizzato per scaricare dall'URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Convalida URL rigoroso"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Richiede specifico schema quando si convalidano gli URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Aggiorna intervallo di controllo"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Backup automatico"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Abilita il backup automatico di database e file multimediali"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervallo Di Backup Automatico"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervallo Eliminazione Attività"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervallo Di Cancellazione Registro Errori"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervallo Di Cancellazione Notifica"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Intervallo Eliminazione Email"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "I messaggi e-mail verranno eliminati dopo il numero specificato di giorni"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Proteggi Log Email"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Impedisci l'eliminazione delle voci di log email"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Supporto Codice A Barre"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Abilita il supporto per lo scanner di codice a barre nell'interfaccia web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Memorizza Risultati Barcode"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Memorizza i risultati della scansione del codice a barre nel database"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Numero Massimo Scansioni Barcode"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Numero massimo di risultati della scansione del codice a barre da memorizzare"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Codice a barre inserito scaduto"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tempo di ritardo di elaborazione codice a barre"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Codice a Barre Supporto Webcam"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Consenti la scansione del codice a barre tramite webcam nel browser"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Visualizza dati codice a barre"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Visualizza i dati del codice a barre nel browser come testo"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Plugin Generazione Codice A Barre"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Plugin da usare per la generazione interna di codice a barre"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revisioni Articolo"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Abilita il campo revisione per l'articolo"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Solo revisione assemblaggio"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Consenti revisioni solo per articoli di assemblaggio"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Consenti l'eliminazione dall'assemblaggio"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Permetti l'eliminazione degli articoli che sono usati in un assemblaggio"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Schema di espressione regolare per l'articolo corrispondente IPN"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Consenti duplicati IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permetti a più articoli di condividere lo stesso IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Permetti modifiche al part number interno (IPN)"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copia I Dati Della distinta base dell'articolo"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copia I Dati Parametro dell'articolo"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copia i dati dei parametri di default quando si duplica un articolo"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copia I Dati dell'Articolo Test"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copia i dati di prova di default quando si duplica un articolo"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copia Template Parametri Categoria"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Componente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Acquistabile"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Vendibile"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuale"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Gli articoli sono virtuali per impostazione predefinita"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Mostra articoli correlati"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Visualizza parti correlate per ogni articolo"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Dati iniziali dello stock"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Dati iniziali del fornitore"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formato di visualizzazione del nome articolo"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formato per visualizzare il nome dell'articolo"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Icona predefinita Categoria Articolo"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Prezzi Minimi Decimali"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Numero minimo di decimali da visualizzare quando si visualizzano i dati dei prezzi"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Prezzi Massimi Decimali"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Numero massimo di decimali da visualizzare quando si visualizzano i dati dei prezzi"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Usa Prezzi Fornitore"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Ignora la Cronologia Acquisti"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Utilizzare i prezzi degli articoli in stock"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Età dei prezzi degli articoli in stock"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Utilizza Variazione di Prezzo"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Solo Varianti Attive"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Aggiornamento Automatico Prezzi"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Aggiorna automaticamente il prezzo degli articoli quando i dati interni cambiano"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervallo Di Ricostruzione Dei Prezzi"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Prezzi interni"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Abilita prezzi interni per gli articoli"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Sovrascrivi Prezzo Interno"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Abilita stampa etichette"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Abilita la stampa di etichette dall'interfaccia web"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Etichetta Immagine DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Abilita Report di Stampa"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Abilita generazione di report di stampa"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Modalità Debug"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Genera report in modalità debug (output HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Registro errori"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Errori di log che si verificano durante la generazione dei report"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Dimensioni pagina"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Dimensione predefinita della pagina per i report PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forza Unità Parametro"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Se le unità sono fornite, i valori dei parametri devono corrispondere alle unità specificate"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Seriali Unici Globali"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Elimina scorte esaurite"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Determina il comportamento predefinito quando un articolo a magazzino è esaurito"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Modello Codice a Barre"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Scadenza giacenza"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Abilita funzionalità di scadenza della giacenza"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vendi giacenza scaduta"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Consenti la vendita di stock scaduti"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Tempo di Scorta del Magazzino"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Crea giacenza scaduta"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Permetti produzione con stock scaduto"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Icona Predefinita Ubicazione di Magazzino"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Mostra articoli a magazzino installati"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Visualizza gli articoli a magazzino installati nelle tabelle magazzino"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Verificare la distinta base durante l'installazione degli articoli"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Gli articoli di magazzino installati devono esistere nella distinta base per l'articolo principale"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Consenti trasferimento magazzino esaurito"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Consenti il trasferimento di articoli non disponibili a magazzino tra le diverse ubicazioni di magazzino"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Modello Di Riferimento Ordine Di Produzione"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "È richiesto il Proprietario Responsabile"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "A ogni ordine deve essere assegnato un proprietario responsabile"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Richiede Articolo Attivo"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Impedisci la creazione di ordini di produzione per gli articolo inattivi"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Richiede Articolo Bloccato"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Impedisci la creazione di ordini di costruzione per le parti sbloccate"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Richiede un BOM valido"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Previene la creazione di ordini di costruzione a meno che BOM non sia stato convalidato"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Richiedi Ordini Dei Figli Chiusi"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Impedisci il completamento dell'ordine di costruzione fino alla chiusura di tutti gli ordini figli"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Ordini di Produzione Esterni"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Abilita funzionalità ordini di produzione esterni"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blocca Fino Al Passaggio Dei Test"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Impedisci che gli output di costruzione siano completati fino al superamento di tutti i test richiesti"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Abilita Ordini Di Reso"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Abilita la funzionalità ordine di reso nell'interfaccia utente"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Motivo di Riferimento per ordine di reso"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di reso"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Modifica Ordini Di Reso Completati"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Consenti la modifica degli ordini di reso dopo che sono stati completati"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Modello Di Riferimento Ordine Di Vendita"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Spedizione Predefinita Ordine Di Vendita"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Modifica Ordini Di Vendita Completati"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "La Spedizione Richiede Controllo"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "Impedire il completamento delle spedizioni fino a quando gli articoli sono stati controllati"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Segna gli ordini spediti come completati"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Gli ordini di vendita contrassegnati come spediti saranno automaticamente completati, bypassando lo stato \"spedito\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Modello di Riferimento Ordine D'Acquisto"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Modifica Ordini Di Acquisto Completati"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Converti Valuta"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Converti il valore dell'elemento in valuta base quando si riceve lo stock"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Completa Automaticamente Gli Ordini D'Acquisto"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Contrassegna automaticamente gli ordini di acquisto come completi quando tutti gli elementi della riga sono ricevuti"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Abilita registrazione SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Abilita sincronizzazione dei gruppi SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Abilita la sincronizzazione dei gruppi InvenTree con i gruppi forniti dall'IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Chiave gruppo SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Il nome dell'attributo di richiesta di gruppi fornito dall'IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Mappa del gruppo SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Una mappatura dai gruppi SSO ai gruppi InvenTree locali. Se il gruppo locale non esiste, verrà creato."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Rimuovere i gruppi al di fuori dell'SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Indica se i gruppi assegnati all'utente debbano essere rimossi se non sono backend dall'IdP. La disattivazione di questa impostazione potrebbe causare problemi di sicurezza"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email richiesta"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Posta due volte"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Password due volte"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Domini consentiti"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Limita la registrazione a determinati domini (separati da virgola, a partire da @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Gruppo iscrizione"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Gruppo a cui i nuovi utenti sono assegnati alla registrazione. Se la sincronizzazione di gruppo SSO è abilitata, questo gruppo è impostato solo se nessun gruppo può essere assegnato dall'IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Applica MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Gli utenti devono utilizzare la sicurezza a due fattori."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Abilitare questa impostazione richiederà a tutti gli utenti di impostare l'autenticazione multi fattore. Tutte le sessioni saranno disconnesse immediatamente."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Controlla i plugin all'avvio"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Controlla gli aggiornamenti dei plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Abilita controlli periodici per gli aggiornamenti dei plugin installati"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Abilita l'integrazione URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Attiva plugin per aggiungere percorsi URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Attiva integrazione navigazione"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Abilita i plugin per l'integrazione nella navigazione"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Abilita l'app integrata"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Abilita plugin per aggiungere applicazioni"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Abilita integrazione pianificazione"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Abilita i plugin per eseguire le attività pianificate"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Abilita eventi integrati"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Abilita plugin per rispondere agli eventi interni"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Abilita integrazione interfaccia"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Abilita i plugin per l'integrazione nell'interfaccia utente"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Abilita integrazione email"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Abilita i plugin per elaborare le email in uscita/in arrivo"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Abilita codici progetto"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Abilita i codici del progetto per tracciare i progetti"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Abilita Cronologia Magazzino"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Abilita la funzionalità per registrare i livelli storici e il valore del magazzino"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Escludi Posizioni Esterne"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Escludere le giacenze in sedi esterne dai calcoli della cronologia delle giacenze"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Inventario periodico automatico"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Numero di giorni tra la registrazione automatica dello storico magazzino"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Elimina Vecchie Voci Storiche magazzino"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Elimina voci della cronologia giacenze più vecchie del numero specificato di giorni"
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Intervallo Di Cancellazione Storico Magazzino"
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr ""
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Le voci della cronologia magazzino verranno eliminate dopo il numero specificato di giorni"
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
-#: common/setting/system.py:1123
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "Visualizza i nomi completi degli utenti"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "Mostra nomi completi degli utenti invece che nomi utente"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "Visualizza Profili Utente"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "Visualizza i profili degli utenti sulla pagina del loro profilo"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "Abilita Dati Stazione Di Prova"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "Abilita la raccolta dati della stazione di prova per i risultati del test"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
msgstr "Abilita Ping Macchina"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr "Abilita l'attività di ping periodico delle macchine registrate per controllarne lo stato"
@@ -3596,11 +3641,11 @@ msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Scanner di codici a barre nei campi del modulo"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Consenti l'ingresso dello scanner di codici a barre nei campi del modulo"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3868,7 +3913,7 @@ msgstr "Salva le ultime stampanti usate da un'utente"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Tutti i modelli"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "L'articolo è attivo"
msgid "Manufacturer is Active"
msgstr "Il produttore è attivo"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "L'articolo fornitore è attivo"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "L'articolo interno è attivo"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Il fornitore è attivo"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Produttore"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Azienda"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Ha Scorte"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Aziende"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Descrizione azienda"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Descrizione dell'azienda"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Sito Web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Sito web aziendale"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefono"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Numero di telefono di contatto"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Indirizzo email"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contatto"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Punto di contatto"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Questa azienda è attiva?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "È un cliente"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Vendi oggetti a questa azienda?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "È un fornitore"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Acquistate articoli da questa azienda?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "È un produttore"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Questa azienda produce articoli?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Valuta predefinita utilizzata per questa azienda"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "Partita IVA"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "Codice Fiscale Azienda"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Indirizzo"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Indirizzi"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Seleziona azienda"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Titolo indirizzo"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Titolo che descrive la voce indirizzo"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Indirizzo Principale"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Imposta come indirizzo primario"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Linea 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Indirizzo (linea 1)"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Linea 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Indirizzo (linea 2)"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "CAP"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Città/Regione"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Codice postale città/regione"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Stato/Provincia"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Stato o provincia"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Nazione"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Indirizzo Paese"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Note di spedizione del corriere"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Note per il corriere di spedizione"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Note di spedizione interne"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Note di spedizione per uso interno"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Collegamento alle informazioni sull'indirizzo (esterno)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Codice articolo produttore"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Articolo di base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Seleziona articolo"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Seleziona Produttore"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "Codice articolo produttore (MPN)"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Codice articolo produttore"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Descrizione articolo costruttore"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Le unità del pacchetto devono essere compatibili con le unità dell'articolo base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Le unità del pacchetto devono essere maggiori di zero"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Fornitore"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Seleziona fornitore"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unità di giacenza magazzino fornitore"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Questo articolo fornitore è attivo?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Selezionare un produttore"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "costo base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Confezionamento"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Quantità Confezione"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Quantità totale fornita in una singola confezione. Lasciare vuoto per gli articoli singoli."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "multiplo"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Ordine multiplo"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Quantità disponibile dal fornitore"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilità Aggiornata"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Sconto Prezzo Fornitore"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Restituisce la rappresentazione stringa per l'indirizzo primario. Questa proprietà esiste per la compatibilità all'indietro."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Valuta predefinita utilizzata per questo fornitore"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Nome Azienda"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "In magazzino"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "Sconti a scalare"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Errore durante l'esportazione dei dati"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Il plugin di esportazione dati ha restituito un formato di dati errato"
@@ -4318,119 +4367,119 @@ msgstr "Inviato"
msgid "Invalid status code"
msgstr "Codice di stato non valido"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "File dati"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "File dati da importare"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Colonne"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Tipo di modello di destinazione per questa sessione di importazione"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Stato importazione"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Valori predefiniti del campo"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Sostituisci campo"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filtri campo"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Aggiorna i record esistenti"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Se abilitato, i record esistenti verranno aggiornati con i nuovi dati"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Alcuni campi richiesti non sono stati mappati"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Identificatore del database esistente per il record"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "La colonna è già mappata a un campo del database"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Il campo è già mappato a una colonna di dati"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "La mappatura delle colonne deve essere collegata a una sessione di importazione valida"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "La colonna non esiste nel file dati"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Il campo non esiste nel modello di destinazione"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Il campo selezionato è di sola lettura"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Sessione d'importazione"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Campo"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Colonna"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Indice riga"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Dati riga originali"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Errori"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Valido"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "L'ID è richiesto per aggiornare i record esistenti."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Nessun record trovato con l'ID fornito"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Formato ID fornito non valido"
@@ -4530,7 +4579,7 @@ msgstr "Numero di copie da stampare per ogni etichetta"
msgid "Connected"
msgstr "Connesso"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Sconosciuto"
@@ -4658,105 +4707,117 @@ msgstr "Progresso Massimo"
msgid "Maximum value for progress type, required if type=progress"
msgstr "Valore massimo per il tipo di avanzamento, richiesto se tipo = progresso"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Riferimento ordine"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "In Sospeso"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Ha il codice del progetto"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Creato Da"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Creato prima"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Creato dopo"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Ha data d'inizio"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Data d'inizio prima"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Data d'inizio dopo"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Ha data di fine"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Data obiettivo prima"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Data obiettivo dopo"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Prezzo Articolo"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Completato prima"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Completato dopo"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Ordine di Produzione Esterno"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Ordine"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Ordine completato"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Articolo interno"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Ordine in sospeso"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Completato"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Ha Spedizione"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Ordine D'Acquisto"
msgid "Sales Order"
msgstr "Ordini di Vendita"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Prezzo Totale"
msgid "Total price for this order"
msgstr "Prezzo totale dell'ordine"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Valuta ordine"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Valuta per questo ordine (lasciare vuoto per usare il valore predefinito dell'azienda)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Questo ordine è bloccato e non può essere modificato"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Il contatto non corrisponde all'azienda selezionata"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "La data d'inizio deve essere precedente alla data di fine"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "L'indirizzo non corrisponde all'azienda selezionata"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Descrizione dell'ordine (opzionale)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Seleziona il codice del progetto per questo ordine"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Collegamento a un sito web esterno"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Data iniziale"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Data d'inizio programmata per questo ordine"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Data scadenza"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Data di emissione"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Data di emissione ordine"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Utente o gruppo responsabile di questo ordine"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Punto di contatto per questo ordine"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Indirizzo dell'azienda per questo ordine"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Riferimento ordine"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Stato"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Stato ordine d'acquisto"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Azienda da cui sono stati ordinati gli articoli"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Riferimento fornitore"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Codice di riferimento ordine fornitore"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "ricevuto da"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Data ordine completato"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destinazione"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Destinazione per gli elementi ricevuti"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "L'elemento di riga non corrisponde all'ordine di acquisto"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Manca un elemento collegato"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "La quantità deve essere un numero positivo"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Cliente"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Azienda da cui sono stati ordinati gli elementi"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Stato ordine di vendita"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Riferimento Cliente "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Codice di riferimento Ordine del Cliente"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Data di spedizione"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "spedito da"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "L'ordine è già stato completato"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "L'ordine è già stato annullato"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Solo un ordine aperto può essere contrassegnato come completo"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "L'ordine non può essere completato perché ci sono allocazioni incomplete"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "L'ordine è bloccato e non può essere modificato"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Quantità Elementi"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Riferimento Linea Elemento"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Note linea elemento"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Descrizione della parte (opzionale)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contesto aggiuntivo per questa voce"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Prezzo unitario"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Riga ordine d'acquisto"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "L'articolo del fornitore deve corrispondere al fornitore"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "L'ordine di produzione deve essere contrassegnato come esterno"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Gli ordini di costruzione possono essere collegati solo alle parti di assemblaggio"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "L'articolo dell'ordine di produzione deve corrispondere all'articolo della riga"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Articolo Fornitore"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Ricevuto"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Numero di elementi ricevuti"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Prezzo di Acquisto"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Prezzo di acquisto unitario"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Ordine di produzione esterno che deve essere eseguito da questo articolo"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Riga Extra ordine di acquisto"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Articolo ordine di vendita"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Prezzo di Vendita"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Prezzo unitario di vendita"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Spedito"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Quantità spedita"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Spedizione dell'ordine di vendita"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "L'indirizzo di spedizione deve corrispondere al cliente"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "Indirizzo di consegna per questa spedizione"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Data di spedizione"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Data di consegna"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Data di consegna della spedizione"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Verificato Da"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Utente che ha controllato questa spedizione"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Spedizione"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Numero di spedizione"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Numero di monitoraggio"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informazioni di monitoraggio della spedizione"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Numero Fattura"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Numero di riferimento per la fattura associata"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "La spedizione è già stata spedita"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "La spedizione non ha articoli di stock assegnati"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "La spedizione deve essere controllata prima che possa essere completata"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Riga Extra ordine di vendita"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Assegnazione Ordini Di Vendita"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "L'elemento di magazzino non è stato assegnato"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Impossibile allocare stock a una riga senza un articolo"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "La quantità di assegnazione deve essere maggiore di zero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "La quantità deve essere 1 per l'elemento serializzato"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "L'ordine di vendita non corrisponde alla spedizione"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "La spedizione non corrisponde all'ordine di vendita"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Linea"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Riferimento della spedizione ordine di vendita"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Elemento"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Seleziona elemento stock da allocare"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Inserisci la quantità assegnata alla giacenza"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Riferimento ordine di reso"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Società a cui vengono restituiti gli articoli"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Stato ordine di reso"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Articolo Linea Ordine Reso"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "L'elemento stock deve essere specificato"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Quantità di reso superiore alla quantità di scorta"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "La quantità di reso deve essere maggiore di zero"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Quantità non valida per l'elemento stock serializzato"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Seleziona l'elemento da restituire dal cliente"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Data di ricezione"
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr "La data in cui questo articolo restituito è stato ricevuto"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Risultati"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Risultato per questa voce di riga"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Costo associato alla restituzione o riparazione per questa voce di linea"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Riga Extra ordine di reso"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID Ordine"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID dell'ordine da duplicare"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Copia Linee"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Copia gli elementi di riga dall'ordine originale"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Copia Linee Extra"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Copia gli elementi di riga extra dall'ordine originale"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Copia parametri"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Elementi Riga"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Righe Completate"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplica Ordine"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Specifica le opzioni per duplicare questo ordine"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "ID dell'ordine non corretto"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Nome Fornitore"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "L'ordine non può essere cancellato"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "L'ordine ha elementi di riga incompleti"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "L'ordine non è aperto"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Prezzo Automatico"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Calcola automaticamente il prezzo di acquisto in base ai dati del fornitore articolo"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Valuta prezzo d'acquisto"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Unisci elementi"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Unisce gli elementi con lo stesso articolo, destinazione e data di destinazione in una riga"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Codice articolo"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Numero Articolo Interno"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "L'articolo del fornitore deve essere specificato"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "L'ordine di acquisto deve essere specificato"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "L'ordine di acquisto deve essere abbinato al fornitore"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Elemento Riga"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Inserisci il codice univoco per gli articoli in arrivo"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Data di Scadenza"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Inserisci la data di scadenza per gli articoli in arrivo"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Sovrascrivi le informazioni d'imballaggio per gli articoli in arrivo"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Nota aggiuntiva per gli articoli in arrivo"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Codice a Barre"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Codice a barre scansionato"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Il codice a barre è già in uso"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Gli elementi di linea devono essere forniti"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "La destinazione deve essere specificata"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "I valori dei codici a barre forniti devono essere univoci"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Spedizioni"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Spedizioni Completate"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Valuta prezzo di vendita"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Elementi Assegnati"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nessun dettaglio di spedizione fornito"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "L'elemento di riga non è associato a questo ordine"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "La quantità deve essere positiva"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Inserisci i numeri di serie da assegnare"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "La spedizione è già stata spedita"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "La spedizione non è associata con questo ordine"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "I seguenti numeri di serie non sono disponibili"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Articoli Linea Ordine Reso"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "L'elemento di riga non corrisponde all'ordine di reso"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "L'elemento di riga è già stato ricevuto"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
-msgstr ""
+msgstr "Gli elementi possono essere ricevuti solo con ordini in corso"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Quantità da restituire"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Valuta del prezzo"
@@ -5532,1174 +5613,1226 @@ msgstr "Rimborso"
msgid "Reject"
msgstr "Rifiuta"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Ordine D'Acquisto in ritardo"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "L'ordine d'acquisto {po} è in ritardo"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Ordini Di Vendita in ritardo"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "L'ordine di vendita {so} è ora in ritardo"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Ordini di Reso in Ritardo"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "L'ordine di reso {ro} è ora in ritardo"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Preferiti"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filtra per categorie preferite"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Profondità"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtra per profondità categoria"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Livello principale"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtra per categorie di primo livello"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Cascata"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Includi sottocategorie nei risultati filtrati"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Genitore"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filtra per categoria genitore"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Escludi sottocategorie sotto la categoria specificata"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Ha Risultati"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "È una Variante"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "E' una revisione"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Ha revisioni"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "BOM Valido"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr "Categorie a Cascata"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr "Se Vero, includere gli elementi nelle categorie figlie della categoria specificata"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr "Filtra per categoria ID numerica o per la stringa 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "L'articolo assemblato è provabile"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Il componente è provabile"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Utilizzi"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Categoria Articoli"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Categorie Articolo"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Posizione Predefinita"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Posizione predefinita per gli articoli di questa categoria"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Strutturale"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Keywords predefinite"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Icona"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Icona (facoltativa)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Modello Parametro Categoria Articolo"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valore Predefinito"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valore Parametro Predefinito"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Articoli"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "Impossibile eliminare i parametri di una parte bloccata"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "Impossibile modificare i parametri di una parte bloccata"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Impossibile eliminare questo articolo perché è bloccato"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Impossibile eliminare questo articolo perché è ancora attivo"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Non è possibile eliminare questo articolo in quanto è utilizzato in una costruzione"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "L'articolo '{self}' non può essere usata nel BOM per '{parent}' (ricorsivo)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "L'articolo '{parent}' è usato nel BOM per '{self}' (ricorsivo)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN deve corrispondere al modello regex {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "L'articolo non può essere una revisione di se stesso"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Non puoi fare la revisione di un articolo che è già una revisione"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Il codice di revisione deve essere specificato"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Le revisioni sono consentite solo per le parti di assemblaggio"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Non è possibile effettuare la revisione di un articolo modello"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "L'articolo genitore deve puntare allo stesso modello"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Esiste già un elemento stock con questo numero seriale"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "La revisione dell'articolo duplicata esiste già."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Un articolo con questo Nome, IPN e Revisione esiste già."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante Di"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Descrizione della parte (opzionale)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Parole Chiave"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisione"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Questo articolo è una revisione di un altro articolo?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Revisione di"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Fornitore predefinito"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Articolo fornitore predefinito"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Scorta Minima"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Unita di misura per questo articolo"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Questo articolo può essere costruito da altri articoli?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Questo articolo può essere utilizzato per costruire altri articoli?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Questo articolo ha il tracciamento per gli elementi unici?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Questo articolo può avere delle prove registrate?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Gli articoli bloccati non possono essere modificati"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "È una parte virtuale, come un prodotto software o una licenza?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "BOM Convalidata"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Il BOM per questa parte è valido?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Somma di controllo Distinta Base"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Somma di controllo immagazzinata Distinta Base"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Distinta Base controllata da"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Data di verifica Distinta Base"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Creazione Utente"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Utente responsabile di questo articolo"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Vendita multipla"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Valuta utilizzata per calcolare i prezzi"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Costo Minimo Distinta Base"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Costo minimo dei componenti dell'articolo"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Costo Massimo Distinta Base"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Costo massimo dei componenti dell'articolo"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Importo Acquisto Minimo"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Costo minimo di acquisto storico"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Importo massimo acquisto"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Costo massimo di acquisto storico"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Prezzo Interno Minimo"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Costo minimo basato su interruzioni di prezzo interne"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Prezzo Interno Massimo"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Costo massimo basato su interruzioni di prezzo interne"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Prezzo Minimo Fornitore"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Prezzo minimo articolo da fornitori esterni"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Prezzo Massimo Fornitore"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Variazione di costo minimo"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Costo minimo calcolato di variazione dell'articolo"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Massima variazione di costo"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Costo massimo calcolato di variazione dell'articolo"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Costo Minimo"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Sovrascrivi il costo minimo"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Costo Massimo"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Sovrascrivi il costo massimo"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Costo minimo totale calcolato"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Costo massimo totale calcolato"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Prezzo Di Vendita Minimo"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Prezzo Di Vendita Massimo"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Prezzo storico minimo di vendita"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Prezzo storico massimo di vendita"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Articolo per l'inventario"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Contatore Elemento"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Numero di scorte individuali al momento dell'inventario"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Totale delle scorte disponibili al momento dell'inventario"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Data"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Data in cui è stato effettuato l'inventario"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Costo Minimo Scorta"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Costo minimo stimato di magazzino a disposizione"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Costo Massimo Scorte"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Costo massimo stimato di magazzino a disposizione"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Aggiungi Prezzo Ribassato di Vendita dell'Articolo"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Modello Prove Articolo"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Nome modello non valido - deve includere almeno un carattere alfanumerico"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Il modello di prova può essere creato solo per gli articoli testabili"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Il modello di test con la stessa chiave esiste già per l'articolo"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nome Test"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Inserisci un nome per la prova"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Chiave Di Prova"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Chiave semplificata per la prova"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Inserisci descrizione per questa prova"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Questo test è attivo?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Richiesto"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Questa prova è necessaria per passare?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Valore richiesto"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Allegato Richiesto"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Scelte valide per questo test (separate da virgole)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio è bloccato"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio della variante è bloccato"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Seleziona articolo principale"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Articolo subordinato"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Seleziona l'articolo da utilizzare nella Distinta Base"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Quantità Distinta Base per questo elemento Distinta Base"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Questo elemento della Distinta Base è opzionale"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Imposta quantità"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
-msgstr ""
+msgstr "Quantità extra necessaria per una generazione, per tenere conto delle perdite di configurazione"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Logoramento"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Stima del logoramento per una build, espressa in percentuale (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Arrotondamento Multiplo"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Arrotonda la quantità di produzione richiesta al multiplo più vicino di questo valore"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Riferimento Elemento Distinta Base"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Note Elemento Distinta Base"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Codice di controllo"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Codice di controllo Distinta Base"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Convalidato"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Questo articolo della distinta base è stato validato"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Viene Ereditato"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "L'articolo subordinato deve essere specificato"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Elemento Distinta Base Sostituito"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sostituita non può essere la stessa dell'articolo principale"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Elemento principale Distinta Base"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Sostituisci l'Articolo"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Articolo 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Articolo 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Seleziona Prodotto Relativo"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Nota per questa relazione"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Non si può creare una relazione tra l'articolo e sé stesso"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "La relazione duplicata esiste già"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Categoria Superiore"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Categoria articolo principale"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Sottocategorie"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Risultati"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Numero di risultati registrati rispetto a questo modello"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Valuta di acquisto di questo articolo in stock"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Il file non è un immagine"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Articolo Originale"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Seleziona l'articolo originale da duplicare"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Copia immagine"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Copia immagine dall'articolo originale"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copia Distinta Base"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Copia fattura dei materiali dall'articolo originale"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Copia parametri"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Copia i dati dei parametri dall'articolo originale"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Copia note"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Copia note dall'articolo originale"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Copia Test"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Copia modelli di test dall'articolo originale"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Quantità iniziale"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Ubicazione Iniziale Magazzino"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Seleziona il fornitore (o lascia vuoto per saltare)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Seleziona il produttore (o lascia vuoto per saltare)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Codice articolo Produttore"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "L'azienda selezionata non è un fornitore valido"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "L'azienda selezionata non è un produttore valido"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Nome Categoria"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "In Costruzione"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Quantità di questo articolo attualmente in produzione"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
-msgstr ""
+msgstr "Eccezionale quantità di questa parte prevista da costruire"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Articoli in magazzino"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Revisioni"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Fornitori"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Giacenze Totali"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Scorte Non Assegnate"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Scorta Variante"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Duplica articolo"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Copia i dati iniziali da un altro Articolo"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Stock iniziale"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Crea Articolo con quantità di scorta iniziale"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Informazioni Fornitore"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Copia Parametri Categoria"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Copia i parametri dai modelli della categoria articolo selezionata"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Immagine esistente"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Nome del file di un'immagine articolo esistente"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Il file immagine non esiste"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Convalida l'intera Fattura dei Materiali"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Puoi produrre"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Richiesto per gli Ordini di Produzione"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Assegnato agli Ordini di Produzione"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Richiesto per gli Ordini di Vendita"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Assegnato agli Ordini di Vendita"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Prezzo Minimo"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Sovrascrivi valore calcolato per il prezzo minimo"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Valuta del prezzo minimo"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Prezzo Massimo"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Sovrascrivi valore calcolato per il prezzo massimo"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Valuta del prezzo massimo"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Aggiorna"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Aggiorna i prezzi per questo articolo"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Impossibile convertire dalle valute fornite in {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Il prezzo minimo non può essere maggiore del prezzo massimo"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Il prezzo massimo non può essere minore del prezzo minimo"
-#: part/serializers.py:1580
-msgid "Select the parent assembly"
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1697
+msgid "Select the parent assembly"
+msgstr "Seleziona l'assemblaggio padre"
+
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Seleziona la componente"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Seleziona l'articolo da cui copiare la distinta base"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Rimuovi Dati Esistenti"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Rimuovi elementi distinta base esistenti prima di copiare"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Includi Ereditato"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Includi gli elementi Distinta Base ereditati da prodotti template"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Salta Righe Non Valide"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Abilita questa opzione per saltare le righe non valide"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Copia Articoli sostitutivi"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notifica di magazzino bassa"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Notifica di magazzino"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "Hai 1 oggetto in magazzino che si avvicina alla data di scadenza"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "Hai {item_count} oggetti in magazzino che si avvicinano alla data di scadenza"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Nessuna data di scadenza."
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "Scaduto {abs(days_diff)} giorni fa"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Scade oggi"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} giorni"
@@ -6732,108 +6865,108 @@ msgstr "Nessuna azione specificata"
msgid "No matching action found"
msgstr "Nessuna azione corrispondente trovata"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nessuna corrispondenza trovata per i dati del codice a barre"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Corrispondenza trovata per i dati del codice a barre"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Il modello non è supportato"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Istanza del modello non trovata"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Il codice a barre corrisponde a un elemento esistente"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Nessun articolo corrispondente trovato"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Nessun fornitore articolo corrispondente trovato"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Trovati più articoli fornitori corrispondenti"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Nessuna plugin corrispondente trovato per i dati del codice a barre"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Corrispondenza Articoli del Fornitore"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "L'articolo è già stato ricevuto"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Nessun plugin corrisponde al codice a barre del fornitore"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Trovati più articoli corrispondenti"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Nessun elemento corrispondente trovato"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Nessun ordine di vendita fornito"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "L'elemento in magazzino non corrisponde alla riga"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Scorte insufficienti disponibili"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Articolo di magazzino assegnato all'ordine di vendita"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Informazioni non sufficienti"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Trovato elemento corrispondente"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "L'articolo del fornitore non corrisponde alla riga"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "La riga è già stata completata"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Ulteriori informazioni richieste per ricevere la voce"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Ricevuta la linea dell'ordine d'acquisto"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Impossibile ricevere l'elemento della linea"
@@ -6879,15 +7012,15 @@ msgstr "Non è possibile selezionare una posizione strutturale"
#: plugin/base/barcodes/serializers.py:196
msgid "Purchase order line item to receive items against"
-msgstr ""
+msgstr "Voce d’ordine di acquisto a cui ricevere gli articoli"
#: plugin/base/barcodes/serializers.py:202
msgid "Automatically allocate stock items to the purchase order"
-msgstr ""
+msgstr "Assegna automaticamente gli articoli di magazzino all'ordine di acquisto"
#: plugin/base/barcodes/serializers.py:215
msgid "Sales Order to allocate items against"
-msgstr ""
+msgstr "Ordine di vendita a cui allocare gli articoli"
#: plugin/base/barcodes/serializers.py:221
msgid "Sales order is not open"
@@ -6895,15 +7028,15 @@ msgstr "L'ordine di vendita non è aperto"
#: plugin/base/barcodes/serializers.py:229
msgid "Sales order line item to allocate items against"
-msgstr ""
+msgstr "Voce d'ordine di vendita a cui allocare gli articoli"
#: plugin/base/barcodes/serializers.py:236
msgid "Sales order shipment to allocate items against"
-msgstr ""
+msgstr "Spedizione d’ordine di vendita a cui allocare gli articoli"
#: plugin/base/barcodes/serializers.py:242
msgid "Shipment has already been delivered"
-msgstr ""
+msgstr "La spedizione è stata già consegnata"
#: plugin/base/barcodes/serializers.py:247
msgid "Quantity to allocate"
@@ -6972,7 +7105,7 @@ msgstr "Fornisce supporto nativo per codici a barre"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7012,15 +7145,15 @@ msgstr "Prefisso Codice A Barre Corto"
#: plugin/builtin/barcodes/inventree_barcode.py:45
msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances"
-msgstr ""
+msgstr "Personalizzare il prefisso utilizzato per codici a barre corti, può essere utile per ambienti con più istanze InvenTree"
#: plugin/builtin/events/auto_create_builds.py:28
msgid "Auto Create Builds"
-msgstr ""
+msgstr "Creazione automatica di produzioni"
#: plugin/builtin/events/auto_create_builds.py:31
msgid "Automatically create build orders for assemblies"
-msgstr ""
+msgstr "Crea automaticamente ordini di produzione per gli assemblaggi"
#: plugin/builtin/events/auto_issue_orders.py:17
msgid "Auto Issue Orders"
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Livelli"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Quantità Totale"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Dati Scorte"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Dati fornitore"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Includi dati fornitore"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Dati produttore"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Includi dati produttore"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Rallentamenti in entrata notifiche url"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Key dei plugin"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "PluginName del plugin"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Plugin"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nessun autore trovato"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Installazione non confermata"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Deve essere fornito uno dei nomi del pacchetto URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Totale"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Numero Seriale"
@@ -8097,7 +8230,7 @@ msgstr "Test Report Elemento Stock"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Elementi installati"
@@ -8130,495 +8263,519 @@ msgstr "Nessun risultato (richiesto)"
msgid "No result"
msgstr "Nessun risultato"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "File immagine non trovato"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Nome della parte (maiuscole e minuscole)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Il nome della parte contiene (maiuscole e minuscole)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Nome della parte (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "IPN della parte (maiuscole e minuscole)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "IPN della parte contiene (maiuscole e minuscole)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "IPN della parte (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Giacenza minima"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Giacenza massima"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Codici di stato"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Ubicazione Esterna"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Obsoleto"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Deve essere fornita un articolo valido"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Ubicazione magazzino"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Posizioni magazzino"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Proprietario"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Seleziona Owner"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Esterno"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Si tratta di una posizione esterna al magazzino"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "L'articolo deve essere specificato"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantità deve essere 1 per elementi con un numero di serie"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "L'elemento non può appartenere a se stesso"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Elemento di magazzino principale"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Articolo base"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Dove si trova questo articolo di magazzino?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Imballaggio di questo articolo di magazzino è collocato in"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Installato In"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Questo elemento è stato installato su un altro elemento?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Numero di serie per questo elemento"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Codice lotto per questo elemento di magazzino"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Genera Costruzione"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Costruisci per questo elemento di magazzino"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Origina Ordine di Acquisto"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Ordine d'acquisto per questo articolo in magazzino"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Destinazione Ordine di Vendita"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Prezzo di acquisto unitario al momento dell’acquisto"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Convertito in articolo"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "L'articolo non è impostato come tracciabile"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "La quantità deve essere un numero intero"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "I numeri di serie devono essere forniti come elenco"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "La quantità non corrisponde ai numeri di serie"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "L'elemento di magazzino è installato in un altro elemento"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "L'elemento di magazzino contiene altri elementi"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "L'elemento di magazzino è stato assegnato a un cliente"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "L'elemento di magazzino è attualmente in produzione"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Il magazzino serializzato non può essere unito"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Duplica elementi di magazzino"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "I codici di stato dello stock devono corrispondere"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Le giacenze non possono essere spostate perché non disponibili"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Note d'ingresso"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Il valore deve essere fornito per questo test"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "L'allegato deve essere caricato per questo test"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Risultato Test"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Test valore output"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Risultato della prova allegato"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Note del test"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Elemento principale"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Inserisci i numeri di serie per i nuovi elementi"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Scaduto"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Elementi secondari"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Inserisci il numero di elementi di magazzino da serializzare"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La quantità non deve superare la quantità disponibile ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Posizione magazzino di destinazione"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Numeri di serie non possono essere assegnati a questo articolo"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Seleziona elementi di magazzino da installare"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Aggiungi nota di transazione (opzionale)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Elemento di magazzino non disponibile"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "L'articolo selezionato non è nella Fattura dei Materiali"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Posizione di destinazione per gli elementi disinstallati"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "L'articolo selezionato non è una valida opzione per la conversione"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sottoallocazioni"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "L'articolo deve essere vendibile"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "L'elemento è assegnato a un ordine di vendita"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Elemento assegnato a un ordine di costruzione"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Cliente a cui assegnare elementi di magazzino"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "L'azienda selezionata non è un cliente"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Note sull'assegnazione delle scorte"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Deve essere fornito un elenco degli elementi di magazzino"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Note di fusione di magazzino"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Consenti fornitori non corrispondenti"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Consenti stato non corrispondente"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Devono essere riforniti almeno due elementi in magazzino"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Nessun cambiamento"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Valore di chiave primaria StockItem"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Note sugli spostamenti di magazzino"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Ordini di Vendita"
msgid "Return Orders"
msgstr "Ordini di reso"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nome utente"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Nome"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Nome dell'utente"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Cognome"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Cognome dell'utente"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Indirizzo email dell'utente"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Staff"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Questo utente ha i permessi dello staff"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superuser"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Questo utente è un superutente"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Questo account utente è attivo"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Il tuo account è stato creato."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Si prega di utilizzare la funzione di reimpostazione password per accedere"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Benvenuto in InvenTree"
diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
index 977bf33a12..26ab542927 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "APIエンドポイントが見つかりません"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "バルク運転には、品目またはフィルターのリストが必要です"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "項目はリストとして提供されなければなりません"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "無効なアイテムリスト"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "フィルタはディクショナリとして提供されなければなりません"
+#: InvenTree/api.py:458
+msgid "All filter must only be used with true"
+msgstr "すべてのフィルターは真の場合にのみ使用されなければならない"
#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "提供されたフィルタが無効"
-
-#: InvenTree/api.py:468
-msgid "All filter must only be used with true"
-msgstr ""
-
-#: InvenTree/api.py:473
msgid "No items match the provided criteria"
msgstr "指定された条件に一致する項目がありません"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
-msgstr ""
+msgstr "データの提供がありません。"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "この項目は一意である必要があります。"
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "ユーザーにこのモデルを表示する権限がありません"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "メールアドレス(確認用)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "メールアドレスの確認"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "毎回同じメールアドレスを入力する必要があります。"
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "指定されたプライマリEメールアドレスは無効です。"
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "指定されたメールドメインは承認されていません。"
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "{original}を{unit}に変換できませんでした。"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
@@ -112,13 +104,13 @@ msgstr "日付を入力する"
msgid "Invalid decimal value"
msgstr "無効な10進数値"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "メモ"
@@ -131,75 +123,75 @@ msgstr "値 '{name}' はパターン形式で表示されません"
msgid "Provided value does not match required pattern: "
msgstr "指定された値が必要なパターンと一致しません: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "一度に1000以上のアイテムをシリアライズすることはできません。"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "シリアル番号は空です"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "重複シリアル"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "無効なグループです:{group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "グループ範囲 {group} が許容数量を超過 ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "シリアル番号が見つかりません"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
-msgstr ""
+msgstr "固有のシリアル番号の数({n})は数量({q})と一致する必要があります。"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "この値からHTMLタグを削除"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "データに禁止されているマークダウン・コンテンツが含まれています。"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "接続エラー"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "サーバは無効なステータスコードで応答しました"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "例外が発生しました"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "サーバーが無効なContent-Length値で応答しました"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "画像サイズが大きすぎます"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "画像のダウンロードが最大サイズを超えました"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "リモートサーバーが空のレスポンスを返しました"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "指定されたURLは有効な画像ファイルではありません"
@@ -207,11 +199,11 @@ msgstr "指定されたURLは有効な画像ファイルではありません"
msgid "Log in to the app"
msgstr "アプリにログイン"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "メールアドレス"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "二要素認証を有効にする必要があります。"
@@ -255,135 +247,126 @@ msgstr "参照は必須パターンに一致する必要があります。"
msgid "Reference number is too large"
msgstr "参照番号が大きすぎる"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "お名前"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "説明"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "説明 (オプション)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "パス"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "同じ親に重複した名前は存在しません。"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "マークダウンメモ (オプション)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "バーコード情報"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "サードパーティ製バーコードデータ"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "バーコードハッシュ"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "バーコードデータのユニークなハッシュ"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "既存のバーコードが見つかりました"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "タスクの失敗"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "バックグラウンドワーカータスク'{f}'が{n}回試行した後に失敗しました"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "サーバーエラー"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "サーバーによってエラーが記録されました。"
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "画像"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "通貨"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "利用可能なオプションから通貨を選択してください"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "この項目は空欄にできません。"
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "無効な値です。"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "遠隔画像"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "外部画像ファイルのURL"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "外部URLからの画像ダウンロードは許可されていません"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "リモートURLからの画像ダウンロードに失敗しました"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "無効なコンテンツタイプ形式です"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "コンテンツタイプが見つかりません"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "コンテンツタイプが必須のミックスインクラスと一致しません"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,13 +520,13 @@ msgstr "中国語 (簡体字)"
msgid "Chinese (Traditional)"
msgstr "中国語 (繁体字)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
-msgstr ""
+msgstr "アップデートが利用可能"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
-msgstr ""
+msgstr "InvenTreeの更新版が利用可能になりました"
#: InvenTree/validators.py:28
msgid "Invalid physical unit"
@@ -553,30 +536,30 @@ msgstr "無効な物理単位"
msgid "Not a valid currency code"
msgstr "有効な通貨コードではありません。"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "注文ステータス"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "親ビルド"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "バリアントを含む"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "バリアントを含む"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "バリアントを含む"
msgid "Part"
msgstr "パーツ"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "カテゴリ"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "祖先ビルド"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "担当"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "割り当て"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "作成前"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "の後に作成されました。"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "開始日あり"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "開始日 前"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "開始日 後"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "目標期日あり"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "目標期日"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "以降の目標日"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "完成前"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "終了後"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "最小日付"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "最大日付"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "ツリーを除く"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "削除するには、ビルドをキャンセルする必要があります。"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "消耗品"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "オプション"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "アセンブリ"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "追跡"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "テスト可能"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "受注残高"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "割り当てられた"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
-msgstr ""
+msgstr "消費されました"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "利用可能"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "注文中"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "組立注文"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "場所"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
-msgstr ""
+msgstr "出力"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
-msgstr ""
+msgstr "出力ストックアイテムIDでフィルタリングします。未インストールビルドアイテムを検索するには「null」をご使用ください。"
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "組立注文"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "アセンブリBOMが検証されていません"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "非アクティブな部品にビルドオーダーを作成できません。"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "ロックされていない部品にビルドオーダーを作成できません。"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
-msgstr ""
+msgstr "ビルドオーダーを外部委託できるのは、購入可能部品のみです"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "担当ユーザーまたはグループを指定する必要があります。"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "ビルドオーダー部品は変更できません"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "目標期日は開始日以降であること"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "ビルド・オーダー・リファレンス"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "ビルド・オーダー・リファレンス"
msgid "Reference"
msgstr "参照"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "建築の簡単な説明(任意)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "このビルドが割り当てられる ビルドオーダー"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "製造する部品の選択"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "セールス・オーダー・リファレンス"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "このビルドが割り当てられる SalesOrder"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "ソース・ロケーション"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "このビルドで在庫を取得する場所を選択します(任意の在庫場所から取得する場合は空白のままにしてください)。"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
-msgstr ""
+msgstr "外部ビルド"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
-msgstr ""
+msgstr "このビルドオーダーは外部委託されます。"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "目的地"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "完成したアイテムの保管場所を選択"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "数量"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "構築するストックアイテムの数"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "完成品"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "完了した在庫アイテムの数"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "組立状況"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "ビルドステータスコード"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "バッチコード"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "このビルド出力のバッチコード"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "作成日時"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "ビルド開始日"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "この注文の開始予定日"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "完成目標日"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "ビルド完了目標日。この日付を過ぎると、ビルドは期限切れになります。"
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "完了日"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "完了者"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "発行者"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "このビルドオーダーを発行したユーザー"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "責任"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "このビルドオーダーを担当するユーザーまたはグループ"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "外部リンク"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "組立優先度"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "建設順序の優先順位"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "プロジェクトコード"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "プロジェクトコード"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
-msgstr ""
+msgstr "製造中の子ビルドがあるため、ビルドオーダーを完了できません"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
-msgstr ""
+msgstr "不完全な出力があるため、ビルドオーダーを完了できません"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "ビルドの割り当てを完了するタスクのオフロードに失敗しました。"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "ビルドオーダー{build}が完了しました"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "建設発注が完了しました"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "追跡可能な部品については、シリアル番号の提示が必要です。"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "ビルド出力が指定されていません"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "ビルド出力はすでに完了しています"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "ビルド出力がビルド順序と一致しません"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "数量はゼロより大きくなければなりません"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "数量が出力数量を上回ることはできません"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
-msgstr ""
+msgstr "ビルド出力は、必要なすべてのテストを通過していません"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "ビルド出力 {serial} は、必要なすべてのテストに合格していません。"
-#: build/models.py:1230
-msgid "Cannot partially complete a build output with allocated items"
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1211
+msgid "Cannot partially complete a build output with allocated items"
+msgstr "割り当てられた項目を含むビルド出力の一部のみを完了することはできません"
+
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "ビルドオーダーラインアイテム"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "ビルドオブジェクト"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,435 +1016,447 @@ msgstr "ビルドオブジェクト"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "注文数量"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
-msgstr ""
+msgstr "消費された在庫の数量"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "ビルド項目は、ビルド出力を指定する必要があります。"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "選択された在庫品目が部品表に一致しません。"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "シリアル在庫の場合、数量は1でなければなりません。"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりません。"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "在庫が過剰配分"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "割当数量はゼロより大きくなければなりません"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "シリアル在庫の場合、数量は1でなければなりません。"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "選択された在庫品目が部品表に一致しません。"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "在庫商品"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "ソース在庫品"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "建設に割り当てる在庫量"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "インストール"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "仕向け地在庫品"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "ビルドレベル"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "部品名"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "プロジェクトコードラベル"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "ビルド出力"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "ビルド出力が親ビルドと一致しません"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "出力部分が BuildOrder 部分と一致しません。"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "このビルド出力はすでに完了しています"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "このビルド出力は完全に割り当てられていません"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "ビルド出力の数量を入力"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "追跡可能な部品に必要な整数個数"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "部品表には追跡可能な部品が含まれるため、必要な数量は整数"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "シリアル番号"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "ビルド出力のためのシリアル番号の入力"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "ビルド出力のストック位置"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "シリアル番号の自動割り当て"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "以下のシリアル番号は既に存在するか、無効です。"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "ビルド出力のリストを提供する必要があります。"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "スクラップされたアウトプットの在庫場所"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "廃棄割り当て"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "廃棄されたアウトプットに割り当てられた在庫の破棄"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "ビルドアウトプットを廃棄する理由"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "完成した建造物のアウトプットの場所"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "不完全割当の受入れ"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "在庫が完全に割り当てられていない場合は、出力を完了します。"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "割当在庫の消費"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "このビルドに割り当て済みのストックを消費します。"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "不完全な出力の削除"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "完了していないビルド出力を削除します。"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "不可"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "このビルド・オーダーで消費されるものとして受け入れます。"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "このビルドオーダーを完了する前に割り当てを解除します。"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "総合在庫"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "製造オーダーに割り当てられた余分な在庫品をどのように処理しますか?"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "一部の在庫品目は全体的に配分されています。"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "未割り当ての受け入れ"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "在庫アイテムがこのビルド・オーダーに完全に割り当てられていないことを受け入れます。"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "必要在庫の配分が完了していません"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "インコンプリートの受け入れ"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "必要な数のビルドアウトプットが完了していないことを受け入れます。"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "必要な構築数量が完了していません"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "ビルド・オーダーには未完成の子ビルド・オーダーがあります。"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "受注生産状態であること"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "ビルド・オーダーの出力が不完全"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "組立ライン"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "ビルド出力"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "ビルド出力は同じビルド"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "ビルドラインアイテム"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "在庫があること"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "使用可能数量({q})を超過"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "追跡部品の割り当てには、ビルド出力を指定する必要があります。"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "追跡されていない部品の割り当てでは、ビルド出力を指定できません。"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "割り当て項目の提供"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "部品を調達する在庫場所(任意の場所から調達する場合は空白にしてください。)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "場所を除く"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "この選択された場所から在庫商品を除外"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "交換可能ストック"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "複数の拠点にある在庫品を交換可能"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "代替ストック"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "代替部品の割り当て"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "オプション"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "オプションのBOMアイテムをビルドオーダーに割り当てます。"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "自動割り当てタスクの開始に失敗しました"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "BOMリファレンス"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "BOMパーツID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "部品表 部品名"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "ビルド"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "サプライヤー"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "割当数量"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "ビルドリファレンス"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "部品分類名"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "追跡可能"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "継承"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "バリアントを許可"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "BOMアイテム"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "生産中"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
-msgstr ""
+msgstr "ビルド予定"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "外部在庫"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "在庫状況"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "利用可能な代替ストック"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "在庫状況"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
-msgstr ""
+msgstr "消費量が割り当て量を超過しています"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
-msgstr ""
+msgstr "在庫消費に関する任意の注記"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
-msgstr ""
+msgstr "ビルド項目は正しいビルドオーダーを指す必要があります"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
-msgstr ""
+msgstr "重複したビルド項目の割り当て"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
-msgstr ""
+msgstr "ビルドラインは正しいビルドオーダーを指す必要があります"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
-msgstr ""
+msgstr "重複したビルドラインの割り当て"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
-msgstr ""
+msgstr "少なくとも1つの項目または行を指示する必要があります"
#: build/status_codes.py:11 generic/states/tests.py:21
#: generic/states/tests.py:131 order/status_codes.py:12
@@ -1474,852 +1478,856 @@ msgstr "保留中"
msgid "Cancelled"
msgstr "キャンセル済"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "完了"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "受注生産に必要な在庫"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
-msgstr ""
+msgstr "ビルドオーダー{build}には追加の在庫が必要となります"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "期限切れ注文"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "ビルドオーダー{bo}は現在期限切れです"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "リンク"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "ファイル"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "ユーザーにはこれらの添付ファイルを削除する権限がありません。"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "ユーザーにはこの添付ファイルを削除する権限がありません"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "無効な通貨コード"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "通貨コードの重複"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "有効な通貨コードはありません"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "プラグインなし"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "プロジェクトコードラベル"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "更新しました"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "最終更新のタイムスタンプ"
#: common/models.py:143
msgid "Update By"
-msgstr ""
+msgstr "更新者:"
#: common/models.py:144
msgid "User who last updated this object"
-msgstr ""
+msgstr "このオブジェクトを最後に更新したユーザー"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "独自のプロジェクトコード"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "プロジェクトの説明"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "このプロジェクトを担当するユーザーまたはグループ"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "設定キー"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "設定値"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "選択された値は有効なオプションではありません。"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "値はブール値でなければなりません。"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "値は整数値でなければなりません。"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "値は有効な数値でなければなりません。"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "値がバリデーション・チェックに合格しない"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "キー文字列は一意でなければなりません。"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "ユーザー"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "価格破壊数量"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "価格"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "指定数量での単価"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "エンドポイント"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "このウェブフックを受信するエンドポイント"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "このウェブフックの名前"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "有効"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "このウェブフックはアクティブですか"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "トークン"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "アクセス用トークン"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "シークレット"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "HMACの共有秘密"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "このメッセージの一意な識別子"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "ホスト"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "このメッセージを受信したホスト"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "ヘッダー"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "このメッセージのヘッダー"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "本文"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "メッセージ本文"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "このメッセージを受信したエンドポイント"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "作業内容"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "このメッセージに関する作業は終わったのですか?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "タイトル"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "リンク"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "公開済み"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "投稿者"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "概要"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "既読"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "このニュースは読まれましたか?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "画像ファイル"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "この画像の対象モデルタイプ"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "この画像の対象モデルID"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "カスタムユニット"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "単位記号は一意でなければなりません。"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "ユニット名は有効な識別子でなければなりません。"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "ユニット名"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "シンボル"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "オプションの単位記号"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "定義"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "ユニットの定義"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "添付ファイル"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "ファイルがありません"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "モデルタイプ"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "画像の対象モデルタイプ"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "コメント:"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "添付コメント"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "アップロード日"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "ファイルがアップロードされた日付"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "ファイルサイズ"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "ファイルサイズ(バイト"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "添付ファイルに指定されたモデルタイプが無効です"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "カスタムステート"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "カスタムステート"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "リファレンス・ステータス・セット"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "このカスタム状態で拡張されたステータスセット"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "論理キー"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "ビジネスロジックでこのカスタムステートに等しいステート論理キー"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "値"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "モデルのデータベースに保存される数値"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "都道府県名"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "ラベル"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "フロントエンドに表示されるラベル"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "色"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "フロントエンドに表示される色"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "モデル"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "この状態が関連するモデル"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "モデルを選択する必要があります"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "キーを選択する必要があります。"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "論理キーを選択する必要があります。"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "キーは論理キーと異なる必要があります。"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "有効な参照ステータスクラスが提供されなければならない"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "キーは、参照ステータスの論理キーとは異なる必要があります。"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "論理キーは、参照ステータスの論理キーに含まれていなければなりません。"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "リファレンス・ステータスの名前とは異なっていなければならない。"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "セレクションリスト"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "セレクション・リスト"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "選択リストの名前"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "選択リストの説明"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "ロック中"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "この選択リストはロックされていますか?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "このセレクションリストは使えますか?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "ソースプラグイン"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "選択リストを提供するプラグイン"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "ソースストリング"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "このリストに使用されているソースを示すオプションの文字列"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "デフォルトエントリー"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "この選択リストのデフォルト項目"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "作成日"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "選択リストが作成された日時"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "最終更新"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "選択リストが最後に更新された日時"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "セレクションリスト入力"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "セレクションリスト"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "このエントリーが属する選択リスト"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "選択リストエントリーの値"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "選択リスト項目のラベル"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "選択リスト項目の説明"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "この選択リストはアクティブですか?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "パラメータテンプレート"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "パラメータテンプレート"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "チェックボックスのパラメータに単位を指定することはできません。"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "チェックボックスパラメータに選択肢を持たせることはできません。"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "選択肢はユニークでなければなりません"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "パラメータ・テンプレート名は一意でなければなりません。"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "このパラメータテンプレートにおける対象モデルタイプ"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "パラメータ名"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "単位"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "このパラメータの物理単位"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "パラメータの説明"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "チェックボックス"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "このパラメータはチェックボックスですか?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "選択肢"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "このパラメータの有効な選択肢(カンマ区切り)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "このパラメータの選択リスト"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "有効"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "このパラメータテンプレートは有効ですか?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "パラメータ"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "パラメータ"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "パラメータ値の選択が無効"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "パラメータに対して無効なモデルタイプが指定されています"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "モデルID"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "このパラメータの対象となるモデルのID"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "パラメータテンプレート"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "データ"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "パラメータ値"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "備考"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "任意のメモ欄"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "バーコードスキャン"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "バーコードデータ"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "バーコードをスキャンしたユーザー"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "タイムスタンプ"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "バーコードスキャンの日時"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "バーコードを処理したURLエンドポイント"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "コンテキスト"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "バーコードスキャンのコンテキストデータ"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "返答"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "バーコードスキャンによるレスポンスデータ"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "結果"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "バーコードスキャンは成功しましたか?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
-msgstr ""
+msgstr "エラーが発生しました"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
-msgstr ""
+msgstr "INVE-E8: メールログの削除は保護されています。削除を許可するには、INVENTREE_PROTECT_EMAIL_LOG を False に設定してください。"
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
-msgstr ""
+msgstr "メールメッセージ"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
-msgstr ""
+msgstr "メールメッセージ"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
-msgstr ""
-
-#: common/models.py:2999
-msgid "Sent"
-msgstr ""
-
-#: common/models.py:3000
-msgid "Failed"
-msgstr ""
-
-#: common/models.py:3003
-msgid "Delivered"
-msgstr ""
-
-#: common/models.py:3011
-msgid "Confirmed"
-msgstr ""
-
-#: common/models.py:3017
-msgid "Inbound"
-msgstr ""
+msgstr "発表されました"
#: common/models.py:3018
+msgid "Sent"
+msgstr "送信"
+
+#: common/models.py:3019
+msgid "Failed"
+msgstr "失敗"
+
+#: common/models.py:3022
+msgid "Delivered"
+msgstr "配送済み"
+
+#: common/models.py:3030
+msgid "Confirmed"
+msgstr "確認済み"
+
+#: common/models.py:3036
+msgid "Inbound"
+msgstr "インバウンド"
+
+#: common/models.py:3037
msgid "Outbound"
-msgstr ""
-
-#: common/models.py:3023
-msgid "No Reply"
-msgstr ""
-
-#: common/models.py:3024
-msgid "Track Delivery"
-msgstr ""
-
-#: common/models.py:3025
-msgid "Track Read"
-msgstr ""
-
-#: common/models.py:3026
-msgid "Track Click"
-msgstr ""
-
-#: common/models.py:3029 common/models.py:3132
-msgid "Global ID"
-msgstr ""
+msgstr "アウトバウンド"
#: common/models.py:3042
-msgid "Identifier for this message (might be supplied by external system)"
-msgstr ""
+msgid "No Reply"
+msgstr "返信なし"
-#: common/models.py:3049
-msgid "Thread ID"
-msgstr ""
+#: common/models.py:3043
+msgid "Track Delivery"
+msgstr "配送状況を記録"
-#: common/models.py:3051
-msgid "Identifier for this message thread (might be supplied by external system)"
-msgstr ""
+#: common/models.py:3044
+msgid "Track Read"
+msgstr "読み取りを記録"
-#: common/models.py:3060
-msgid "Thread"
-msgstr ""
+#: common/models.py:3045
+msgid "Track Click"
+msgstr "クリックを記録"
+
+#: common/models.py:3048 common/models.py:3151
+msgid "Global ID"
+msgstr "グローバルID"
#: common/models.py:3061
+msgid "Identifier for this message (might be supplied by external system)"
+msgstr "このメッセージの識別子(外部システムから提供される場合があります)"
+
+#: common/models.py:3068
+msgid "Thread ID"
+msgstr "スレッドID"
+
+#: common/models.py:3070
+msgid "Identifier for this message thread (might be supplied by external system)"
+msgstr "このメッセージスレッドの識別子(外部システムから提供される場合があります)"
+
+#: common/models.py:3079
+msgid "Thread"
+msgstr "スレッド"
+
+#: common/models.py:3080
msgid "Linked thread for this message"
-msgstr ""
+msgstr "このメッセージに関連するスレッド"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "優先順位"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
-msgstr ""
+msgstr "メールのスレッド"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
-msgstr ""
+msgstr "メールのスレッド"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "キー"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
-msgstr ""
+msgstr "このスレッドの固有キー(スレッドを識別するために使用されます)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
-msgstr ""
+msgstr "このスレッドの固有識別子"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
-msgstr ""
+msgstr "内部を開始しました"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
-msgstr ""
+msgstr "このスレッドは内部で開始されたものですか?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
-msgstr ""
+msgstr "スレッドが作成された日時"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
-msgstr ""
+msgstr "スレッドが最後に更新された日時"
#: common/notifications.py:57
#, python-brace-format
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} キャンセル"
msgid "A order that is assigned to you was canceled"
msgstr "あなたに割り当てられた注文がキャンセルされました。"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "受領品目"
@@ -2351,93 +2359,101 @@ msgstr "発注書と照らし合わせて商品を受領"
msgid "Items have been received against a return order"
msgstr "返品注文に反して商品が届いた場合"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
-msgstr ""
+msgstr "環境変数によって設定が上書きされるかどうかを示します"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
-msgstr ""
+msgstr "上書き"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "走行中"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "保留タスク"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "スケジュールされたタスク"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "失敗したタスク"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "タスクID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ユニークなタスクID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "ロック"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "ロック時間"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "タスク名"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "関数"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "機能名"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "引数"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "タスク引数"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "キーワード論争"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "タスクキーワード引数"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "ファイル名"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "モデルタイプ"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "このモデルの添付ファイルを作成または編集する権限がありません。"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "ユーザーは、このモデルのパラメータを作成または編集する権限がありません。"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "選択リストがロックされています"
@@ -2445,1131 +2461,1160 @@ msgstr "選択リストがロックされています"
msgid "No group"
msgstr "グループなし"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "サイトのURLが設定によってロックされています"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "再起動が必要"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "サーバーの再起動を必要とする設定が変更されました。"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "保留中の移行"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "保留中のデータベース移行数"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
-msgstr ""
+msgstr "有効な警告コード"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
-msgstr ""
+msgstr "有効な警告コードの辞書"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "インスタンスID"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "このInvenTreeインスタンスの一意識別子"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "アナウンスID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "サーバーのインスタンスIDをサーバーステータス情報でアナウンス(認証なし)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "サーバーインスタンス名"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "サーバーインスタンスの文字列記述子"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "インスタンス名を使用"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "タイトルバーにインスタンス名を使用"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "about`を表示する制限"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "スーパーユーザーにのみ `about` モーダルを表示します。"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "会社名"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "社内社名"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "ベース URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "サーバーインスタンスのベースURL"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "デフォルトの通貨"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "価格計算のベース通貨を選択"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "対応通貨"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "対応通貨コード一覧"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "通貨の更新間隔"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "為替レートの更新頻度 (ゼロに設定すると無効になります)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "日"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "通貨更新プラグイン"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "通貨更新プラグイン"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "URLからダウンロード"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "外部URLからの画像ダウンロードを許可する"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "ダウンロードサイズ制限"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "外部URL画像の最大サイズ"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "URLからのダウンロードに使用されるユーザーエージェント"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "外部URLから画像やファイルをダウンロードする際に使用するユーザーエージェントを上書きすることができます。"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "厳格なURLバリデーション"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "URL検証時にスキーマ指定を要求"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "更新チェック間隔"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "アップデートをチェックする頻度 (ゼロに設定すると無効になります)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "自動バックアップ"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "データベースとメディアファイルの自動バックアップ"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "自動バックアップ間隔"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "自動バックアップイベント間の日数を指定"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "タスク削除間隔"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "バックグラウンドタスクの結果は、指定した日数後に削除されます。"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "エラーログ削除間隔"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "エラーログは指定した日数後に削除されます。"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "通知削除間隔"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "ユーザー通知は指定された日数後に削除されます。"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
-msgstr ""
+msgstr "メール削除間隔"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
-msgstr ""
+msgstr "メールメッセージは、指定された日数が経過後に削除されます。"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
-msgstr ""
+msgstr "メールログの保護"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
-msgstr ""
+msgstr "メールログエントリの削除を防止します"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "バーコードサポート"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "ウェブインターフェイスでバーコードスキャナのサポートを有効にします。"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "店舗バーコード結果"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "バーコードスキャン結果をデータベースに保存"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "バーコードスキャン最大カウント"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "バーコードスキャン結果の最大保存数"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "バーコード入力遅延"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "バーコード入力処理遅延時間"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "バーコードウェブカメラサポート"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "ブラウザのウェブカメラでバーコードのスキャンが可能"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "バーコード表示データ"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "バーコードデータをテキストとしてブラウザに表示"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "バーコード生成プラグイン"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "内部バーコードデータ生成に使用するプラグイン"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "部品改訂"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "パートのリビジョンフィールドを有効にします。"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "アセンブリ改訂のみ"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "組立部品のみ修正可能"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "アセンブリからの削除を許可"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "アセンブリで使用されている部品の削除を許可します。"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN 正規表現"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "部分IPNにマッチする正規表現パターン"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "IPNの重複を許可"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "複数のパートが同じIPNを共有できるようにします。"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "IPNの編集を許可"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "部品編集中にIPN値の変更を許可"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "部品表データのコピー"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "部品複製時にBOMデータをデフォルトでコピー"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "部品パラメータデータのコピー"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "部品複製時にデフォルトでパラメータデータをコピー"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "コピー部品テストデータ"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "部品複製時にテストデータをデフォルトでコピー"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "カテゴリー・パラメーター・テンプレートのコピー"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "部品作成時のカテゴリー・パラメーター・テンプレートのコピー"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "コンポーネント"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "購入可能"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "販売可能"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "バーチャル"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "パーツはデフォルトでバーチャル"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "関連部品を表示"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "部品の関連部品を表示"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "初期在庫データ"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "新規部品追加時に初期在庫を作成可能"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "サプライヤー初期データ"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "新しい部品を追加する際に、最初のサプライヤーデータを作成できるようにします。"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "部品名表示形式"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "部品名の表示形式"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "パーツカテゴリー デフォルトアイコン"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "パートカテゴリのデフォルトアイコン(空はアイコンがないことを意味します)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "価格の最小桁数"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "価格データのレンダリング時に表示する最小小数点以下の桁数"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "価格の小数点以下の桁数"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "価格データのレンダリング時に表示する小数点以下の桁数の最大値"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "サプライヤー価格の利用"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "全体的な価格計算にサプライヤーの価格破壊を含めること"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "購入履歴の上書き"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "過去の発注価格がサプライヤーの価格変動を上書き"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "ストックアイテム価格を使用"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "手動入力された在庫データから価格計算を行います。"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "在庫商品の価格設定年齢"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "この日数より古い在庫品を価格計算から除外します。"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "バリアント価格を使用"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "全体的な価格計算にバリアント価格を含む"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "アクティブバリアントのみ"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "バリアント価格の計算には、アクティブなバリアントパーツのみを使用します。"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
-msgstr ""
+msgstr "自動更新の価格設定"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
-msgstr ""
+msgstr "内部データが変更された際に、部品価格を自動的に更新します。"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "価格の再構築間隔"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "部品価格が自動的に更新されるまでの日数"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "社内価格"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "部品の内部価格の有効化"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "内部価格オーバーライド"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "利用可能な場合、内部価格は価格帯の計算より優先されます。"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "ラベル印刷の有効化"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "ウェブインターフェースからラベル印刷を有効にします。"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "ラベル画像DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "ラベル印刷プラグインに供給する画像ファイルを生成する際のDPI解像度"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "レポートの有効化"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "レポートの作成"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "デバッグモード"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "デバッグモードでのレポート生成(HTML出力)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "ログレポートエラー"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "レポート生成時に発生するエラーのログ"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "ページサイズ"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "PDFレポートのデフォルトのページサイズ"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "パラメータ単位の強制"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "単位が指定されている場合、パラメータ値は指定された単位に一致する必要があります。"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "世界的にユニークな連載"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "在庫品のシリアル番号はグローバルに一意でなければなりません。"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "枯渇在庫の削除"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "ストックアイテムが枯渇した場合のデフォルトの動作を決定します。"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "バッチコードテンプレート"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "ストックアイテムのデフォルトバッチコード生成用テンプレート"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "有効期限"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "在庫期限切れ機能の有効化"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "期限切れ株式の売却"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "期限切れ株式の売却を許可"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "在庫切れ時間"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "在庫品が期限切れとみなされるまでの日数"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "賞味期限切れ在庫の処理"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "期限切れの在庫を使用した建物の建築を許可"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "株式所有権"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "ストックロケーションとアイテムの所有権管理"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "在庫場所 デフォルトアイコン"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "在庫場所のデフォルトアイコン(空はアイコンがないことを意味します。)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "インストール済みストックアイテムの表示"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "ストックテーブルにインストールされたストックアイテムを表示"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "アイテム取り付けの際はBOMをチェック"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "親部品のBOMには、インストールされたストックアイテムが存在する必要があります。"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "在庫切れの転送を許可"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "在庫のないストックアイテムをストックロケーション間で移動可能"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "ビルド・オーダー参照パターン"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Build Order参照フィールドの生成に必要なパターン"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "責任ある所有者を要求"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "各注文には、責任ある所有者を指定する必要があります。"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "アクティブパートが必要"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "非稼動部品の製造オーダー作成を防止"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "ロックされた部分を要求"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "ロックされていない部品の製造オーダー作成を防止"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "有効なBOMが必要"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "BOMが検証されない限り、製造オーダーが作成されないようにします。"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "クローズド・チャイルド・オーダー"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "すべてのチャイルドオーダーが終了するまで、ビルドオーダーの完了を防止します。"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
-msgstr ""
+msgstr "外部ビルドオーダー"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
-msgstr ""
+msgstr "外部ビルドオーダー機能の有効化"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "テストがパスするまでブロック"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "必要なテストがすべて合格するまで、ビルド出力が完了しないようにします。"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "返品注文の有効化"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "ユーザーインターフェイスで返品注文機能を有効にします。"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "リターンオーダー参照パターン"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "返品注文参照フィールドの生成に必要なパターン"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "完了した返品注文の編集"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "注文完了後の返品注文の編集が可能"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "販売注文参照パターン"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "販売注文参照フィールドの生成に必要なパターン"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "販売注文のデフォルト出荷"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "販売注文でデフォルト出荷を作成可能"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "完了した販売注文の編集"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "出荷または完了後の販売注文の編集を許可します。"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "出荷には確認が必要です"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "商品が確認されるまで、出荷の完了をお控えください。"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "出荷された注文を完了としてマーク"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "出荷済みと表示された販売注文は、「出荷済み」ステータスを回避して自動的に完了します。"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "発注書参照パターン"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "発注書参照フィールドの生成に必要なパターン"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "完了した発注書の編集"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "出荷後または完了後の発注書の編集が可能"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "通貨の変換"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "在庫を受け取る際、商品価値を基準通貨に変換"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "自動発注"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "すべての品目を受領した時点で、発注書を完了として自動的にマーク"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "パスワード忘れ"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "ログインページでのパスワード忘れ防止機能の有効化"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "登録の有効化"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "ログインページでユーザーの自己登録を可能にします。"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "SSOの有効化"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "ログインページでSSOを有効化"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "SSO登録の有効化"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "ログインページでSSOによるユーザーの自己登録を可能にします。"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "SSOグループ同期の有効化"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "InvenTreeグループとIdPが提供するグループの同期を有効にします。"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSOグループキー"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "IdP が提供する groups claim 属性の名前。"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "SSOグループマップ"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "SSOグループからローカルのInvenTreeグループへのマッピング。ローカル・グループが存在しない場合は、作成されます。"
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "SSO外のグループを削除"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "ユーザーに割り当てられたグループがIdPによってバックエンドされていない場合に削除するかどうか。この設定を無効にすると、セキュリティ上の問題が発生する可能性があります。"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "メールアドレスは必須です"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "サインアップ時にメールの入力を要求"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "SSOユーザーの自動入力"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "SSOアカウントデータからユーザー詳細を自動入力"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "メール2回"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "サインアップの際、ユーザーに2度メールを尋ねます。"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "パスワード2回"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "サインアップ時にパスワードを2回要求"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "許可ドメイン"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "特定のドメイン(@で始まるカンマ区切り)へのサインアップを制限します。"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "登録時のグループ"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "新規ユーザ登録時に割り当てられるグループ。SSOグループ同期が有効な場合、このグループはIdPからグループを割り当てられない場合にのみ設定されます。"
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "MFAの実施"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "ユーザーは多要素セキュリティを使用する必要があります。"
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "起動時にプラグインをチェック"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "起動時にすべてのプラグインがインストールされていることを確認 - コンテナ環境では有効にします。"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "プラグインのアップデートの確認"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "インストールされているプラグインのアップデートを定期的にチェックします。"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "URL統合の有効化"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "プラグインがURLルートを追加できるようにします"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "ナビゲーション統合の有効化"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "プラグインをナビゲーションに統合可能"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "アプリとの統合"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "プラグインを有効にしてアプリを追加"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "スケジュール統合の有効化"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "スケジュールタスクを実行するプラグインの有効化"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "イベント統合の有効化"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "プラグインが内部イベントに応答できるようにします。"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "インターフェース統合の有効化"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "プラグインがユーザー・インターフェースに統合できるようにします。"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
-msgstr ""
+msgstr "メール連携を有効にする"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
-msgstr ""
+msgstr "プラグインを有効にして、送信/受信メールを処理できるようにします"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "プロジェクトコードの有効化"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "プロジェクトを追跡するためのプロジェクトコードの有効化"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
-msgstr ""
+msgstr "過去の在庫数量および価値を記録する機能を有効にします"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "外部ロケーションを除く"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "自動引取期間"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "ユーザーのフルネームを表示"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "ユーザー名の代わりにフルネームを表示"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "ユーザープロファイルの表示"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "プロフィールページにユーザーのプロフィールを表示"
-
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "テストステーションデータの有効化"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "テスト結果のテストステーションデータ収集の有効化"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
-msgid "Enable periodic ping task of registered machines to check their status"
+msgid "Stocktake entries will be deleted after specified number of days"
msgstr ""
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "ユーザーのフルネームを表示"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "ユーザー名の代わりにフルネームを表示"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "ユーザープロファイルの表示"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "プロフィールページにユーザーのプロフィールを表示"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "テストステーションデータの有効化"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "テスト結果のテストステーションデータ収集の有効化"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr "マシン ping を有効にする"
+
+#: common/setting/system.py:1187
+msgid "Enable periodic ping task of registered machines to check their status"
+msgstr "登録されたマシンの状態を確認するため、定期的なpingタスクを有効にしてください"
+
#: common/setting/user.py:23
msgid "Inline label display"
msgstr "インラインラベル表示"
@@ -3596,11 +3641,11 @@ msgstr "ファイルとしてダウンロードする代わりに、ブラウザ
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "フォームフィールド内のバーコードスキャナー"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "フォームフィールドへのバーコードスキャナー入力の許可"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3788,19 +3833,19 @@ msgstr "ナビバーの位置は画面上部に固定されます。"
#: common/setting/user.py:195
msgid "Fixed Table Headers"
-msgstr ""
+msgstr "固定された表の見出し"
#: common/setting/user.py:196
msgid "Table headers are fixed to the top of the table"
-msgstr ""
+msgstr "表の見出しは表の上部に固定されています"
#: common/setting/user.py:201
msgid "Show Spotlight"
-msgstr ""
+msgstr "スポットライトを表示する"
#: common/setting/user.py:202
msgid "Enable spotlight navigation functionality"
-msgstr ""
+msgstr "スポットライトナビゲーション機能を有効にする"
#: common/setting/user.py:207
msgid "Navigation Icons"
@@ -3820,11 +3865,11 @@ msgstr "日付の表示形式"
#: common/setting/user.py:227
msgid "Show Stock History"
-msgstr ""
+msgstr "在庫履歴を表示する"
#: common/setting/user.py:228
msgid "Display stock history information in the part detail page"
-msgstr ""
+msgstr "部品詳細ページに在庫履歴情報を表示します"
#: common/setting/user.py:233
msgid "Show Last Breadcrumb"
@@ -3836,19 +3881,19 @@ msgstr "現在のページをパンくずで表示"
#: common/setting/user.py:239
msgid "Show full stock location in tables"
-msgstr ""
+msgstr "表に在庫場所をすべて表示します"
#: common/setting/user.py:241
msgid "Disabled: The full location path is displayed as a hover tooltip. Enabled: The full location path is displayed as plain text."
-msgstr ""
+msgstr "無効時:完全な場所のパスがホバーツールチップとして表示されます。有効時:完全な場所のパスがプレーンテキストとして表示されます。"
#: common/setting/user.py:247
msgid "Show full part categories in tables"
-msgstr ""
+msgstr "表内の全カテゴリを表示します"
#: common/setting/user.py:249
msgid "Disabled: The full category path is displayed as a hover tooltip. Enabled: The full category path is displayed as plain text."
-msgstr ""
+msgstr "無効時:カテゴリの完全なパスがホバー時のツールチップとして表示されます。有効時:カテゴリの完全なパスがプレーンテキストとして表示されます。"
#: common/setting/user.py:255
msgid "Receive error reports"
@@ -3868,7 +3913,7 @@ msgstr "ユーザーの最後に使用した印刷機を保存"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "全モデル"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "パートはアクティブ"
msgid "Manufacturer is Active"
msgstr "メーカーはアクティブ"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "サプライヤーが活動中"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "内部はアクティブ"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "サプライヤーの活動"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "製造元"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "会社名"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "在庫あり"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "会社"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "会社概要"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "会社概要"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "ウェブサイト"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "会社ホームページURL"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "電話番号"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "連絡先電話番号"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "連絡先メールアドレス"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "お問い合わせ"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "連絡先"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "外部企業情報へのリンク"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "この会社は活動していますか?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "お客様"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "この会社に商品を販売していますか?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "サプライヤー"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "この会社から商品を購入しますか?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "メーカーは"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "この会社は部品を製造しているのですか?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "この会社で使用されるデフォルト通貨"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
-msgstr ""
+msgstr "納税者番号"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
-msgstr ""
+msgstr "法人税番号"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "住所"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "マイアカウント"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "会社を選択"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "住所"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "アドレスエントリを説明するタイトル"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "主な住所"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "プライマリアドレスに設定"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "1行目"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "丁目、番地、号など"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "2行目"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "建物名、部屋番号など"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "郵便番号"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "都市/地域"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "郵便番号 都市/地域"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "都道府県"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "都道府県"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "国"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "住所国"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "宅配便発送に関する注意事項"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "宅配便発送時の注意事項"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "社内出荷に関する注意事項"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "社内用出荷注意事項"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "住所情報へのリンク(外部)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "ベース部"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "部品を選択"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "メーカー選択"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "メーカー品番"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "外部メーカー部品リンク用URL"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "メーカー部品説明"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "パックユニットは、ベースユニットと互換性がある必要があります。"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "パック単位はゼロより大きくなければなりません。"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "リンクされたメーカー部品は、同じベース部品を参照する必要があります。"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "仕入先"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "サプライヤーを選択"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "サプライヤー在庫管理ユニット"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "このサプライヤーは活動していますか?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "メーカー部品の選択"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "外部サプライヤー部品リンク用URL"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "サプライヤーの部品説明"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "基本料金"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "ミニマムチャージ(例:仕入れ手数料)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "パッケージング"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "部品梱包"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "パック数量"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "1パックに供給される総量。単品の場合は空のままにしてください。"
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "複数"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "複数注文"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "サプライヤーから入手可能な数量"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "空席状況更新"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "アベイラビリティ・データの最終更新日"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "サプライヤーの価格破壊"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "プライマリ・アドレスの文字列表現を返します。このプロパティは後方互換性のために存在します。"
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "このサプライヤーで使用されるデフォルト通貨"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "会社名"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "在庫あり"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "価格割り引き"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "データのエクスポート中にエラーが発生しました"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "データエクスポートプラグインが不正なデータ形式を返しました"
@@ -4318,121 +4367,121 @@ msgstr "設置済"
msgid "Invalid status code"
msgstr "無効なステータスコード"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "データファイル"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "インポートするデータファイル"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "カラム"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "このインポートセッションのターゲットモデルタイプ"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "インポートの状態"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "フィールドのデフォルト"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "フィールドのオーバーライド"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "フィールドフィルター"
-#: importer/models.py:126
-msgid "Update Existing Records"
-msgstr ""
-
#: importer/models.py:127
-msgid "If enabled, existing records will be updated with new data"
-msgstr ""
+msgid "Update Existing Records"
+msgstr "既存の記録を更新する"
-#: importer/models.py:259
+#: importer/models.py:128
+msgid "If enabled, existing records will be updated with new data"
+msgstr "有効にされた場合、既存のレコードは新しいデータで更新されます"
+
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "一部の必須フィールドがマッピングされていません"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
-msgstr ""
+msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
-msgstr ""
+msgstr "レコードの既存データベース識別子"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "カラムはすでにデータベースのフィールドにマッピングされています。"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "フィールドはすでにデータ列にマッピングされています。"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "カラムマッピングは有効なインポートセッションにリンクされている必要があります。"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "カラムがデータファイルに存在しません。"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "対象モデルにフィールドが存在しない"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "選択されたフィールドは読み取り専用です。"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "インポートセッション"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "フィールド"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "列"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "行インデックス"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "元の行データ"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "エラー"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "有効"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
-msgstr ""
+msgstr "既存の記録を更新するにはIDが必要です。"
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
-msgstr ""
+msgstr "指定のIDで該当する記録は見つかりませんでした"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
-msgstr ""
+msgstr "無効なID形式が指定されました"
#: importer/operations.py:31 importer/operations.py:52
msgid "Unsupported data file format"
@@ -4530,7 +4579,7 @@ msgstr "各ラベルの印刷部数"
msgid "Connected"
msgstr "接続済み"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "不明"
@@ -4540,7 +4589,7 @@ msgstr "印刷"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "警告"
#: machine/machine_types/label_printer.py:235
msgid "No media"
@@ -4556,7 +4605,7 @@ msgstr "ネットワーク接続なし"
#: machine/machine_types/label_printer.py:238
msgid "Error"
-msgstr ""
+msgstr "エラー"
#: machine/machine_types/label_printer.py:245
msgid "Label Printer"
@@ -4628,11 +4677,11 @@ msgstr "設定タイプ"
#: machine/serializers.py:24
msgid "Key of the property"
-msgstr ""
+msgstr "プロパティーキー"
#: machine/serializers.py:27
msgid "Value of the property"
-msgstr ""
+msgstr "プロパティー値"
#: machine/serializers.py:30 users/models.py:238
msgid "Group"
@@ -4640,123 +4689,135 @@ msgstr "グループ"
#: machine/serializers.py:30
msgid "Grouping of the property"
-msgstr ""
+msgstr "プロパティーのグループ"
#: machine/serializers.py:33
msgid "Type"
-msgstr ""
+msgstr "タイプ"
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "プロパティーの種類"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "最大進捗"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
-msgstr ""
+msgstr "進行状況タイプの場合の最大値。type=progress の場合に必須です。"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "注文参照"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "並外れた"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "プロジェクトコード"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "作成者"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "作成前"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "の後に作成されました。"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "開始日あり"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "開始日 前"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "開始日 後"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "目標期日あり"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "目標期日"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "以降の目標日"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "価格"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "完成前"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "終了後"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
-msgstr ""
+msgstr "外部ビルドオーダー"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "注文"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "注文完了"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "内部パーツ"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "注文保留"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "完了"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "出荷あり"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "注文"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "注文"
msgid "Sales Order"
msgstr "セールスオーダー"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "合計金額"
msgid "Total price for this order"
msgstr "この注文の合計金額"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "注文通貨"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "この注文の通貨(会社のデフォルトを使用する場合は空白のままにしてください。)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "この注文はロックされており、変更できません。"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "連絡先が選択した会社と一致しません"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "開始日は目標期日より前でなければなりません。"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "指定の会社と住所が一致しません"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "ご注文内容(任意)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "この注文のプロジェクトコードを選択してください。"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "外部ページへのリンク"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "開始日"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "本注文の開始予定日"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "終了日に達したら"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "お届け予定日この期日を過ぎますと延滞となります。"
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "発行日"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "オーダー発行日"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "この注文を担当するユーザーまたはグループ"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "本注文に関する連絡先"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "本注文の会社住所"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "注文参照"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "ステータス"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "発注状況"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "注文元の会社"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "サプライヤー・リファレンス"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "サプライヤー注文参照コード"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "受信"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "注文完了日"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "目的地"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "入荷商品のお届け先"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "部品サプライヤーは、POサプライヤーと一致する必要があります。"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "品目が発注書と一致しません"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
-msgstr ""
+msgstr "行項目にリンクされた部品が不足しています"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "数量は正の数でなければなりません。"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "顧客"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "販売先"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "販売注文状況"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "お客様リファレンス"
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "顧客注文参照コード"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "出荷日"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "出荷元"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "注文はすでに完了しています。"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "注文はすでにキャンセルされました"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "未完了の注文にのみ完了マークを付けることができます。"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "出荷に不備があるため、注文を完了できません。"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "割り当てに不備があるため、注文を完了できません。"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "不完全な項目があるため、注文を完了できません。"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "注文はロックされ、変更できません。"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "品目数量"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "行項目参照"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "項目"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "この行項目の目標期日(注文の目標期日を使用する場合は空白のままにしてください。)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "行項目の説明(オプション)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "この行の補足説明"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "単価"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "発注書項目"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "サプライヤーの部品はサプライヤーと一致しなければなりません。"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
-msgstr ""
+msgstr "ビルドオーダーは外部としてマークする必要があります"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
-msgstr ""
+msgstr "ビルドオーダーはアセンブリ部品にのみリンクできます"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
-msgstr ""
+msgstr "ビルドオーダーの部品は、ラインアイテムの部品と一致する必要があります。"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "サプライヤー"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "受信"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "受領品目数"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "購入金額"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "購入単価"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
-msgstr ""
+msgstr "本品目により完成する外部ビルドオーダー"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "発注書追加行"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "販売注文明細"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "販売可能な部品のみを販売オーダーに割り当てることができます。"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "セール価格"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "販売単価"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "発送済み"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "出荷数量"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "販売注文の出荷"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "配送先住所はお客様と一致している必要があります"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "こちらの発送先住所"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "出荷日"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "配達日"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "貨物の引渡日"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "チェック済み"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "この貨物をチェックしたユーザー"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "発送"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "出荷番号"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "追跡番号"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "貨物追跡情報"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "請求書番号"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "関連する請求書の参照番号"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "発送済み"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "出荷品目に割り当てられた在庫がありません"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "出荷は完了前に必ず確認が必要となります"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "セールスオーダー追加ライン"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "販売注文の割り当て"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "在庫アイテムが割り当てられていません"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "在庫品を別部品のラインに割り当てることはできません。"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "部品のないラインに在庫を割り当てることはできません。"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "割当数量が在庫数量を超えることはできません"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "割当数量はゼロより大きくなければなりません"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "シリアル化された在庫品の場合、数量は1でなければなりません。"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "販売注文と出荷が一致しません"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "出荷が販売注文と一致しません"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "ライン"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "販売注文の出荷参照"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "アイテム"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "割り当てるストックアイテムを選択"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "在庫割当数量の入力"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "リターンオーダー参照"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "返品元の会社"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "返品状況"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "返品注文項目"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "在庫品の指定が必要です。"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "返品数量が在庫数量を超える場合"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "返品数量はゼロより大きくなければなりません。"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "シリアル化されたストックアイテムの数量が無効です。"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "お客様から返品する商品を選択"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "受領日"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "この返品商品が届いた日付"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "転帰"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "この項目の成果"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "この品目の返品または修理に関連する費用"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "リターンオーダー追加ライン"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "注文ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "複製する注文のID"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "コピーライン"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "元の注文から行項目をコピー"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "余分な行をコピー"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "元の注文から余分な項目をコピー"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "コピーパラメータ"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "ラインアイテム"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "完成路線"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "重複した注文"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "この注文を複製するためのオプションを指定します。"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "無効なオーダーID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "サプライヤー名"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "ご注文のキャンセルはできません。"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "未完了の行項目で注文を閉じることができます。"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "注文に不備がある場合"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "ご注文は受け付けておりません。"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "自動車価格"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "サプライヤーの部品データに基づいて購入価格を自動計算"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "購入価格通貨"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "アイテムのマージ"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品目に統合します。"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "内部部品番号"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "内部部品名"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "サプライヤー部品の指定が必要"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "注文書の指定が必要"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "サプライヤーは発注書と一致しなければなりません。"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "発注書はサプライヤーと一致している必要があります。"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "明細"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "受取商品の配送先選択"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "入荷在庫品のバッチコード入力"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "有効期限"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "入荷在庫の有効期限の入力"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "入荷した在庫品のシリアル番号の入力"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "入荷在庫品の包装情報の上書き"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "在庫品の入荷に関する注意事項"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "バーコード"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "スキャンされたバーコード"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "バーコードはすでに使用されています"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "項目は必ずご記入ください。"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "デスティネーション・ロケーションを指定する必要があります。"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "バーコードの値は一意でなければなりません。"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "発送"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "完了した出荷"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "販売価格通貨"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "割当項目"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "出荷の詳細は記載されていません"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "ラインアイテムは、この注文に関連付けられていません。"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "数量は正数でなければなりません。"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "割り当てるシリアル番号を入力"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "出荷済み"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "この注文には出荷が関連付けられていません"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "以下のシリアル番号に該当するものは見つかりませんでした。"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "以下のシリアル番号はご利用いただけません。"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "返品注文項目"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "ラインアイテムが返品オーダーと一致しません"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "ラインアイテムはすでに受領済み"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "商品の受け取りは、進行中の注文に対してのみ可能です。"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "返品数量"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "ライン価格通貨"
@@ -5532,1177 +5613,1229 @@ msgstr "返金"
msgid "Reject"
msgstr "拒否"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "期限切れ発注書"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "発注書{po}は現在期限切れです"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "期限切れ販売注文"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "セールスオーダー{so}は現在期限切れです。"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "期限切れ返品注文"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "リターンオーダー{ro}は現在期限切れです"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "スター付き"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "星の数で絞り込む"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "深さ"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "カテゴリの深さでフィルタリング"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "最多メンバーレベル"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "トップレベルカテゴリーによるフィルタリング"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "カスケード表示"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "フィルタリング結果にサブカテゴリーを含めることができます。"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "親"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "親カテゴリーによる絞り込み"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "指定したカテゴリの下にあるサブカテゴリを除外します。"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "実績あり"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "バリエーション?"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "改訂版"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "改定あり"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "BOM有効"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
-msgstr ""
+msgstr "カスケードカテゴリ"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
-msgstr ""
+msgstr "もし該当する場合には、指定されたカテゴリの子カテゴリ内のアイテムを含めてください。"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
+msgstr "数値カテゴリIDまたはリテラル'null'でフィルタリングしてください"
+
+#: part/api.py:1280
+msgid "Assembly part is active"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "組み立て部分はテスト可能"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "コンポーネント部分はテスト可能"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "用途"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "パーツカテゴリ"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "パーツカテゴリ"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "デフォルトの場所"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "このカテゴリの部品のデフォルトの場所"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "構造に関するパターン"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "部品は構造カテゴリーに直接割り当てることはできませんが、子カテゴリーに割り当てることはできます。"
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "デフォルトキーワード"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "このカテゴリの部品のデフォルトキーワード"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "アイコン"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "アイコン (オプション)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "いくつかの部品がすでに割り当てられているため、この部品カテゴリを構造化することはできません!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "部品分類パラメータテンプレート"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "初期値"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "パラメータのデフォルト値"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "パーツ"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "ロックされた部品のパラメータは削除できません"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "ロックされた部品のパラメータを変更することはできません"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "この部分はロックされているため削除できません"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "このパートはまだアクティブなので削除できません。"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "この部品はアセンブリで使用されているため、削除できません。"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "パート'{self}'は'{parent}'(再帰的)のBOMでは使用できません。"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "パート'{parent}'は'{self}'のBOMで使用(再帰的)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPNは正規表現パターン{pattern}に一致しなければなりません。"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "パートはそれ自体の改訂にはなりえません"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "すでにリビジョンとなっている部分のリビジョンを作成することはできません。"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "リビジョンコードの指定が必要"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "修正が許されるのは組立部品のみ"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "テンプレート部品のリビジョンを作成できません"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "親部品は同じテンプレートを指す必要があります。"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "このシリアル番号の在庫品はすでに存在します"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "パート設定でIPNの重複が許可されていません。"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "重複する部品リビジョンが既に存在します。"
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "この名前、IPN、リビジョンを持つ部品は既に存在します。"
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "部品を構造部品のカテゴリーに割り当てることはできません!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "部品名"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "テンプレート"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "この部品はテンプレート部品ですか?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "この部品は他の部品の変形ですか?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "変種"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "部品の説明(オプション)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "キーワード"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "検索結果での視認性を向上させる部分キーワード"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "パーツカテゴリ"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "即時支払通知"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "部品のリビジョンまたはバージョン番号"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "リビジョン"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "この部品は他の部品の改訂版ですか?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "改訂版"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "この商品は通常どこに保管されていますか?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "デフォルト・サプライヤー"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "サプライヤーのデフォルト部品"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "デフォルトの有効期限"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "この部品の在庫品の有効期限(日単位"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "最小在庫"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "最低許容在庫量"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "この部品の単位"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "この部品は他の部品から作ることができますか?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "この部品を使って他の部品を作ることはできますか?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "このパーツはユニークなアイテムの追跡が可能ですか?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "この部品にテスト結果を記録することはできますか?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "この部品は外部のサプライヤーから購入できますか?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "この部品は顧客に販売できますか?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "この部分はアクティブですか?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "ロックされた部分は編集できません"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "これは、ソフトウェア製品やライセンスなどの仮想部品ですか?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
-msgstr ""
+msgstr "部品表の検証が完了しました"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
-msgstr ""
+msgstr "こちらの部品の部品表(BOM)は有効でしょうか?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "BOMチェックサム"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "保存されたBOMのチェックサム"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOMチェック済み"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "BOMチェック日"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "作成ユーザー"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "この部分の責任者"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "複数販売"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "価格計算のキャッシュに使用される通貨"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "最小BOMコスト"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "構成部品の最低コスト"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "最大BOMコスト"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "構成部品の最大コスト"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "最低購入価格"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "過去の最低購入価額"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "最大購入費用"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "過去の最高購入価格"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "最低社内価格"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "社内価格ブレークに基づく最低コスト"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "社内最高価格"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "社内価格ブレークに基づく最大コスト"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "最低供給価格"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "外部サプライヤーからの部品の最低価格"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "サプライヤー最高価格"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "外部サプライヤーからの部品の最高価格"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "最小バリアントコスト"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "バリアントパーツの最小コストの計算"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "最大バリアントコスト"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "バリアント部品の最大コストの計算"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "最低料金"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "最低コストのオーバーライド"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "最大コスト"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "最大コストのオーバーライド"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "総合的な最小コストの計算"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "総合最大コストの計算"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "最低販売価格"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "価格破壊に基づく最低販売価格"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "最高販売価格"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "価格破壊に基づく最高販売価格"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "最低販売価格"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "過去の最低売却価格"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "最大販売価格"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "過去の最高売却価格"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "ストックテイク用部品"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "個数"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "棚卸時の個別在庫数"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "ストックテイク時の在庫可能量"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "日付"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "ストックテイク実施日"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "最低在庫コスト"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "手元在庫の最低見積原価"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "最大在庫コスト"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "手元在庫の最大見積原価"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "パーツセール価格"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "部品試験テンプレート"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "無効なテンプレート名 - 英数字を1文字以上含む必要があります。"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "テストテンプレートは、テスト可能な部分に対してのみ作成できます。"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "同じキーを持つテスト・テンプレートがパートに既に存在します。"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "試験名"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "テストの名前を入力します。"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "テストキー"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "テストの簡易キー"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "試験内容"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "このテストの説明を入力してください。"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "このテストは有効ですか?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "必須"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "このテストは合格するために必要ですか?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "価値が必要"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "このテストは、テスト結果を追加する際に値を必要としますか?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "アタッチメントが必要"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "この試験では、試験結果を追加する際にファイルの添付が必要ですか。"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "このテストで有効な選択肢(カンマ区切り)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "BOMアイテムは変更できません - アセンブリがロックされています。"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "BOM アイテムは変更できません - バリアントアセンブリがロックされています。"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "親部品を選択"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "サブパート"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "BOMで使用する部品を選択"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "このBOMアイテムのBOM数量"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "この部品表はオプションです。"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "このBOMアイテムは消耗品です。"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
-msgstr ""
+msgstr "設定数量"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
-msgstr ""
+msgstr "ビルドに必要な追加の必要量(セットアップ時の損失を考慮した分)"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
-msgstr ""
+msgstr "歩留まり損失"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
-msgstr ""
+msgstr "ビルドにおける推定歩留まり率(0~100%で表されます)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
-msgstr ""
+msgstr "丸め倍数"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
-msgstr ""
+msgstr "必要な生産数量を、この値の倍数に切り上げてください。"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "BOMアイテムリファレンス"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "BOMアイテムノート"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "チェックサムi"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "BOMラインのチェックサム"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "検証済み"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "このBOMアイテムは検証済みです"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "継承"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "この BOM アイテムは、バリアントパーツの BOM に継承されます。"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "このBOMアイテムには、バリアントパーツのストックアイテムを使用できます。"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "数量は追跡可能な部品の場合、整数値でなければなりません。"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "サブパーツの指定が必要"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "BOMアイテム代替"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "代用部品はマスター部品と同じにすることはできません。"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "親BOMアイテム"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "代用部品"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "パート #1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "パート #2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "関連部品を選択"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "この関係について"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "部品とそれ自身との間に部品関係を作ることはできません。"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "重複する関係が既に存在します。"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "親カテゴリ"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "親部品カテゴリー"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "サブカテゴリ"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "結果"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "このテンプレートに対して記録された結果の数"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "この在庫商品の購入通貨"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "ファイルが画像ではありません"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "オリジナルパート"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "複製する元の部品を選択"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "コピー画像"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "元の部分から画像をコピー"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "コピーBOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "元の部品から部品表をコピー"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "コピーパラメータ"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "元の部品からパラメータデータをコピー"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "コピーノート"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "元のパートからメモをコピー"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
-msgstr ""
+msgstr "コピーテスト"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
-msgstr ""
+msgstr "元の部品からテスト用テンプレートをコピーしてください"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "初期在庫量"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "この部品の初期在庫数量を指定します。数量が0の場合、在庫は追加されません。"
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "初期在庫場所"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "この部品の初期在庫場所を指定してください。"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "サプライヤーを選択してください。"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "メーカーを選択してください。"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "メーカー品番"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "選択された企業は有効なサプライヤーではありません。"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "選択された会社は有効な製造業者ではありません。"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "このMPNに一致するメーカー部品はすでに存在します。"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "このSKUに一致するサプライヤー部品は既に存在します。"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "カテゴリ名"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "建物"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
-msgstr ""
+msgstr "現在生産中の当該部品の数量"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
-msgstr ""
+msgstr "この部品の予定生産数量"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "在庫商品"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "リビジョン"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "仕入先"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "総在庫"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "未割当株式"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "バリアントストック"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "重複部分"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "別のパートから初期データをコピー"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "初期在庫"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "初期在庫数で部品を作成"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "サプライヤー情報"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "この部品の初期サプライヤー情報を追加します。"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "コピーカテゴリパラメータ"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "既存イメージ"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "既存の部品画像のファイル名"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "画像ファイルが存在しません"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "部品表全体の検証"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "ビルド"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
-msgstr ""
+msgstr "ビルドオーダーに必要なもの"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
-msgstr ""
+msgstr "ビルドオーダーに割り当てられました"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
-msgstr ""
+msgstr "セールスオーダーに必要なもの"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
+msgstr "セールスオーダーに割り当てられました"
+
+#: part/serializers.py:1260
+msgid "Part IPN"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "最小価格"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "最低価格の計算値の上書き"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "最低価格通貨"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "最大価格"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "最高価格の計算値を上書き"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "最高価格通貨"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "更新"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "この部品の価格を更新"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "提供された通貨から{default_currency}に変換できませんでした。"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "最低価格は最高価格を超えてはなりません。"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "最高価格は最低価格を下回ってはなりません。"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "親アセンブリを選択"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "構成部品の選択"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "BOMをコピーする部品を選択します。"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "既存データの削除"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "コピー前に既存のBOMアイテムを削除"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "インクルード継承"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "テンプレート化された部品から継承されたBOM項目を含めます。"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "無効な行をスキップ"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "無効な行をスキップするには、このオプションを有効にします。"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "コピー代用部品"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "BOMアイテムの重複時に代替部品をコピー"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "在庫不足通知"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "{part.name}の在庫が設定された最低レベルを下回りました。"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
-msgstr ""
+msgstr "在庫切れ通知"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
-msgstr ""
+msgstr "在庫品1点について、有効期限が近づいています。"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
-msgstr ""
+msgstr "在庫品のうち、{item_count}点の商品がまもなく期限切れとなります。"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
-msgstr ""
+msgstr "有効期限なし"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
-msgstr ""
+msgstr "期限切れ {abs(days_diff)} 日前"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
-msgstr ""
+msgstr "本日が期限となります"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
-msgstr ""
+msgstr "{days_until_expiry} 日"
#: plugin/api.py:80
msgid "Builtin"
@@ -6732,108 +6865,108 @@ msgstr "アクションが指定されていません"
msgid "No matching action found"
msgstr "一致するアクションが見つかりませんでした"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "バーコードデータが見つかりません"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "バーコードデータとの一致が確認されました。"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "モデルはサポートされていません"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "モデルインスタンスが見つかりません"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "バーコードが既存のアイテムと一致"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "一致する部品データが見つかりません"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "一致するサプライヤー部品は見つかりませんでした"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "一致するサプライヤー部品が複数見つかりました"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "バーコードデータに一致するプラグインは見つかりませんでした"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "適合部品"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "商品はすでに受領済みです。"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "サプライヤーのバーコードに一致するプラグインがない"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "複数の一致する行項目が見つかりました"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "該当する項目が見つかりません"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "販売注文はありません"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "バーコードが既存の在庫品と一致しません"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "在庫品目が行品目と一致しません"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "在庫不足"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "販売注文に割り当てられた在庫品目"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "情報が不足しています"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "一致するアイテムが見つかりました"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "サプライヤーの部品が品目と一致しない"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "ライン・アイテムはすでに完了している"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "ライン・アイテムを受け取るために必要な詳細情報"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "受領済み発注書項目"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "ラインアイテムの受信に失敗"
@@ -6972,7 +7105,7 @@ msgstr "バーコードのネイティブサポートを提供"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7016,165 +7149,165 @@ msgstr "複数のInvenTreeインスタンスがある環境で便利です。"
#: plugin/builtin/events/auto_create_builds.py:28
msgid "Auto Create Builds"
-msgstr ""
+msgstr "自動ビルド作成"
#: plugin/builtin/events/auto_create_builds.py:31
msgid "Automatically create build orders for assemblies"
-msgstr ""
+msgstr "アセンブリのビルドオーダーを自動的に作成します"
#: plugin/builtin/events/auto_issue_orders.py:17
msgid "Auto Issue Orders"
-msgstr ""
+msgstr "自動発行オーダー"
#: plugin/builtin/events/auto_issue_orders.py:20
msgid "Automatically issue orders on the assigned target date"
-msgstr ""
+msgstr "指定された目標日に自動的にオーダーを発行します"
#: plugin/builtin/events/auto_issue_orders.py:30
msgid "Auto Issue Build Orders"
-msgstr ""
+msgstr "自動発行ビルドオーダー"
#: plugin/builtin/events/auto_issue_orders.py:32
msgid "Automatically issue build orders on the assigned target date"
-msgstr ""
+msgstr "割り当てられた目標日に、自動的にビルドオーダーを発行します。"
#: plugin/builtin/events/auto_issue_orders.py:38
msgid "Auto Issue Purchase Orders"
-msgstr ""
+msgstr "自動発行発注書"
#: plugin/builtin/events/auto_issue_orders.py:40
msgid "Automatically issue purchase orders on the assigned target date"
-msgstr ""
+msgstr "割り当てられた目標日に、自動的に発注書を発行します。"
#: plugin/builtin/events/auto_issue_orders.py:46
msgid "Auto Issue Sales Orders"
-msgstr ""
+msgstr "自動発行セールスオーダー"
#: plugin/builtin/events/auto_issue_orders.py:48
msgid "Automatically issue sales orders on the assigned target date"
-msgstr ""
+msgstr "割り当てられた目標日に、自動的にセールスオーダーを発行します。"
#: plugin/builtin/events/auto_issue_orders.py:54
msgid "Auto Issue Return Orders"
-msgstr ""
+msgstr "自動発行返品オーダー"
#: plugin/builtin/events/auto_issue_orders.py:56
msgid "Automatically issue return orders on the assigned target date"
-msgstr ""
+msgstr "割り当てられた目標日に、自動的に返品オーダーを発行します。"
#: plugin/builtin/events/auto_issue_orders.py:62
msgid "Issue Backdated Orders"
-msgstr ""
+msgstr "過去日付でのオーダー発行"
#: plugin/builtin/events/auto_issue_orders.py:63
msgid "Automatically issue orders that are backdated"
-msgstr ""
+msgstr "過去日付のオーダーを自動的に発行します"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "レベル"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
-msgstr ""
-
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
-msgid "Total Quantity"
-msgstr ""
+msgstr "エクスポートするレベル数 - すべてのBOMレベルをエクスポートするにはゼロに設定してください"
#: plugin/builtin/exporter/bom_exporter.py:31
-msgid "Include total quantity of each part in the BOM"
-msgstr ""
+#: plugin/builtin/exporter/bom_exporter.py:118
+msgid "Total Quantity"
+msgstr "総量"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:32
+msgid "Include total quantity of each part in the BOM"
+msgstr "BOMには、各部品の総数量を含めてください"
+
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "在庫データ"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "部品在庫データを含む"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "価格データ"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "部品価格データを含む"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "サプライヤーデータ"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "サプライヤーデータを含む"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "メーカーデータ"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "メーカーデータを含む"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "代替データ"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "代替部品データを含む"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "パラメータデータ"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "部品パラメータデータを含む"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "マルチレベルBOMエクスポート"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "マルチレベルBOMのエクスポートをサポートします。"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "BOMレベル"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "代替{n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "サプライヤー {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "サプライヤー {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "サプライヤー {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "メーカー {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "メーカー {n} MPN"
@@ -7189,95 +7322,95 @@ msgstr "InvenTreeからのデータエクスポートをサポートします。
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "非アクティブを除外する"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "非アクティブなパラメータを除外します"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "パラメータエクスポーター"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "モデルパラメータデータ用エクスポーター"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
-msgstr ""
+msgstr "外部在庫を含める"
#: plugin/builtin/exporter/stocktake_exporter.py:26
msgid "Include external stock in the stocktake data"
-msgstr ""
+msgstr "棚卸データに外部在庫を含めてください"
#: plugin/builtin/exporter/stocktake_exporter.py:31
msgid "Include Variant Items"
-msgstr ""
+msgstr "バリエーション品目を含める"
#: plugin/builtin/exporter/stocktake_exporter.py:32
msgid "Include part variant stock in pricing calculations"
-msgstr ""
+msgstr "価格計算に部品のバリエーション在庫を含める"
#: plugin/builtin/exporter/stocktake_exporter.py:44
msgid "Part Stocktake Exporter"
-msgstr ""
+msgstr "部品在庫棚卸データ用エクスポーター"
#: plugin/builtin/exporter/stocktake_exporter.py:45
msgid "Exporter for part stocktake data"
-msgstr ""
+msgstr "部品在庫棚卸データ用エクスポーター"
#: plugin/builtin/exporter/stocktake_exporter.py:108
msgid "Minimum Unit Cost"
-msgstr ""
+msgstr "最小単位コスト"
#: plugin/builtin/exporter/stocktake_exporter.py:109
msgid "Maximum Unit Cost"
-msgstr ""
+msgstr "最大単位コスト"
#: plugin/builtin/exporter/stocktake_exporter.py:110
msgid "Minimum Total Cost"
-msgstr ""
+msgstr "最低総費用"
#: plugin/builtin/exporter/stocktake_exporter.py:111
msgid "Maximum Total Cost"
-msgstr ""
+msgstr "最大総費用"
#: plugin/builtin/integration/core_notifications.py:23
msgid "InvenTree UI Notifications"
-msgstr ""
+msgstr "InvenTree UI 通知"
#: plugin/builtin/integration/core_notifications.py:26
msgid "Integrated UI notification methods"
-msgstr ""
+msgstr "統合されたUI通知方法"
#: plugin/builtin/integration/core_notifications.py:67
msgid "InvenTree Email Notifications"
-msgstr ""
+msgstr "InvenTree メール通知"
#: plugin/builtin/integration/core_notifications.py:70
msgid "Integrated email notification methods"
-msgstr ""
+msgstr "統合されたメール通知方法"
#: plugin/builtin/integration/core_notifications.py:75
msgid "Allow email notifications"
-msgstr ""
+msgstr "メール通知を許可します"
#: plugin/builtin/integration/core_notifications.py:76
msgid "Allow email notifications to be sent to this user"
-msgstr ""
+msgstr "このユーザーへのメール通知を許可します"
#: plugin/builtin/integration/core_notifications.py:123
msgid "InvenTree Slack Notifications"
-msgstr ""
+msgstr "InvenTree Slack通知"
#: plugin/builtin/integration/core_notifications.py:126
msgid "Integrated Slack notification methods"
-msgstr ""
+msgstr "統合されたSlack通知方法"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack受信ウェブフックURL"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7297,11 +7430,11 @@ msgstr "デフォルトの為替統合"
#: plugin/builtin/integration/machine_types.py:15
msgid "InvenTree Machines"
-msgstr ""
+msgstr "InvenTree マシーンズ"
#: plugin/builtin/integration/machine_types.py:16
msgid "Built-in machine types for InvenTree"
-msgstr ""
+msgstr "InvenTreeの組み込みマシンタイプ"
#: plugin/builtin/integration/part_notifications.py:20
msgid "Part Notifications"
@@ -7354,11 +7487,11 @@ msgstr "ラベルプリンター"
msgid "Provides support for printing using a machine"
msgstr "機械による印刷をサポートします。"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "最終使用"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "オプション"
@@ -7392,11 +7525,11 @@ msgstr "ラベルシートを横向きに印刷"
#: plugin/builtin/labels/label_sheet.py:55
msgid "Page Margin"
-msgstr ""
+msgstr "ページ余白"
#: plugin/builtin/labels/label_sheet.py:56
msgid "Margin around the page in mm"
-msgstr ""
+msgstr "ページの周囲の余白(単位:mm)"
#: plugin/builtin/labels/label_sheet.py:69
msgid "InvenTree Label Sheet Printer"
@@ -7501,15 +7634,15 @@ msgstr "プラグインがアクティブなため、アンインストールで
#: plugin/installer.py:347
msgid "Plugin cannot be uninstalled as it is mandatory"
-msgstr ""
+msgstr "このプラグインは必須のため、アンインストールすることはできません。"
#: plugin/installer.py:352
msgid "Plugin cannot be uninstalled as it is a sample plugin"
-msgstr ""
+msgstr "このプラグインはサンプルプラグインのため、アンインストールすることはできません。"
#: plugin/installer.py:357
msgid "Plugin cannot be uninstalled as it is a built-in plugin"
-msgstr ""
+msgstr "プラグインは組み込みプラグインのため、アンインストールすることはできません。"
#: plugin/installer.py:361
msgid "Plugin is not installed"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "プラグインのキー"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "プラグインのプラグイン名"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,48 +7704,48 @@ msgstr "パッケージプラグイン"
msgid "Plugin"
msgstr "プラグイン"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "著者は見つかりませんでした"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "プラグイン'{p}'は現在のInvenTreeバージョン{v}と互換性がありません。"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "プラグインには少なくともバージョン {v} が必要です。"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "プラグインに必要なバージョンは最大で{v}です。"
#: plugin/samples/integration/sample.py:52
msgid "User Setting 1"
-msgstr ""
+msgstr "ユーザー設定1"
#: plugin/samples/integration/sample.py:53
msgid "A user setting that can be changed by the user"
-msgstr ""
+msgstr "ユーザーが変更可能なユーザー設定"
#: plugin/samples/integration/sample.py:57
msgid "User Setting 2"
-msgstr ""
+msgstr "ユーザー設定2"
#: plugin/samples/integration/sample.py:58
msgid "Another user setting"
-msgstr ""
+msgstr "別のユーザー設定"
#: plugin/samples/integration/sample.py:63
msgid "User Setting 3"
-msgstr ""
+msgstr "ユーザー設定3"
#: plugin/samples/integration/sample.py:64
msgid "A user setting with choices"
-msgstr ""
+msgstr "ユーザー設定(選択肢付き)"
#: plugin/samples/integration/sample.py:72
msgid "Enable PO"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "設置未確認"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "URL のパッケージ名のどちらかを指定する必要があります。"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -7800,7 +7933,7 @@ msgstr "このプラグインを有効化します"
#: plugin/serializers.py:243
msgid "Mandatory plugin cannot be deactivated"
-msgstr ""
+msgstr "必須プラグインは無効化できません"
#: plugin/serializers.py:261
msgid "Delete configuration"
@@ -7812,7 +7945,7 @@ msgstr "データベースからプラグイン設定を削除します"
#: plugin/serializers.py:293
msgid "The user for which this setting applies"
-msgstr ""
+msgstr "この設定が適用されるユーザー"
#: report/api.py:44 report/serializers.py:102 report/serializers.py:152
msgid "Items"
@@ -7912,11 +8045,11 @@ msgstr "レポートを横向きにレンダリング"
#: report/models.py:393
msgid "Merge"
-msgstr ""
+msgstr "統合"
#: report/models.py:394
msgid "Render a single report against selected items"
-msgstr ""
+msgstr "選択された項目に対して単一のレポートを生成します"
#: report/models.py:449
#, python-brace-format
@@ -7925,11 +8058,11 @@ msgstr "テンプレート{self.name}から生成されたレポート"
#: report/models.py:546 report/models.py:585 report/models.py:586
msgid "Template syntax error"
-msgstr ""
+msgstr "テンプレートの構文エラー"
#: report/models.py:553 report/models.py:592
msgid "Error rendering report"
-msgstr ""
+msgstr "レポートの表示にエラーが発生しました"
#: report/models.py:612
msgid "Error generating report"
@@ -7937,7 +8070,7 @@ msgstr "レポート生成エラー"
#: report/models.py:644
msgid "Error merging report outputs"
-msgstr ""
+msgstr "レポート出力の統合エラー"
#: report/models.py:676
msgid "Width [mm]"
@@ -8051,7 +8184,7 @@ msgstr "サプライヤーが削除されました"
#: report/templates/report/inventree_purchase_order_report.html:22
msgid "Order Details"
-msgstr ""
+msgstr "ご注文の詳細"
#: report/templates/report/inventree_purchase_order_report.html:37
#: report/templates/report/inventree_sales_order_report.html:30
@@ -8072,7 +8205,7 @@ msgstr "合計"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "シリアル番号"
@@ -8097,7 +8230,7 @@ msgstr "在庫品テストレポート"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "設置項目"
@@ -8130,495 +8263,519 @@ msgstr "結果なし(必須)"
msgid "No result"
msgstr "何も結果はありません"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "アセットファイルが存在しません"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "画像ファイルが見つかりません"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image タグには Part インスタンスが必要です。"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image タグには Company インスタンスが必要です。"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "場所の深さによる絞り込み"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "トップレベルのロケーションによるフィルタリング"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "フィルタリング結果にサブロケーションを含めることができます。"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "親の位置"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "親の所在地でフィルタリング"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "部品名(大文字・小文字を区別しません)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "パート名に含まれるもの(大文字・小文字を区別しません)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "部品名(正規表現)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "パートIPN(大文字と小文字を区別しません)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "パートIPNに含まれるもの(大文字と小文字は区別されません)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "パートIPN(正規表現)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "最小在庫"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "最大在庫"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "ステータスコード"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "外部ロケーション"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "ビルド・オーダーで消費"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "その他在庫品に装着"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "パートツリー"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "更新前"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "更新後"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "ストックテイク前"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "ストックテイク後"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "有効期限"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "有効期限"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "期限失効"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
-msgstr ""
+msgstr "そのアイテムおよびそのすべての子孫を除外するためのStockItemのプライマリキーをご提供ください。"
+
+#: stock/api.py:980
+msgid "Cascade Locations"
+msgstr "カスケードの所在地"
#: stock/api.py:981
-msgid "Cascade Locations"
-msgstr ""
-
-#: stock/api.py:982
msgid "If true, include items in child locations of the given location"
-msgstr ""
+msgstr "もし真であれば、指定された場所の子要素に含まれる項目を含めます"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
-msgstr ""
+msgstr "数値のロケーションID、またはリテラル文字列の「null」でフィルタリングしてください。"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "数量が必要です"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "有効な部品を供給する必要があります。"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "指定されたサプライヤの部品が存在しません。"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "サプライヤー部品にはパックサイズが定義されていますが、use_pack_sizeフラグが設定されていません。"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "追跡不可能な部品については、シリアル番号は提供できません。"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
-msgstr ""
+msgstr "組み込み済みを含める"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
-msgstr ""
+msgstr "もし真であれば、指定した在庫アイテムの中に組み込まれている構成部品のテスト結果を含める"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
-msgstr ""
+msgstr "数値による在庫品IDでの絞り込み"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
+msgstr "ID {id} の在庫品は存在しません"
+
+#: stock/api.py:1516
+msgid "Include Part Variants"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "在庫ロケーションタイプ"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "ストックロケーションの種類"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "アイコンが設定されていないすべての場所のデフォルトアイコン (オプション)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "ストックロケーション"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "在庫場所"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "所有者"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "所有者を選択"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "ストックアイテムは、構造的なストックロケーションに直接配置されることはありませんが、子ロケーションに配置されることはあります。"
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "外部"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "これは外部の在庫場所です。"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "ロケーションタイプ"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "このロケーションのロケーションタイプ"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "いくつかのストックアイテムがすでにストックロケーションに配置されているため、このストックロケーションを構造化することはできません!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
-msgstr ""
+msgstr "{field}は存在しません"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "部品の指定が必要"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "在庫品は、構造的な在庫場所に配置することはできません!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "仮想部品にストックアイテムを作成できません"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "パートタイプ('{self.supplier_part.part}')は{self.part}でなければなりません。"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "シリアル番号のある商品は数量が1でなければなりません。"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "数量が1以上の場合、シリアル番号は設定できません。"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "アイテムはそれ自身に属することはできません"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "is_building=Trueの場合、アイテムはビルド・リファレンスを持っていなければならない。"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "ビルド参照が同じ部品オブジェクトを指していません。"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "親株式"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "ベース部"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "この在庫品に一致するサプライヤー部品を選択してください"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "この在庫品はどこにありますか?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "この在庫品は以下の梱包で保管されています。"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "設置場所"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "このアイテムは他のアイテムにインストールされていますか?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "この商品のシリアル番号"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "このストックアイテムのバッチコード"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "在庫数"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "ソースビルド"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "このストックアイテムのビルド"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "消費者"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "このストックアイテムを消費したビルドオーダー"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "発注元"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "この在庫商品の購入注文"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "販売先オーダー"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "在庫品の有効期限。この日を過ぎると在庫は期限切れとなります。"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "枯渇時に削除"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "在庫がなくなったら、このストックアイテムを削除します。"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "購入時の単品購入価格"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "パートに変換"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
-msgstr ""
+msgstr "数量が在庫数を超えています"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "部品が追跡可能に設定されていません"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "数量は整数でなければなりません。"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "数量は在庫数 ({self.quantity}) を超えてはなりません。"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "シリアル番号はリストとして提供されなければなりません"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "数量がシリアル番号と一致しません"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
-msgstr ""
+msgstr "構造上ロケーションに在庫を割り当てることはできません"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "テストテンプレートが存在しません"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "在庫商品が販売注文に割り当てられました"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "ストックアイテムが他のアイテムに装着されている場合"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "在庫商品には他の商品が含まれています。"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "在庫商品が顧客に割り当てられました"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "在庫品は現在生産中です。"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "連番在庫の統合はできません"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "在庫品の重複"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "在庫品目は同じ部品を参照してください。"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "在庫品は同じサプライヤーの部品を参照する必要があります。"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "在庫状況コードが一致していること"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "在庫がないため移動できません。"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "ストックアイテムのトラッキング"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "記入上の注意"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "在庫品テスト結果"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "このテストには値を指定する必要があります。"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "このテストには添付ファイルをアップロードする必要があります。"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "このテストでは無効な値です。"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "試験結果"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "テスト出力値"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "試験結果添付"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "テストノート"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "テストステーション"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "試験が実施された試験ステーションの識別子。"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "開始"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "テスト開始のタイムスタンプ"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "修了済み"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "テスト終了のタイムスタンプ"
@@ -8662,246 +8819,246 @@ msgstr "シリアル番号を生成する部品を選択します。"
msgid "Quantity of serial numbers to generate"
msgstr "生成するシリアル番号の数"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "この結果のテストテンプレート"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
-msgstr ""
+msgstr "この部品に該当するテストが見つかりませんでした"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "テンプレートIDまたはテスト名が必要です。"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "試験終了時刻を試験開始時刻より早くすることはできません。"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "親アイテム"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "親株式"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "数量はパック数です。"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
-msgstr ""
+msgstr "パッケージサイズを使用"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "新しい商品のシリアル番号の入力"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "サプライヤー品番"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "期限切れ"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "子供用品"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "追跡項目"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "この在庫品の購入価格、単位またはパックあたり"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "シリアル化するストックアイテムの数を入力"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
-msgstr ""
+msgstr "在庫品目がしていされていません"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "数量は在庫数 ({q}) を超えてはなりません。"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "仕向け地"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "この部品にシリアル番号を割り当てることはできません"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "シリアル番号が既に存在します"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "インストールするストックアイテムを選択"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "設置数量"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "インストールするアイテムの数量を入力してください。"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "取引メモの追加(オプション)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "設置数量は1台以上"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "在庫がありません"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "選択した部品が部品表にない"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "設置する数量は、利用可能な数量を超えてはなりません。"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "アンインストール先の場所"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "在庫品を変換する部品を選択"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "選択された部分は、変換のための有効なオプションではありません。"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "SupplierPartが割り当てられている在庫品を変換できません。"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "在庫商品ステータスコード"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "ステータスを変更するストックアイテムを選択"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "ストックアイテムが選択されていません"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "サブロケーション"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "親株式所在地"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "パーツは販売可能でなければなりません"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "商品が販売オーダーに割り当てられています。"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "アイテムがビルドオーダーに割り当てられています。"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "在庫アイテムを割り当てるお客様"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "選択された企業は顧客ではありません"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "株式譲渡に関する注意事項"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "在庫品のリストが必要です。"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "株式併合に関する注意事項"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "不一致のサプライヤーを許可"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "異なるサプライヤの部品を持つ在庫品目をマージできるようにします。"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "不一致の状態を許可"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "異なるステータスコードを持つストックアイテムをマージすることができます。"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "少なくとも2つのストックアイテムを提供する必要があります。"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "変化なし"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "StockItem 主キー値"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "在庫がありません"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
-msgstr ""
+msgstr "在庫品目は既に在庫にあります"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
-msgstr ""
+msgstr "数量は負の数であってはなりません。"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "株式取引に関する注記"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
-msgstr ""
+msgstr "既存の在庫に統合します"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
-msgstr ""
+msgstr "可能なら、返品された商品を既存の在庫商品に統合してください"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "次のシリアル番号"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "以前のシリアル番号"
@@ -8959,11 +9116,11 @@ msgstr "手動在庫削除が完了しました"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr ""
+msgstr "シリアル番号管理の在庫品目"
#: stock/status_codes.py:58
msgid "Returned to stock"
-msgstr ""
+msgstr "在庫に戻りました"
#: stock/status_codes.py:61
msgid "Location changed"
@@ -9108,12 +9265,12 @@ msgstr "保留中のデータベース移行があり、注意が必要です。
#: templates/config_error.html:6 templates/config_error.html:10
msgid "Configuration Error"
-msgstr ""
+msgstr "設定エラー"
#: templates/config_error.html:11
#, python-format
msgid "The %(inventree_title)s server raised a configuration error"
-msgstr ""
+msgstr "%(inventree_title)sサーバーで設定エラーが発生しました"
#: templates/email/build_order_completed.html:9
#: templates/email/canceled_order_assigned.html:9
@@ -9169,15 +9326,15 @@ msgstr "この部品またはその部品の一部であるカテゴリの通知
#: templates/email/stale_stock_notification.html:10
msgid "The following stock items are approaching their expiry dates:"
-msgstr ""
+msgstr "以下の在庫品目は、まもなく有効期限が切れます:"
#: templates/email/stale_stock_notification.html:23
msgid "Days Until Expiry"
-msgstr ""
+msgstr "有効期限までの日数"
#: templates/email/stale_stock_notification.html:57
msgid "You are receiving this email because you are subscribed to notifications for these parts"
-msgstr ""
+msgstr "このメールを受け取ったのは、これらの部品に関する通知を購読しているためです"
#: users/admin.py:101
msgid "Users"
@@ -9383,83 +9540,83 @@ msgstr "セールスオーダー"
msgid "Return Orders"
msgstr "返品注文"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "ユーザー名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "ユーザーの名"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "姓"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "ユーザーの姓"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "ユーザーのメールアドレス"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "スタッフ"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "このユーザーにはスタッフ権限がありますか?"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "スーパーユーザー"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "このユーザーはスーパーユーザーですか?"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "このユーザーアカウントはアクティブですか"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "このフィールドを調整できるのはスーパーユーザーのみです。"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
-msgstr ""
+msgstr "パスワード"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
-msgstr ""
+msgstr "ユーザーのパスワード"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
-msgstr ""
+msgstr "警告を上書きします"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
-msgstr ""
+msgstr "パスワードルールに関する警告を無効にする"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "ユーザーを作成する権限がありません"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "アカウントが作成されました"
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "パスワードリセット機能を使ってログインしてください"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "InvenTreeへようこそ"
diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
index 8e9847afca..6fa8d9204a 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "이 모델을 볼 수 있는 권한이 없습니다."
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "이메일 (다시 입력)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "이메일 주소 확인"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -112,13 +104,13 @@ msgstr "날짜 입력"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "메모"
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "연결 오류"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "이미지 크기가 너무 큽니다!"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "이메일"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "이름"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "설명"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "설명 (선택 사항)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "바코드 데이터"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "서버 오류"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "유효하지 않은 값"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "중국어 (간체)"
msgid "Chinese (Traditional)"
msgstr "중국어 (번체)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "분류"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "나에게 할당 됨"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "최소 날짜"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "최대 날짜"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "소모품"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "선택사항"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "수량"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "시리얼 번호 (일련번호)"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po
index c166ce8cbe..e000d68fa7 100644
--- a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API galinis taškas nerastas"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Masiniam veiksmui turi būti pateiktas elementų arba filtrų sąrašas"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Elementai turi būti pateikti kaip sąrašas"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Pateiktas neteisingas elementų sąrašas"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "\"Filtrai turi būti pateikti kaip žodynas"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Pateikti neteisingi filtrai"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Filtras „all“ gali būti naudojamas tik su reikšme „true“"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Nė vienas elementas neatitinka pateiktų kriterijų"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Vartotojas neturi teisių peržiūrėti šio modelio"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "El. paštas (pakartotinai)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "El. pašto adreso patvirtinimas"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Kiekvieną kartą turite įvesti tą patį el. pašto adresą."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Pateiktas pagrindinis el. pašto adresas neteisingas."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Pateiktas el. pašto domenas nepatvirtintas."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Nepavyko konvertuoti {original} į {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Pateiktas neteisingas kiekis"
@@ -112,13 +104,13 @@ msgstr "Įveskite datą"
msgid "Invalid decimal value"
msgstr "Neteisinga dešimtainė reikšmė"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Pastabos"
@@ -131,75 +123,75 @@ msgstr "Reikšmė „{name}“ neatitinka šablono formato"
msgid "Provided value does not match required pattern: "
msgstr "Pateikta reikšmė neatitinka reikalaujamo šablono: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Negalima iš karto susieti daugiau nei 1000 elementų"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Nepateiktas serijos numeris"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Pasikartojantis serijinis numeris"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Neteisinga grupė: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Grupės {group} kiekis viršija leistiną kiekį ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Serijos numerių nerasta"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Pašalinkite HTML žymes iš šios reikšmės"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Duomenyse yra draudžiamo „markdown“ turinio"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Ryšio klaida"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Serveris grąžino netinkamą būsenos kodą"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Įvyko išimtis"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Serveris grąžino neteisingą „Content-Length“ reikšmę"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Paveikslėlio dydis per didelis"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Paveikslėlio atsisiuntimas viršijo maksimalų leistiną dydį"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Nutolęs serveris grąžino tuščią atsakymą"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Nurodytas URL nėra tinkamas paveikslėlio failas"
@@ -207,11 +199,11 @@ msgstr "Nurodytas URL nėra tinkamas paveikslėlio failas"
msgid "Log in to the app"
msgstr "Prisijungti prie programos"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "El. paštas"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Prieš atliekant bet kokius veiksmus, privalote įjungti dviejų veiksnių autentifikavimą."
@@ -255,133 +247,124 @@ msgstr "Nuoroda turi atitikti reikalaujamą šabloną"
msgid "Reference number is too large"
msgstr "Nuorodos numeris per didelis"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Neteisingas pasirinkimas"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Pavadinimas"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Aprašymas"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Aprašymas (neprivalomas)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Kelias"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Po tuo pačiu pirminiu elementu negali būti pasikartojančių pavadinimų"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Pastabos su „Markdown“ (neprivalomas)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Brūkšninio kodo duomenys"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Trečiosios šalies brūkšninio kodo duomenys"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Brūkšninio kodo maiša"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unikali brūkšninio kodo duomenų maiša\""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Rastas esamas brūkšninis kodas"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Užduoties klaida"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Foninė užduotis '{f}' nepavyko po {n} bandymų"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverio klaida"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Serveris užfiksavo klaidą."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Paveikslėlis"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Turi būti teisingas skaičius"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valiuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Pasirinkite valiutą iš galimų variantų"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Neteisinga reikšmė"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Nutolęs paveikslėlis"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "Nutolusio paveikslėlio failo URL"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Paveikslėlių atsisiuntimas iš nutolusio URL neįjungtas"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Nepavyko atsisiųsti paveikslėlio iš nutolusio URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Kinų (supaprastinta)"
msgid "Chinese (Traditional)"
msgstr "Kinų (tradicinė)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Neteisingas fizinis vienetas"
msgid "Not a valid currency code"
msgstr "Netinkamas valiutos kodas"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Užsakymo būsena"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Pirminė gamyba"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Įtraukti variantus"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Įtraukti variantus"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Įtraukti variantus"
msgid "Part"
msgstr "Detalė"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategorija"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Ankstesnė gamyba"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Priskirta man"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Priskirta"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Sukurta prieš"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Sukurta po"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Turi pradžios datą"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Pradžios data prieš"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Pradžios data po"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Turi tikslinę datą"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Tikslinė data prieš"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Tikslinė data po"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Užbaigta prieš"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Užbaigta po"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Minimali data"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Maksimali data"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Neįtraukti medžio struktūros"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Sunaudojama"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Pasirinktinai"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Surinkimas"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Sekama"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testuojama"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Liko neįvykdytų užsakymų"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Priskirta"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Prieinama"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Užsakyta"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Gamybos užsakymas"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Vieta"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Gamybos užsakymai"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Surinkimo BOM nėra patvirtintas"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Negalima sukurti gamybos užsakymo neaktyviai detalei"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Negalima sukurti gamybos užsakymo atrakintai detalei"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Turi būti nurodytas atsakingas vartotojas arba grupė"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Gamybos užsakymo detalės keisti negalima"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Tikslinė data turi būti po pradžios datos"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Gamybos užsakymo nuoroda"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Gamybos užsakymo nuoroda"
msgid "Reference"
msgstr "Nuoroda"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Trumpas gamybos aprašymas (neprivalomas)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Gamybos užsakymas, kuriam ši gamyba priskirta"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Pasirinkite detalę gamybai"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Pardavimo užsakymo nuoroda"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Pardavimo užsakymas, kuriam ši gamyba priskirta"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Šaltinio vieta"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Pasirinkite vietą atsargoms paimti šiai gamybai (palikite tuščią, jei tinka bet kuri vieta)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Paskirties vieta"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Pasirinkite vietą, kur bus laikomos užbaigtos prekės"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Gamybos kiekis"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Atsargų kiekis, kurias reikia pagaminti"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Užbaigtos prekės"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Užbaigtų atsargų elementų skaičius"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Gamybos būsena"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Gamybos būsenos kodas"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Partijos kodas"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Šios gamybos partijos kodas"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Sukūrimo data"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Gamybos pradžios data"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Planuojama šio gamybos užsakymo pradžios data"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Tikslinė užbaigimo data"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Planuojama gamybos pabaigos data. Po šios datos gamyba bus pavėluota."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Užbaigimo data"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "Užbaigė"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Išdavė"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Atsakingas"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Vartotojas ar grupė, atsakinga už šį gamybos užsakymą"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Išorinė nuoroda"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Nuoroda į išorinį URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Gamybos prioritetas"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Šio gamybos užsakymo prioritetas"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Projekto kodas"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Šio gamybos užsakymo projekto kodas"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Nepavyko perduoti užduoties, kad būtų atlikti gamybos paskirstymai"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Gamybos užsakymas {build} užbaigtas"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Gamybos užsakymas užbaigtas"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Sekamoms detalėms būtina nurodyti serijos numerius"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nepateiktas gamybos rezultatas"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Gamybos rezultatas jau užbaigtas"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Gamybos rezultatas neatitinka gamybos užsakymo"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Kiekis turi būti didesnis nei nulis"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Kiekis negali viršyti rezultato kiekio"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Gamybos rezultatas {serial} nepraėjo visų privalomų testų"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Gamybos užsakymo eilutės įrašas"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Gamybos objektas"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Gamybos objektas"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Kiekis"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Reikalingas kiekis gamybos užsakymui"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Gamybos elementas turi nurodyti rezultatą, nes pagrindinė detalė pažymėta kaip sekama"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Pasirinktas atsargų elementas neatitinka BOM eilutės"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Atsargoms su serijos numeriais kiekis turi būti 1"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Atsargų elementas per daug paskirstytas"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Priskirtas kiekis turi būti didesnis nei nulis"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Atsargoms su serijos numeriais kiekis turi būti 1"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Pasirinktas atsargų elementas neatitinka BOM eilutės"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Atsargų elementas"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Šaltinio atsargų elementas"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Atsargų kiekis, skirtas paskirstyti į gamybą"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Įdiegti į"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Paskirties atsargų elementas"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Gamybos lygis"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Detalės pavadinimas"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Projekto kodo etiketė"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Gamybos rezultatas"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Gamybos rezultatas neatitinka pirminės gamybos"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Rezultato detalė neatitinka gamybos užsakymo detalės"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Šis gamybos rezultatas jau užbaigtas"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Šis gamybos rezultatas nėra visiškai paskirstytas"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Įveskite kiekį gamybos rezultatui"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Sekamoms detalėms reikalingas sveikasis kiekis"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Reikalingas sveikasis kiekis, nes komplektavimo žiniaraštyje yra sekamų detalių"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Serijos numeriai"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Įveskite serijos numerius gamybos rezultatams"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Atsargų vieta gamybos rezultatams"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Automatiškai priskirti serijos numerius"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatiškai priskirti reikalingas prekes su atitinkančiais serijos numeriais"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Turi būti pateiktas gamybos rezultatų sąrašas"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Atsargų vieta brokuotiems rezultatams"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Atmesti priskyrimus"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Atmesti visus atsargų priskyrimus brokuotiems rezultatams"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Priežastis, dėl kurios gamybos rezultatas(-ai) buvo nurašytas(-i)"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Vieta, kur laikomi užbaigti gamybos rezultatai"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Priimti nepilną priskyrimą"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Užbaigti rezultatus, net jei atsargos dar nėra pilnai priskirtos"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Sunaudoti priskirtas atsargas"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Sunaudoti bet kokias šiai gamybai jau priskirtas atsargas"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Pašalinti nebaigtus rezultatus"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Ištrinti visus nebaigtus gamybos rezultatus"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Neleidžiama"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Priimti kaip sunaudotą šio gamybos užsakymo metu"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Panaikinkite priskyrimus prieš užbaigiant šį gamybos užsakymą"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Per daug paskirstytos atsargos"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Kaip norite elgtis su papildomai šiam gamybos užsakymui priskirtomis atsargomis"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Kai kurios atsargos paskirstytos per daug"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Priimti nepriskirtą"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Priimti, kad atsargos nebuvo visiškai priskirtos šiam gamybos užsakymui"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Reikalingos atsargos nėra visiškai priskirtos"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Priimti nepilną"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Priimti, kad ne visi reikalingi gamybos rezultatai buvo užbaigti"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Reikalingas gamybos kiekis nebuvo užbaigtas"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Gamybos užsakymas turi nebaigtų antrinių gamybų"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Gamybos užsakymas turi būti gamybos būsenoje"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Gamybos užsakymas turi nebaigtų rezultatų"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Gamybos eilutė"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Gamybos rezultatas"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Gamybos rezultatas turi būti susietas su ta pačia gamyba"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Gamybos eilutės įrašas"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part turi būti ta pati detalė kaip ir gamybos užsakyme"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Prekė turi būti atsargose"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Viršytas prieinamas kiekis ({q})"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Sekamų detalių priskyrymui turi būti nurodytas gamybos rezultatas"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Negalima nurodyti gamybos rezultato nesekamoms detalėms"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Turi būti pateikti paskirstymo elementai"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Atsargų vieta, iš kurios bus imamos detalės (palikite tuščią, jei tinka bet kuri vieta)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Neįtraukti vietos"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Neįtraukti atsargų iš šios pasirinktos vietos"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Keičiamos atsargos"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Atsargos iš skirtingų vietų gali būti naudojamos pakaitomis"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Pakaitinės atsargos"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Leisti priskirti pakaitines detales"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Pasirenkami elementai"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Priskirti papildomus BOM elementus gamybos užsakymui"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Nepavyko paleisti automatinio paskirstymo užduoties"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "BOM nuoroda"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "BOM detalės ID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "BOM detalės pavadinimas"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Gamyba"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Tiekėjo detalė"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Priskirtas kiekis"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Gamybos nuoroda"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Detalės kategorijos pavadinimas"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Sekama"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Paveldėta"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Leisti variantus"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "BOM elementas"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Gamyboje"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Išorinės atsargos"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Prieinamos atsargos"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Prieinamos pakaitinės atsargos"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Prieinamos variantų atsargos"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "Sulaikyta"
msgid "Cancelled"
msgstr "Atšaukta"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Užbaigta"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Atsargos, reikalingos gamybos užsakymui"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Vėluojantis gamybos užsakymas"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Gamybos užsakymas {bo} dabar vėluoja"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Yra nuoroda"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Yra failas"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Vartotojas neturi teisės ištrinti šių priedų"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Vartotojas neturi teisės ištrinti šio priedo"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Netinkamas valiutos kodas"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Pasikartojantis valiutos kodas"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nepateikta jokių galiojančių valiutos kodų"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Nėra papildinio"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Projekto kodo etiketė"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Atnaujinta"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Paskutinio atnaujinimo laiko žymė"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Unikalus projekto kodas"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Projekto aprašymas"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Vartotojas arba grupė, atsakinga už šį projektą"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Nustatymo raktas"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Nustatymo reikšmė"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Pasirinkta reikšmė yra netinkama"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Reikšmė turi būti loginė (taip/ne)"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Reikšmė turi būti sveikasis skaičius"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Reikšmė turi būti tinkamas skaičius"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Reikšmė neatitinka patikros taisyklių"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Raktas turi būti unikalus"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Vartotojas"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Kiekio ribinis taškas kainai"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Kaina"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Vieneto kaina nurodytam kiekiui"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Galutinis taškas"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Galutinis taškas, kuriuo priimamas šis webhook'as"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Šio webhook'o pavadinimas"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktyvus"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Ar šis webhook'as aktyvus"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Raktas"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Prieigos raktas"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Slaptas raktas"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Bendras slaptas HMAC raktas"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Pranešimo ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Unikalus pranešimo identifikatorius"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Pagrindinis serveris"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Serveris, iš kurio gautas pranešimas"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Antraštė"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Šio pranešimo antraštė"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Turinys"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Šio pranešimo turinys"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Galutinis taškas, kuriame gautas pranešimas"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Apdorota"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Ar darbas su šiuo pranešimu baigtas?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "ID"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Pavadinimas"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Nuoroda"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Paskelbta"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autorius"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Santrauka"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Perskaityta"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Ar ši naujiena buvo perskaityta?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Paveikslėlio failas"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Modelio tipas, kuriam priskiriamas šis paveikslėlis"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "Modelio ID, kuriam priskiriamas šis paveikslėlis"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Pasirinktinis vienetas"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Vieneto simbolis turi būti unikalus"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Vieneto pavadinimas turi būti tinkamas identifikatorius"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Vieneto pavadinimas"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Simbolis"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Nebūtinas vieneto simbolis"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Apibrėžimas"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Vieneto apibrėžimas"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Priedas"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Trūksta failo"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Trūksta išorinės nuorodos"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Modelio tipas"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Modelio tipas, kuriam skirtas paveikslėlis"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Pasirinkite failą priedui"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentaras"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Komentaras prie priedo"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Įkėlimo data"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Failo įkėlimo data"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Failo dydis"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Failo dydis baitais"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Netinkamas modelio tipas priedui"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Pasirinktinė būsena"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Pasirinktinės būsenos"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Nuorodos būsenų rinkinys"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Būsenų rinkinys, papildomas šia pasirinktine būsena"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Loginis raktas"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Loginis būsenos raktas, atitinkantis šią pasirinkitinę būseną"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Reikšmė"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Skaitinė reikšmė, saugoma modelio duomenų bazėje"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Būsenos pavadinimas"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiketė"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiketė, rodoma vartotojo sąsajoje"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Spalva"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Spalva, rodoma vartotojo sąsajoje"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modelis"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Modelis, su kuriuo susieta būsena"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Turi būti pasirinktas modelis"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Turi būti pasirinktas raktas"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Turi būti pasirinktas loginis raktas"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Raktas turi skirtis nuo loginio rakto"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Turi būti pateikta tinkama nuorodos būsenos klasė"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Raktas turi skirtis nuo nuorodos būsenų loginių raktų"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Loginis raktas turi būti tarp nuorodos būsenų loginių raktų"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Pavadinimas turi skirtis nuo nuorodos būsenų pavadinimų"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Pasirinkimų sąrašas"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Pasirinkimų sąrašai"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Pasirinkimų sąrašo pavadinimas"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Pasirinkimų sąrašo aprašymas"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Užrakinta"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Ar šis sąrašas užrakintas?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Ar šį pasirinkimų sąrašą galima naudoti?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Šaltinio papildinys"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Papildinys, pateikiantis šį pasirinkimų sąrašą"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Šaltinio eilutė"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Neprivaloma eilutė, identifikuojanti šaltinį, naudotą šiam sąrašui"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Numatytasis įrašas"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Numatytasis šio pasirinkimų sąrašo įrašas"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Sukurta"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Data ir laikas, kada buvo sukurtas pasirinkimų sąrašas"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Paskutinį kartą atnaujinta"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Data ir laikas, kada paskutinį kartą buvo atnaujintas sąrašas"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Pasirinkimų sąrašo įrašas"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Pasirinkimų sąrašo įrašai"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Pasirinkimų sąrašas, kuriam priklauso šis įrašas"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Pasirinkimų sąrašo įrašo reikšmė"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Pasirinkimų įrašo etiketė"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Pasirinkimų įrašo aprašymas"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Ar šis sąrašo įrašas aktyvus?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parametro šablonas"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Žymimojo laukelio parametrai negali turėti matavimo vienetų"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Žymimojo laukelio parametrai negali turėti pasirinkimų"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Pasirinkimai turi būti unikalūs"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Parametro šablono pavadinimas turi būti unikalus"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Parametro pavadinimas"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Vienetai"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Fiziniai šio parametro vienetai"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Parametro aprašymas"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Žymimasis laukelis"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Ar šis parametras yra žymimasis laukelis?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Pasirinkimai"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Galimi pasirinkimai šiam parametrui (atskirti kableliais)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Pasirinkimų sąrašas šiam parametrui"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Įjungta"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Neteisingas pasirinkimas parametro reikšmei"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Šablonas"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Data"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Parametro reikšmė"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Pastaba"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Neprivalomas pastabų laukas"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Brūkšninio kodo nuskaitymas"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Brūkšninio kodo duomenys"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Vartotojas, nuskaitęs brūkšninį kodą"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Laiko žymė"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Brūkšninio kodo nuskaitymo data ir laikas"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "URL galutinis taškas, kuris apdorojo brūkšninį kodą"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontekstas"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Konteksto duomenys brūkšninio kodo nuskaitymui"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Atsakas"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Atsako duomenys iš brūkšninio kodo nuskaitymo"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Rezultatas"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Ar brūkšninio kodo nuskaitymas buvo sėkmingas?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Raktas"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} atšaukta"
msgid "A order that is assigned to you was canceled"
msgstr "Užsakymas, kuris buvo jums priskirtas, buvo atšauktas"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Gautos prekės"
@@ -2351,93 +2359,101 @@ msgstr "Prekės buvo gautos pagal pirkimo užsakymą"
msgid "Items have been received against a return order"
msgstr "Prekės buvo gautos pagal grąžinimo užsakymą"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Nurodo, ar nustatymą pakeičia aplinkos kintamasis"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Nepaisyti"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Vykdoma"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Laukiančios užduotys"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Suplanuotos užduotys"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Nepavykusios užduotys"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Užduoties ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Unikalus užduoties ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Užraktas"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Užrakto laikas"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Užduoties pavadinimas"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funkcija"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funkcijos pavadinimas"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumentai"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Užduoties argumentai"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Rakto argumentai"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Užduoties rakto argumentai"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Failo pavadinimas"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Modelio tipas"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Vartotojas neturi leidimo kurti ar redaguoti šio modelio priedų"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Pasirinkimų sąrašas yra užrakintas"
@@ -2445,1128 +2461,1157 @@ msgstr "Pasirinkimų sąrašas yra užrakintas"
msgid "No group"
msgstr "Nėra grupės"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Svetainės URL yra užrakintas konfigūracijoje"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Reikalingas paleidimas iš naujo"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Nustatymas buvo pakeistas ir reikia paleisti serverį iš naujo"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Laukiančios migracijos"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Laukiančių duomenų bazės migracijų skaičius"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "Egzemplioriaus ID"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Unikalus identifikatorius šiam InvenTree egzemplioriui"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Pranešimo ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Skelbti serverio egzemplioriaus ID serverio būsenos informacijoje (neprisijungus)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Serverio egzemplioriaus pavadinimas"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Serverio egzemplioriaus pavadinimas kaip eilutė"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Naudoti egzemplioriaus pavadinimą"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Naudoti egzemplioriaus pavadinimą antraštės juostoje"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Apriboti `apie` rodymą"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "`Apie` langą rodyti tik super-vartotojams"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Įmonės pavadinimas"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Vidinis įmonės pavadinimas"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Pagrindinis URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Pagrindinis URL šiam serverio egzemplioriui"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Numatytoji valiuta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Pasirinkti pagrindinę valiutą kainų skaičiavimui"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Palaikomos valiutos"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Palaikomų valiutų kodų sąrašas"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Valiutų atnaujinimo intervalas"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Kaip dažnai atnaujinti valiutų kursus (nulis – išjungti)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dienos"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Valiutų atnaujinimo papildinys"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Naudotinas valiutų atnaujinimo papildinys"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Atsisiųsti iš URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Leisti atsisiųsti išorinius paveikslėlius ir failus iš nuorodų"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Atsisiuntimo dydžio riba"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Didžiausias leistinas atsisiunčiamo paveikslėlio dydis"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Naudojamas user-agent atsisiuntimui iš URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Leisti pakeisti user-agent, naudojamą atsisiunčiant paveikslėlius ir failus iš išorinio URL (palikite tuščią, jei naudoti numatytąjį)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Griežtas URL tikrinimas"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Reikalauti schemos nurodymo tikrinant URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Atnaujinimų tikrinimo intervalas"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Kaip dažnai tikrinti atnaujinimus (nulis – išjungti)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatinė atsarginė kopija"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Įjungti automatinį duomenų bazės ir failų atsarginį kopijavimą"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automatinio atsarginės kopijos kūrimo intervalas"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Nurodykite dienų skaičių tarp atsarginių kopijų kūrimo"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Užduočių ištrynimo intervalas"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Foninių užduočių rezultatai bus ištrinti po nurodyto dienų skaičiaus"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Klaidų žurnalo ištrynimo intervalas"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Klaidų žurnalai bus ištrinti po nurodyto dienų skaičiaus"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Pranešimų ištrynimo intervalas"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Vartotojų pranešimai bus ištrinti po nurodyto dienų skaičiaus"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Brūkšninių kodų palaikymas"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Įjungti brūkšninių kodų skaitytuvo palaikymą žiniatinklio sąsajoje"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Išsaugoti brūkšninių kodų nuskaitymus"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Brūkšninių kodų nuskaitymo rezultatus išsaugoti duomenų bazėje"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Maksimalus nuskaitymų skaičius"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Maksimalus saugomų brūkšninių kodų nuskaitymų skaičius"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Brūkšninio kodo įvesties delsimas"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Brūkšninio kodo įvesties apdorojimo delsos laikas"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Brūkšninių kodų palaikymas per kamerą"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Leisti brūkšninių kodų nuskaitymą per naršyklės kamerą"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Rodyti brūkšninio kodo duomenis"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Rodyti brūkšninio kodo duomenis naršyklėje kaip tekstą"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Brūkšninio kodo generavimo papildinys"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Papildinys vidiniam brūkšninių kodų generavimui"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Detalių versijos"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Įjungti versijos lauką detalėms"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Tik surinkimo versijoms"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Leisti versijas tik surenkamoms detalėms"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Leisti pašalinti iš surinkimo"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Leisti ištrinti detales, kurios yra naudojamos surinkimuose"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN reguliarioji išraiška"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguliariosios išraiškos šablonas detalių IPN tikrinimui"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Leisti pasikartojančius IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Leisti kelioms detalėms turėti tą patį IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Leisti redaguoti IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Leisti keisti IPN reikšmę redaguojant detalę"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Kopijuoti detalės BOM duomenis"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopijuoti BOM duomenis pagal nutylėjimą dubliuojant detalę"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Kopijuoti detalės parametrus"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Kopijuoti parametrų duomenis pagal nutylėjimą dubliuojant detalę"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Kopijuoti detalės testavimo duomenis"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Kopijuoti testavimo duomenis pagal nutylėjimą dubliuojant detalę"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kopijuoti kategorijų parametrų šablonus"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kopijuoti kategorijų parametrų šablonus kuriant detalę"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Detalės pagal nutylėjimą yra šablonai"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Detalės pagal nutylėjimą gali būti surenkamos iš kitų komponentų"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponentas"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Detalės pagal nutylėjimą gali būti naudojamos kaip sub-komponentai"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Galima įsigyti"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Detalės pagal nutylėjimą gali būti įsigyjamos"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Parduodama"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Detalės pagal nutylėjimą gali būti parduodamos"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Detalės pagal nutylėjimą gali būti sekamos"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuali"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Detalės pagal nutylėjimą yra virtualios"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Rodyti susijusias detales"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Rodyti susijusias detales pasirinktai detalei"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Pradiniai atsargų duomenys"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Leisti sukurti pradinę atsargą pridedant naują detalę"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Pradiniai tiekėjo duomenys"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Leisti sukurti pradinius tiekėjo duomenis pridedant naują detalę"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Detalės pavadinimo rodymo formatas"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Detalės pavadinimo rodymo formatas"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Detalės kategorijos numatytoji piktograma"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Detalės kategorijos numatytoji piktograma (tuščia reiškia, kad nenaudojama)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Mažiausias kainos dešimtainių skaičių kiekis"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Minimalus dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Didžiausias kainos dešimtainių skaičių kiekis"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Didžiausias dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Naudoti tiekėjo kainas"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Įtraukti tiekėjų kainų lygius į bendrą kainodaros skaičiavimą"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Pirkimų istorija keičia kainas"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Istorinės pirkimo kainos pakeičia tiekėjo kainų lygius"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Naudoti atsargų kainas"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Naudoti kainas iš rankiniu būdu įvestų atsargų duomenų kainodaros skaičiavimui"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Atsargų kainų galiojimo trukmė"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Pašalinti senesnes nei nurodytas dienų skaičius atsargas iš kainodaros skaičiavimų"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Naudoti variantų kainas"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Įtraukti variantų kainas į bendrą kainodaros skaičiavimą"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Tik aktyvūs variantai"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Naudoti tik aktyvius detalių variantus kainodarai"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Kainodaros atnaujinimo intervalas"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Dienų skaičius iki automatinio detalių kainų atnaujinimo"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Vidinės kainos"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Įjungti vidines kainas detalėms"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Vidinės kainos viršenybė"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Jei yra, vidinės kainos pakeičia bendrus kainodaros skaičiavimus"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Įjungti etikečių spausdinimą"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Įjungti etikečių spausdinimą iš žiniatinklio sąsajos"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Etiketės vaizdo DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI raiška generuojant vaizdus etikečių spausdinimo papildiniams"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Įjungti ataskaitas"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Įjungti ataskaitų generavimą"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Derinimo režimas"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generuoti ataskaitas derinimo režimu (HTML išvestis)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Registruoti ataskaitų klaidas"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registruoti klaidas, įvykusias generuojant ataskaitas"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Puslapio dydis"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Numatytasis PDF ataskaitų puslapio dydis"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Reikalauti parametrų vienetų"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Jei nurodyti vienetai, parametro reikšmės turi atitikti nurodytus vienetus"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globaliai unikalūs serijiniai numeriai"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Atsargų serijos numeriai turi būti globaliai unikalūs"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Ištrinti išnaudotas atsargas"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Nustato numatytą elgseną, kai atsargos yra išnaudotos"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Partijos kodo šablonas"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Šablonas numatytiesiems atsargų partijos kodams generuoti"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Atsargų galiojimas"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Įjungti atsargų galiojimo funkcionalumą"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Parduoti pasibaigusias galioti atsargas"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Leisti parduoti pasibaigusias galioti atsargas"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Atsargų senėjimo laikas"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Dienų skaičius, po kurio atsargos laikomos pasenusiomis iki jų galiojimo pabaigos"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Naudoti pasibaigusias galioti atsargas gamyboje"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Leisti naudoti pasibaigusias galioti atsargas gamyboje"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Atsargų nuosavybės kontrolė"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Įjungti atsargų vietų ir vienetų nuosavybės kontrolę"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Atsargų vietos numatytoji piktograma"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Atsargų vietos numatytoji piktograma (tuščia reiškia nenaudojama)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Rodyti sumontuotas atsargas"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Rodyti sumontuotas atsargas atsargų lentelėse"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Tikrinti BOM montuojant atsargas"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Sumontuotos atsargos turi būti pirminio gaminio BOM"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Leisti perkelti neturimas atsargas"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Leisti perkelti atsargas tarp vietų net jei jų nėra atsargose"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Gamybos užsakymo nuorodos šablonas"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Privalomas šablonas gamybos užsakymo nuorodos laukui generuoti"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Reikalauti atsakingo savininko"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Kiekvienam užsakymui turi būti priskirtas atsakingas savininkas"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Reikalauti aktyvios detalės"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Neleidžia kurti gamybos užsakymų neaktyvioms detalėms"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Reikalauti užrakintos detalės"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Neleidžia kurti gamybos užsakymų neužrakintoms detalėms"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Reikalauti galiojančio komplektavimo sąrašo (BOM)"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Neleidžia kurti gamybos užsakymų, kol BOM nėra patvirtintas"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Reikalauti uždarytų antrinių užsakymų"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Neleidžia užbaigti gamybos užsakymo, kol visi antriniai užsakymai neuždaryti"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blokuoti, kol testai bus išlaikyti"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Neleidžia užbaigti gaminių, kol visi privalomi testai nėra išlaikyti"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Įjungti grąžinimo užsakymus"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Įjungia grąžinimo užsakymų funkciją vartotojo sąsajoje"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Grąžinimo užsakymo nuorodos šablonas"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Būtinas šablonas grąžinimo užsakymo nuorodos laukui generuoti"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Redaguoti užbaigtus grąžinimo užsakymus"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Leisti redaguoti grąžinimo užsakymus po jų užbaigimo"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Pardavimo užsakymo nuorodos šablonas"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Būtinas šablonas pardavimo užsakymo nuorodos laukui generuoti"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Numatytasis siuntinys pardavimo užsakymui"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Leisti automatiškai sukurti siuntinį kartu su pardavimo užsakymu"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Redaguoti užbaigtus pardavimo užsakymus"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Leisti redaguoti pardavimo užsakymus po jų išsiuntimo arba užbaigimo"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Pažymėti išsiųstus užsakymus kaip užbaigtus"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Pardavimo užsakymai, pažymėti kaip išsiųsti, bus automatiškai užbaigti, praleidžiant būseną „išsiųsta“"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Pirkimo užsakymo nuorodos šablonas"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Būtinas šablonas pirkimo užsakymo nuorodos laukui generuoti"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Redaguoti užbaigtus pirkimo užsakymus"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Leisti redaguoti pirkimo užsakymus po jų išsiuntimo arba užbaigimo"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Konvertuoti valiutą"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Konvertuoti prekių vertę į pagrindinę valiutą priimant prekes"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Automatiškai užbaigti pirkimo užsakymus"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Automatiškai pažymėti pirkimo užsakymus kaip užbaigtus, kai visos eilutės yra gautos"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Įjungti pamiršto slaptažodžio funkciją"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Leisti naudoti pamiršto slaptažodžio funkciją prisijungimo puslapyje"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Įjungti registraciją"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Leisti vartotojams savarankiškai registruotis prisijungimo puslapyje"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Įjungti vieningą prisijungimą (SSO)"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Įjungti vieningą prisijungimą (SSO) prisijungimo puslapyje"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Įjungti registraciją per SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Leisti vartotojams registruotis per SSO prisijungimo puslapyje"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Įjungti SSO grupių sinchronizavimą"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Įjungti InvenTree grupių sinchronizavimą su tapatybės tiekėjo (IdP) grupėmis"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO grupės raktas"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Grupių atributo pavadinimas, kurį pateikia tapatybės tiekėjas (IdP)"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "SSO grupių susiejimas"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "SSO grupių susiejimas su vietinėmis InvenTree grupėmis. Jei vietinė grupė neegzistuoja, ji bus sukurta."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Pašalinti grupes, nepriklausančias SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Ar pašalinti vartotojui priskirtas grupes, jei jos nėra pateikiamos per IdP. Išjungus gali kilti saugumo problemų"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "El. paštas privalomas"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Reikalauti vartotojo el. pašto registracijos metu"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Automatiškai užpildyti SSO naudotojų duomenis"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatiškai užpildyti vartotojo informaciją pagal SSO paskyros duomenis"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Įvesti el. paštą du kartus"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Registracijos metu prašyti vartotojų du kartus įvesti el. paštą"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Įvesti slaptažodį du kartus"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Registracijos metu prašyti vartotojų du kartus įvesti slaptažodį"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Leidžiami domenai"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Riboti registraciją tik tam tikriems domenams (atskiriama kableliais, prasideda @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupė registruojantis"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Grupė, į kurią priskiriami nauji vartotojai registracijos metu. Jei įjungta SSO grupių sinchronizacija, ši grupė nustatoma tik tuo atveju, jei grupė negaunama iš IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Reikalauti kelių veiksnių autentifikacijos (MFA)"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Vartotojai privalo naudoti kelių veiksnių apsaugą."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Tikrinti įskiepius paleidimo metu"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Tikrina, ar visi įskiepiai įdiegti paleidžiant – naudoti konteinerių aplinkose"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Tikrinti įskiepių atnaujinimus"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Įjungti periodinius įdiegtų įskiepių atnaujinimų tikrinimus"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Įjungti URL integravimą"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Leisti įskiepiams pridėti URL maršrutus"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Įjungti navigacijos integraciją"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Leisti įskiepiams integruotis į navigaciją"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Įjungti programų integraciją"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Leisti įskiepiams pridėti programas"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Įjungti planavimo integraciją"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Leisti įskiepiams vykdyti suplanuotas užduotis"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Įjungti įvykių integraciją"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Leisti įskiepiams reaguoti į vidinius įvykius"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Įjungti sąsajos integraciją"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Leisti įskiepiams integruotis į vartotojo sąsają"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Įjungti projektų kodus"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Įjungti projektų kodų naudojimą projektų sekimui"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Neįtraukti išorinių vietų"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Automatinės inventorizacijos periodas"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Rodyti pilnus vartotojų vardus"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Rodyti pilnus vardus vietoj vartotojo vardų"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "Rodyti vartotojų profilius"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "Rodyti vartotojų profilius jų paskyros puslapyje"
-
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Įjungti bandymų stoties duomenis"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Įjungti bandymų stoties duomenų rinkimą testų rezultatams"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Rodyti pilnus vartotojų vardus"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Rodyti pilnus vardus vietoj vartotojo vardų"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "Rodyti vartotojų profilius"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "Rodyti vartotojų profilius jų paskyros puslapyje"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Įjungti bandymų stoties duomenis"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Įjungti bandymų stoties duomenų rinkimą testų rezultatams"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Detalė yra aktyvi"
msgid "Manufacturer is Active"
msgstr "Gamintojas yra aktyvus"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Tiekėjo detalė yra aktyvi"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Vidinė detalė yra aktyvi"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Tiekėjas yra aktyvus"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Gamintojas"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Įmonė"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Turi atsargų"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Įmonės"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Įmonės aprašymas"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Įmonės aprašymas"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Tinklalapis"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Įmonės tinklalapio URL"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefono numeris"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kontaininis telefono numeris"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontaktinis el. pašto adresas"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontaktinis asmuo"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Kontaktinis asmuo"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Nuoroda į išorinę įmonės informaciją"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Ar ši įmonė aktyvi?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Yra klientas"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Ar parduodate prekes šiai įmonei?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Yra tiekėjas"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Ar perkate prekes iš šios įmonės?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Yra gamintojas"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Ar ši įmonė gamina detales?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Numatytoji valiuta, naudojama šiai įmonei"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adresas"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adresai"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Pasirinkite įmonę"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Adreso pavadinimas"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Pavadinimas, apibūdinantis adreso įrašą"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Pagrindinis adresas"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Nustatyti kaip pagrindinį adresą"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "1-a eilutė"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adreso 1-a eilutė"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "2-a eilutė"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adreso 2-a eilutė"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Pašto kodas"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Miestas / regionas"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Pašto kodas, miestas / regionas"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Valstija / provincija"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Valstija arba provincija"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Šalis"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adreso šalis"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Kurjerio siuntos pastabos"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Pastabos siuntų kurjeriui"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Vidinės siuntos pastabos"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Siuntimo pastabos vidiniam naudojimui"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Nuoroda į adreso informaciją (išorinė)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Gamintojo detalė"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Pagrindinė detalė"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Pasirinkite detalę"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Pasirinkite gamintoją"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Gamintojo detalės numeris (MPN)"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "Išorinės nuorodos į gamintojo detalės URL"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Gamintojo detalės aprašymas"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Pakuotės vienetai turi atitikti pagrindinės detalės vienetus"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Pakuotės vienetų kiekis turi būti didesnis už nulį"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Tiekėjas"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Pasirinkite tiekėją"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Tiekėjo sandėlio numeris (SKU)"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Ar ši tiekėjo detalė aktyvi?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Pasirinkite gamintojo detalę"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "Išorinės nuorodos į tiekėjo detalės URL"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Tiekėjo detalės aprašymas"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "bazinė kaina"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Pakuotė"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Detalės pakuotė"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Pakuotės kiekis"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Bendras kiekis vienoje pakuotėje. Palikite tuščią, jei prekė tiekiama po vieną."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "daugiklis"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Užsakymo daugiklis"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Tiekėjo turimas kiekis"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Prieinamumas atnaujintas"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Paskutinio prieinamumo duomenų atnaujinimo data"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Tiekėjo kainos ribos"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Grąžina pagrindinio adreso tekstinę išraišką. Ši savybė egzistuoja dėl suderinamumo su ankstesnėmis versijomis."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Numatytoji valiuta, naudojama šiam tiekėjui"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Įmonės pavadinimas"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Sandėlyje"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Įvyko klaida eksportuojant duomenis"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Duomenų eksporto įskiepis grąžino neteisingą duomenų formatą"
@@ -4318,119 +4367,119 @@ msgstr "Pateiktas"
msgid "Invalid status code"
msgstr "Neteisingas būsenos kodas"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Duomenų failas"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Duomenų failas, kurį reikia importuoti"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Stulpeliai"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Importavimo sesijos tikslinio modelio tipas"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Importavimo būsena"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Laukų numatytosios reikšmės"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Laukų perrašymai"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Laukų filtrai"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Kai kurie privalomi laukai nėra susieti"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Šis stulpelis jau yra susietas su duomenų bazės lauku"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Šis laukas jau yra susietas su duomenų stulpeliu"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Stulpelių susiejimas turi būti susietas su galiojančia importavimo sesija"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Stulpelis neegzistuoja duomenų faile"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Laukas neegzistuoja tiksliniame modelyje"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Pasirinktas laukas yra tik skaitomas"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Importavimo sesija"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Laukas"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Stulpelis"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Eilutės indeksas"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Pradiniai eilutės duomenys"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Klaidos"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Galiojantis"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Etiketės spausdinamų kopijų skaičius"
msgid "Connected"
msgstr "Prijungta"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Nežinoma"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Užsakymo nuoroda"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Neįvykdyta"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Turi projekto kodą"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Sukūrė"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Sukurta prieš"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Sukurta po"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Turi pradžios datą"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Pradžios data prieš"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Pradžios data po"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Turi tikslinę datą"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Tikslinė data prieš"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Tikslinė data po"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Turi kainodarą"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Užbaigta prieš"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Užbaigta po"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Užsakymas"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Užsakymas įvykdytas"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Vidinė detalė"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Užsakymas laukia vykdymo"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Užbaigta"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Turi siuntą"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Pirkimo užsakymas"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Pirkimo užsakymas"
msgid "Sales Order"
msgstr "Pardavimo užsakymas"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Bendra kaina"
msgid "Total price for this order"
msgstr "Bendra kaina už šį užsakymą"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Užsakymo valiuta"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Užsakymo valiuta (palikite tuščią, jei norite naudoti įmonės numatytąją valiutą)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Šis užsakymas užrakintas ir negali būti keičiamas"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Kontaktas nesutampa su pasirinkta įmone"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Pradžios data turi būti prieš tikslinę datą"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Užsakymo aprašymas (neprivalomas)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Pasirinkite projekto kodą šiam užsakymui"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Nuoroda į išorinį puslapį"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Pradžios data"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Numatyta pradžios data šiam užsakymui"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Tikslinė data"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Tikėtina užsakymo pristatymo data. Užsakymas bus vėluojantis po šios datos."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Išdavimo data"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Data, kada užsakymas buvo išduotas"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Vartotojas arba grupė, atsakinga už šį užsakymą"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Kontaktinis asmuo šiam užsakymui"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Įmonės adresas šiam užsakymui"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Užsakymo nuoroda"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Būsena"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Pirkimo užsakymo būsena"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Įmonė, iš kurios užsakomos prekės"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Tiekėjo nuoroda"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Tiekėjo užsakymo nuorodos kodas"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "gavo"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Data, kada užsakymas buvo užbaigtas"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Paskirties vieta"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Paskirties vieta gautoms prekėms"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Detalių tiekėjas turi atitikti pirkimo užsakymo tiekėją"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Eilutės įrašas neatitinka pirkimo užsakymo"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Kiekis turi būti teigiamas skaičius"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Klientas"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Įmonė, kuriai prekės parduodamos"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Pardavimo užsakymo būsena"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Kliento nuoroda"
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Kliento užsakymo nuorodos kodas"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Siuntos data"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "išsiuntė"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Užsakymas jau baigtas"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Užsakymas jau atšauktas"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Tik atviras užsakymas gali būti pažymėtas kaip užbaigtas"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Užsakymas negali būti užbaigtas, nes yra neišsiųstų siuntų"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Užsakymas negali būti užbaigtas, nes yra nepriskirtų prekių"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Užsakymas negali būti užbaigtas, nes yra neužbaigtų eilučių"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "Užsakymas užrakintas ir negali būti keičiamas"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Prekės kiekis"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Eilutės įrašo nuoroda"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Eilutės įrašo pastabos"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Tikslinė šio eilutės įrašo data (palikite tuščią, jei norite naudoti užsakymo tikslinę datą)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Eilutės įrašo aprašymas (neprivalomas)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Papildomas kontekstas šiai eilutei"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Vieneto kaina"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Pirkimo užsakymo eilutės įrašas"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Tiekėjo detalė turi atitikti tiekėją"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Tiekėjo detalė"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Gauta"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Gautų prekių kiekis"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Pirkimo kaina"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Vieneto pirkimo kaina"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Pirkimo užsakymo papildoma eilutė"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Pardavimo užsakymo eilutės įrašas"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Tik parduodamos detalės gali būti priskirtos pardavimo užsakymui"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Pardavimo kaina"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Vieneto pardavimo kaina"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Išsiųsta"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Išsiųstas kiekis"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Pardavimo užsakymo siunta"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Siuntos data"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Pristatymo data"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Siuntos pristatymo data"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Patikrino"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Vartotojas, patikrinęs šią siuntą"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Siunta"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Siuntos numeris"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Sekimo numeris"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Siuntos sekimo informacija"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Sąskaitos faktūros numeris"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Nuorodos numeris susijusiai sąskaitai faktūrai"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Siunta jau buvo išsiųsta"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Siunta neturi priskirtų prekių"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Pardavimo užsakymo papildoma eilutė"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Pardavimo užsakymo paskirstymas"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Prekė nėra priskirta"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Negalima priskirti prekių eilutei su skirtinga detale"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Negalima priskirti prekių eilutei, jei joje nėra detalės"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Priskiriamas kiekis negali viršyti atsargų kiekio"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Priskirtas kiekis turi būti didesnis nei nulis"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Kiekis turi būti 1, jei prekė turi serijos numerį"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Pardavimo užsakymas nesutampa su siunta"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Siunta nesutampa su pardavimo užsakymu"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Eilutė"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Pardavimo užsakymo siuntos nuoroda"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Prekė"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Pasirinkite atsargų elementą priskyrimui"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Įveskite prekių priskyrimo kiekį"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Grąžinimo užsakymo nuoroda"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Įmonė, iš kurios grąžinamos prekės"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Grąžinimo užsakymo būsena"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Grąžinimo užsakymo eilutės įrašas"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Turi būti nurodytas atsargų elementas"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Grąžinamo kiekis viršija prekių kiekį"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Grąžinamo kiekis turi būti daugiau nei nulis"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Neteisingas kiekis serijinio numerio prekei"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Pasirinkite prekę grąžinimui iš kliento"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Gavimo data"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Data, kada ši grąžinta prekė buvo gauta"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Rezultatas"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Rezultatas šiam eilutės įrašui"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Išlaidos, susijusios su šio eilutės įrašo grąžinimu ar remontu"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Grąžinimo užsakymo papildoma eilutė"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "Užsakymo ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "Užsakymo, kurį reikia dubliuoti, ID"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Kopijuoti eilutes"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Kopijuoti eilutės įrašus iš pradinio užsakymo"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Kopijuoti papildomas eilutes"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Kopijuoti papildomas eilutes iš pradinio užsakymo"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopijuoti parametrus"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Eilutės įrašai"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Užbaigtos eilutės"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Dubliuoti užsakymą"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Nurodykite užsakymo dubliavimo parinktis"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Neteisingas užsakymo ID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Tiekėjo pavadinimas"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Užsakymo atšaukti negalima"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Leisti užbaigti užsakymą su neužbaigtais eilutės įrašais"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Užsakyme yra neužbaigtų eilutės įrašų"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Užsakymas nėra atidarytas"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automatinis kainų nustatymas"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Automatiškai apskaičiuoti pirkimo kainą pagal tiekėjo detalės duomenis"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Pirkimo kainos valiuta"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Sujungti elementus"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į vieną eilutės įrašą"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Vidinis detalės numeris"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Vidinis detalės pavadinimas"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Turi būti nurodyta tiekėjo detalė"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Turi būti nurodytas pirkimo užsakymas"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Tiekėjas turi atitikti pirkimo užsakymą"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Pirkimo užsakymas turi atitikti tiekėją"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Eilutės įrašas"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Pasirinkite paskirties vietą gautiems elementams"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Įveskite partijos kodą gaunamoms atsargoms"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Galiojimo data"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Įveskite galiojimo datą gaunamoms atsargoms"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Įveskite gaunamų atsargų serijos numerius"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Pakeisti gaunamų atsargų pakavimo informaciją"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Papildoma pastaba gaunamoms atsargoms"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Brūkšninis kodas"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Nuskaitytas brūkšninis kodas"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Brūkšninis kodas jau naudojamas"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Turi būti pateikti eilutės įrašai"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Turi būti nurodyta paskirties vieta"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Pateiktos brūkšninių kodų reikšmės turi būti unikalios"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Siuntos"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Užbaigtos siuntos"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Pardavimo kainos valiuta"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Paskirstyti elementai"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nepateikta siuntos informacija"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Eilutės įrašas nėra susijęs su šiuo užsakymu"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Kiekis turi būti teigiamas"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Įveskite priskiriamus serijos numerius"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Siunta jau išsiųsta"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Siunta nėra susieta su šiuo užsakymu"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nerasta atitikmenų šiems serijos numeriams"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Šie serijos numeriai nepasiekiami"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Grąžinimo užsakymo eilutės įrašas"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Eilutės įrašas neatitinka grąžinimo užsakymo"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Eilutės įrašas jau gautas"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Elementai gali būti priimami tik pagal vykdomus užsakymus"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Grąžinamas kiekis"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Eilutės kainos valiuta"
@@ -5532,1174 +5613,1226 @@ msgstr "Pinigų grąžinimas"
msgid "Reject"
msgstr "Atmesti"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Vėluojantis pirkimo užsakymas"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Pirkimo užsakymas {po} dabar vėluoja"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Vėluojantis pardavimo užsakymas"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Pardavimo užsakymas {so} dabar vėluoja"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Vėluojantis grąžinimo užsakymas"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "Grąžinimo užsakymas {ro} dabar vėluoja"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Pažymėta žvaigždute"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filtruoti pagal pažymėtas kategorijas"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Gylis"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtruoti pagal kategorijos gylį"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Aukščiausio lygio"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtruoti pagal aukščiausio lygio kategorijas"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Kaskada"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Įtraukti sub-kategorijas į filtravimo rezultatus"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Pirminė kategorija"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filtruoti pagal pirminę kategoriją"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Neįtraukti sub-kategorijų po nurodyta kategorija"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Turi rezultatų"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Yra variantas"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Yra versija"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Turi versijų"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "BOM galiojantis"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Surinkimo detalė gali būti testuojama"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Komponento detalė gali būti testuojama"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Naudoja"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Detalių kategorija"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Detalių kategorijos"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Numatytoji vieta"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Numatytoji vieta detalėms šioje kategorijoje"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Struktūrinė"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Detalės negali būti priskirtos struktūrinei kategorijai tiesiogiai, bet gali būti priskirtos jos subkategorijoms."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Numatytieji raktažodžiai"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Numatytieji raktažodžiai detalėms šioje kategorijoje"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Piktograma"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Piktograma (neprivaloma)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Negalite paversti šios detalių kategorijos struktūrine, nes kai kurios detalės jau jai priskirtos!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Detalių kategorijos parametro šablonas"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Numatytoji reikšmė"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Numatytoji parametro reikšmė"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Detalės"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Negalima ištrinti šios detalės, nes ji užrakinta"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Negalima ištrinti šios detalės, nes ji vis dar aktyvi"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Negalima ištrinti šios detalės, nes ji naudojama sirinkime"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Detalė „{self}“ negali būti naudojama detalių sąraše „{parent}“ (rekursyviai)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Detalė „{parent}“ naudojama detalių sąraše „{self}“ (rekursyviai)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN turi atitikti regex šabloną {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Detalė negali būti savo pačios versija"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Negalima sukurti detalės versijos, jei tai jau yra kita versija"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Turi būti nurodytas versijos kodas"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Versijos leidžiamos tik surinkimo detalėms"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Negalima sukurti šabloninės detalės versijos"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Pagrindinė detalė turi būti susieta su tuo pačiu šablonu"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Atsargų elementas su šiuo serijos numeriu jau egzistuoja"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dublikatų detalių nustatymuose naudoti negalima"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Tokia detalės versija jau egzistuoja."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Detalė su tokiu pavadinimu, IPN ir versija jau egzistuoja."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Detalės negali būti priskirtos struktūrinėms detalių kategorijoms!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Detalės pavadinimas"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Yra šablonas"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Ar ši detalė yra šabloninė detalė?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Ar ši detalė yra kitos detalės variantas?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variantas iš"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Detalės aprašymas (neprivalomas)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Raktažodžiai"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuose"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Detalės kategorija"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Detalės versija arba numeris"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Versija"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Ar ši detalė yra kitos detalės versija?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Versija iš"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Kur ši detalė paprastai laikoma?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Numatytasis tiekėjas"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Numatytoji tiekėjo detalė"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Numatytasis galiojimo laikas"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Šios detalės atsargų galiojimo laikas (dienomis)"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimalus atsargų kiekis"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Mažiausias leidžiamas atsargų kiekis"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Šios detalės matavimo vienetai"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Ar ši detalė gali būti pagaminta iš kitų detalių?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Ar ši detalė gali būti naudojama kitoms detalėms gaminti?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Ar ši detalė turi unikalių vienetų sekimą?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Ar šiai detalei gali būti priskirti bandymų rezultatai?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Ar ši detalė gali būti perkama iš išorinių tiekėjų?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Ar ši detalė gali būti parduodama klientams?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Ar ši detalė yra aktyvi?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Užrakintos detalės negali būti redaguojamos"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ar tai virtuali detalė, pavyzdžiui, programinė įranga ar licencija?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "BOM kontrolinė suma"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Išsaugota BOM kontrolinė suma"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Detalių sąrašą patikrino"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Detalių sąrašo patikrinimo data"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Sukūręs vartotojas"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Atsakingas vartotojas už šią detalę"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Parduodamas kiekis"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Valiuta, naudojama kainų skaičiavimams kaupti"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimali BOM kaina"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minimali komponentų detalių kaina"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maksimali BOM kaina"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maksimali komponentų detalių kaina"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimali pirkimo kaina"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Mažiausia istorinė pirkimo kaina"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maksimali pirkimo kaina"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Didžiausia istorinė pirkimo kaina"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimali vidinė kaina"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Mažiausia kaina pagal vidinius kainų intervalus"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maksimali vidinė kaina"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Didžiausia kaina pagal vidinius kainų intervalus"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Mažiausia tiekėjo kaina"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Mažiausia detalės kaina iš išorinių tiekėjų"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Didžiausia tiekėjo kaina"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Didžiausia detalės kaina iš išorinių tiekėjų"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Mažiausia varianto kaina"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Apskaičiuota minimali variantų detalių kaina"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Didžiausia varianto kaina"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Apskaičiuota didžiausia variantų detalių kaina"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimali kaina"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Nepaisyti minimalios kainos"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maksimali kaina"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Nepaisyti maksimalios kainos"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Apskaičiuota bendra minimali kaina"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Apskaičiuota bendra maksimali kaina"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimali pardavimo kaina"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Mažiausia pardavimo kaina pagal kainų intervalus"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Didžiausia pardavimo kaina"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Didžiausia pardavimo kaina pagal kainų intervalus"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Mažiausia pardavimo kaina"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Mažiausia istorinė pardavimo kaina"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Didžiausia pardavimo kaina"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Didžiausia istorinė pardavimo kaina"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Detalė inventorizacijai"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Vienetų skaičius"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Atsargų įrašų skaičius inventorizacijos metu"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Bendras prieinamas atsargų kiekis inventorizacijos metu"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Data"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Inventorizacijos atlikimo data"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimali atsargų kaina"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Apytikslė minimali turimų atsargų kaina"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maksimali atsargų kaina"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Apytikslė maksimali turimų atsargų kaina"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Detalės kainų intervalai pardavimui"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Detalės bandymų šablonas"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Netinkamas šablono pavadinimas - turi būti bent vienas raidinis ar skaitinis simbolis"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Bandymų šablonus galima kurti tik testuojamoms detalėms"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Detalė jau turi bandymų šabloną su tokiu pačiu raktu"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Bandymo pavadinimas"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Įveskite bandymo pavadinimą"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Bandymo raktas"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Supaprastintas bandymo raktas"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Bandymo aprašymas"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Įveskite šio bandymo aprašymą"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Ar šis bandymas įjungtas?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Privalomas"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Ar šį bandymą būtina išlaikyti?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Reikalauja reikšmės"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Ar šiam bandymui reikia įvesti reikšmę pridedant rezultatą?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Reikalauja priedo"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Ar šiam bandymui reikia pridėti failą su rezultatu?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Galimi pasirinkimai šiam bandymui (atskirti kableliais)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "BOM elemento keisti negalima - surinkimas užrakintas"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "BOM elemento keisti negalima - varianto surinkimas užrakintas"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Pasirinkite pirminę detalę"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Pavaldi detalė"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Pasirinkite detalę, naudojamą BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "BOM reikalingas šios detalės kiekis"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Šis BOM elementas yra pasirenkamas"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Šis BOM elementas yra sunaudojamas (nesekamas gamybos užsakymuose)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "BOM nuoroda"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "BOM pastabos"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Kontrolinė suma"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "BOM eilutės kontrolinė suma"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Patvirtinta"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Šis BOM elementas patvirtintas"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Paveldima"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Šį BOM elementą paveldi variantų sąrašai"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Šiam BOM elementui galima naudoti variantinių detalių atsargas"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Sekamoms detalėms kiekis turi būti sveikasis skaičius"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Turi būti nurodyta pavaldi detalė"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "BOM elemento pakaitalas"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Pakaitinė detalė negali būti tokia pati kaip pagrindinė detalė"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Pagrindinis BOM elementas"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Pakaitinė detalė"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Detalė 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Detalė 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Pasirinkite susijusią detalę"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Pastaba šiam ryšiui"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Detalių ryšio negalima sukurti tarp detalės ir jos pačios"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Toks ryšys jau egzistuoja"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Pagrindinė kategorija"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Pagrindinė detalių kategorija"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Subkategorijos"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Rezultatai"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Rezultatų skaičius, susietas su šiuo šablonu"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Šio atsargų elemento pirkimo valiuta"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Failas nėra paveikslėlis"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Pradinė detalė"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Pasirinkite pradinę detalę kopijavimui"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopijuoti paveikslėlį"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Kopijuoti paveikslėlį iš pradinės detalės"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Kopijuoti BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Kopijuoti komplektavimo žiniaraštį iš pradinės detalės"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopijuoti parametrus"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Kopijuoti parametrų duomenis iš pradinės detalės"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Kopijuoti pastabas"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Kopijuoti pastabas iš pradinės detalės"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Pradinis atsargų kiekis"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Nurodykite pradinį atsargų kiekį šiai detalei. Jei kiekis nulis - atsargos nebus pridėtos."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Pradinė atsargų vieta"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Nurodykite pradinę atsargų vietą šiai detalei"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Pasirinkite tiekėją (arba palikite tuščią, jei nenorite nurodyti)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Pasirinkite gamintoją (arba palikite tuščią, jei nenorite nurodyti)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Gamintojo detalės numeris"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Pasirinkta įmonė nėra galiojantis tiekėjas"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Pasirinkta įmonė nėra galiojantis gamintojas"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategorijos pavadinimas"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Surinkimas"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Atsargos"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Versijos"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Tiekėjai"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Bendros atsargos"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Nepriskirtos atsargos"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Variantų atsargos"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Kopijuoti detalę"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kopijuoti pradinius duomenis iš kitos detalės"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Pradinės atsargos"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Sukurti detalę su pradiniu atsargų kiekiu"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Tiekėjo informacija"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kopijuoti kategorijos parametrus"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Esamas paveikslėlis"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Esamos detalės paveikslėlio failo pavadinimas"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Paveikslėlio failas neegzistuoja"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Patvirtinti visą komplektavimo žiniaraštį"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Galima surinkti"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Mažiausia kaina"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Pakeisti apskaičiuotą mažiausią kainą"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Mažiausios kainos valiuta"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Didžiausia kaina"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Pakeisti apskaičiuotą didžiausią kainą"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Didžiausios kainos valiuta"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Atnaujinti"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Atnaujinti šios detalės kainodarą"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Mažiausia kaina negali būti didesnė už didžiausią kainą"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Didžiausia kaina negali būti mažesnė už mažiausią kainą"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Pasirinkite pirminį surinkimą"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Pasirinkite komponentinę detalę"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Pašalinti esamus duomenis"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Pašalinti esamus BOM elementus prieš kopijuojant"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Įtraukti paveldėtus"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Praleisti netinkamas eilutes"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Kopijuoti pakaitines detales"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Perspėjimas apie mažas atsargas"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Galimas atsargų kiekis detalei {part.name} nukrito žemiau nustatyto minimalaus lygio"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Nenurodytas joks veiksmas"
msgid "No matching action found"
msgstr "Atitinkantis veiksmas nerastas"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Brūkšninio kodo duomenims atitikmens nerasta"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Rastas atitikmuo brūkšninio kodo duomenims"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Modelis nepalaikomas"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Modelio egzempliorius nerastas"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Brūkšninis kodas atitinka esamą elementą"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Atitinkančių detalės duomenų nerasta"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Tiekėjo detalių atitikmenų nerasta"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Rastos kelios atitinkančios tiekėjo detalės"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Brūkšninio kodo duomenims atitinkančio įskiepio nerasta"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Atitinkanti tiekėjo detalė"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Prekė jau buvo priimta"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Tiekėjo brūkšniniam kodui įskiepis nerastas"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Rasti keli atitinkantys eilutės įrašai"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Atitinkančios eilutės įrašo nerasta"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Nepateiktas pardavimo užsakymas"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Brūkšninis kodas neatitinka jokio esamo atsargų elemento"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Atsargų elementas neatitinka eilutės įrašo"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Nepakanka atsargų"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Atsargų elementas priskirtas pardavimo užsakymui"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Nepakanka informacijos"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Rastas atitinkantis elementas"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Tiekėjo detalė neatitinka eilutės įrašo"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Eilutės įrašas jau užbaigtas"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Norint priimti eilutės įrašą, reikia daugiau informacijos"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Gauta pirkimo užsakymo eilutė"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Nepavyko priimti eilutės įrašo"
@@ -6972,7 +7105,7 @@ msgstr "Suteikia vietinį brūkšninių kodų palaikymą"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr "Išduoti atgaline data datuotus užsakymus"
msgid "Automatically issue orders that are backdated"
msgstr "Automatiškai išduoti užsakymus, kurių data yra atgalinė"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Lygiai"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Atsargų duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Įtraukti detalių atsargų duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Kainodaros duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Įtraukti detalių kainodaros duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Tiekėjų duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Įtraukti tiekėjų duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Gamintojų duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Įtraukti gamintojų duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Pakaitinių detalių duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Įtraukti pakaitinių detalių duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Parametrų duomenys"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Įtraukti detalių parametrų duomenis"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Daugiapakopis BOM eksportuotojas"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Suteikia galimybę eksportuoti daugiapakopius BOM"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "BOM lygis"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Pakaitalas {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Tiekėjas {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "Tiekėjo {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "Tiekėjo {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Gamintojas {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "Gamintojo {n} MPN"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack įeinančio webhook'o URL"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "InvenTree automatinis etikečių spausdintuvas"
msgid "Provides support for printing using a machine"
msgstr "Suteikia palaikymą spausdinimui naudojant įrenginį"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "paskutinį kartą naudota"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Parinktys"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Įskiepio raktas"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Įskiepio pavadinimas"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Pakuotės įskiepis"
msgid "Plugin"
msgstr "Įskiepis"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Autorius nerastas"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Įskiepis '{p}' nesuderinamas su dabartine InvenTree versija {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Įskiepiui reikalinga bent versija {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Įskiepiui reikalinga ne aukštesnė nei versija {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Įdiegimas nepatvirtintas"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Turi būti pateiktas paketo pavadinimas arba URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Iš viso"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Serijos numeris"
@@ -8097,7 +8230,7 @@ msgstr "Atsargų elemento bandymo ataskaita"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Sumontuoti elementai"
@@ -8130,495 +8263,519 @@ msgstr "Nėra rezultato (privaloma)"
msgid "No result"
msgstr "Nėra rezultato"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Ištekliaus failas neegzistuoja"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Paveikslėlio failas nerastas"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "Žyma part_image reikalauja detalės (Part) egzemplioriaus"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "Žyma company_image reikalauja įmonės (Company) egzemplioriaus"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filtruoti pagal vietos gylį"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Filtruoti pagal aukščiausio lygio vietas"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Įtraukti sub-vietas į filtravimo rezultatus"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Pirminė vieta"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtruoti pagal pirminę vietą"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Detalės pavadinimas (neskiria didžiųjų ir mažųjų raidžių)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Detalės pavadinimas turi (neskiria didžiųjų ir mažųjų raidžių)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Detalės pavadinimas (reguliarioji išraiška)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Detalės IPN (neskiria didžiųjų ir mažųjų raidžių)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Detalės IPN turi (neskiria didžiųjų ir mažųjų raidžių)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Detalės IPN (reguliarioji išraiška)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Mažiausias kiekis"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Didžiausias kiekis"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Būsenos kodas"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Išorinė vieta"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Sunaudota gamybos užsakyme"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Sumontuota kitame atsargų elemente"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Detalių medis"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Atnaujinta iki"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Atnaujinta po"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Inventorizacija iki"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Inventorizacija po"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Galiojimo data iki"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Galiojimo data po"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Pasenusi"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Reikalingas kiekis"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Turi būti pateikta galiojanti detalė"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Nurodyta tiekėjo detalė neegzistuoja"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Tiekėjo detalė turi nustatytą pakuotės dydį, bet nepažymėtas požymis use_pack_size"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Serijos numeriai negali būti pateikti detalei, kurios negalima sekti"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Atsargų vietos tipas"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Atsargų vietos tipai"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Numatytoji piktograma visoms vietoms, kurioms nepaskirta piktograma (neprivaloma)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Atsargų vieta"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Atsargų vietos"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Savininkas"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Pasirinkite savininką"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Atsargos negali būti tiesiogiai patalpintos į struktūrines atsargų vietas, bet gali būti patalpinti į jų sub-vietas."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Išorinė"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Tai yra išorinė atsargų vieta"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Vietos tipas"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Šios vietos atsargų vietos tipas"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Negalite padaryti šios atsargų vietos struktūrine, nes joje jau yra atsargų!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Turi būti nurodyta detalė"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Atsargos negali būti patalpintos į struktūrines atsargų vietas!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Atsargų elementas negali būti sukurtas virtualioms detalėms"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Detalės tipas ('{self.supplier_part.part}') turi būti {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Elemento, turinčio serijos numerį, kiekis turi būti 1"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Serijos numeris negali būti nustatytas, jei kiekis didesnis nei 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Elementas negali priklausyti pats sau"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Elementas turi turėti surinkimo nuorodą, jei is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Surinkimo nuoroda nenurodo į tą pačią detalę"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Pirminis atsargų elementas"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Pagrindinė detalė"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Pasirinkite atitinkančią tiekėjo detalę šiam atsargų elementui"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Kur yra šis atsargų elementas?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Pakuotė, kurioje laikomas šis atsargų elementas"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Sumontuotas į"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Ar šis elementas yra sumontuotas kitame elemente?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Šio elemento serijos numeris"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Šio atsargų elemento partijos kodas"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Atsargų kiekis"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Surinkimo šaltinis"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Surinkimas šiam atsargų elementui"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Sunaudojo"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Gamybos užsakymas, kuris sunaudojo šį atsargų elementą"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Pirkimo užsakymo šaltinis"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Pirkimo užsakymas šiam atsargų elementui"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Pardavimo užsakymo paskirtis"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Atsargų elemento galiojimo data. Po šios datos atsargos bus laikomos pasibaigusiomis"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Ištrinti išnaudojus"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Ištrinti šį atsargų elementą, kai atsargos bus išnaudotos"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Vieneto pirkimo kaina pirkimo metu"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Konvertuota į detalę"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Detalė nenustatyta kaip sekama"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Kiekis turi būti sveikasis skaičius"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Kiekis negali viršyti galimų atsargų kiekio ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Serijos numeriai turi būti pateikti sąraše"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Kiekis nesutampa su serijos numeriais"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Bandomasis šablonas neegzistuoja"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Atsargų elementas buvo priskirtas pardavimo užsakymui"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Atsargų elementas sumontuotas kitame elemente"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Atsargų elementas turi kitų elementų"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Atsargų elementas buvo priskirtas klientui"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Atsargų elementas šiuo metu gaminamas"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Su serijos numeriais pažymėtų atsargų sujungti negalima"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Pasikartojantys atsargų elementai"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Atsargų elementai turi būti susiję su ta pačia detale"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Atsargų elementai turi būti susiję su ta pačia tiekėjo detale"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Atsargų būsenos kodai turi sutapti"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Atsargų elemento negalima perkelti, nes jo nėra sandėlyje"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Atsargų elemento sekimas"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Įrašo pastabos"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Atsargų elemento bandymo rezultatas"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Šiam bandymui turi būti pateikta reikšmė"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Šiam bandymui turi būti įkeltas priedas"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Netinkama reikšmė šiam bandymui"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Bandymo rezultatas"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Bandymo išvesties reikšmė"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Bandymo rezultato priedas"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Bandymo pastabos"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Bandymų stotis"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Bandymų stoties identifikatorius, kurioje atliktas bandymas"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Pradėta"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Bandymo pradžios laiko žyma"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Pabaigta"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Bandymo pabaigos laiko žyma"
@@ -8662,246 +8819,246 @@ msgstr "Pasirinkite detalę serijos numeriui sugeneruoti"
msgid "Quantity of serial numbers to generate"
msgstr "Kiekis serijos numerių, kuriuos reikia sugeneruoti"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Bandymo šablonas šiam rezultatui"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "Turi būti pateiktas šablono ID arba bandymo pavadinimas"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Bandymo pabaigos laikas negali būti ankstesnis nei pradžios laikas"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Pirminis elementas"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Pirminis atsargų elementas"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Naudoti pakuotės dydį pridedant: nurodytas kiekis yra pakuočių skaičius"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Įveskite serijos numerius naujiems elementams"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Tiekėjo detalės numeris"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Nebegaliojantis"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Antriniai elementai"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Sekami elementai"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Šio atsargų elemento pirkimo kaina, vienetui arba pakuotei"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Įveskite atsargų elementų, kuriuos reikia serializuoti, skaičių"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Kiekis negali viršyti galimų atsargų kiekio ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Paskirties atsargų vieta"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Šiai detalei negali būti priskirti serijos numeriai"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Serijos numeriai jau egzistuoja"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Pasirinkite atsargų elementą montavimui"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Montuojamas kiekis"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Įveskite montuojamų elementų kiekį"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Pridėkite operacijos pastabą (neprivaloma)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Montuojamas kiekis turi būti bent 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Atsargų elementas nepasiekiamas"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Pasirinktos detalės nėra komplektavimo žiniaraštyje"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Montuojamas kiekis negali viršyti turimo kiekio"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Paskirties vieta išmontuotam elementui"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Pasirinkite detalę, į kurią konvertuoti atsargų elementą"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Pasirinkta detalė netinkama konvertavimui"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Negalima konvertuoti atsargų elemento, kuriam priskirta tiekėjo detalė"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Atsargų elemento būsenos kodas"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Pasirinkite atsargų elementus būsenai pakeisti"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Nepasirinkti jokie atsargų elementai"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sub-vietos"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Pirminė atsargų vieta"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Detalė turi būti parduodama"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Elementas priskirtas pardavimo užsakymui"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Elementas priskirtas gamybos užsakymui"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Klientas, kuriam priskiriami atsargų elementai"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Pasirinkta įmonė nėra klientas"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Atsargų priskyrimo pastabos"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Turi būti pateiktas atsargų elementų sąrašas"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Atsargų sujungimo pastabos"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Leisti skirtingus tiekėjus"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Leisti sujungti atsargų elementus su skirtingomis tiekėjų detalėmis"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Leisti skirtingas būsenas"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Leisti sujungti atsargų elementus su skirtingais būsenos kodais"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Turi būti pateikti bent du atsargų elementai"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Be pakeitimų"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Atsargų elemento pirminio rakto reikšmė"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Atsargų elemento nėra sandėlyje"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Atsargų operacijos pastabos"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Kitas serijos numeris"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Ankstesnis serijos numeris"
@@ -9383,83 +9540,83 @@ msgstr "Pardavimo užsakymai"
msgid "Return Orders"
msgstr "Grąžinimo užsakymai"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Vartotojo vardas"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Vardas"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Vartotojo vardas"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Pavardė"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Vartotojo pavardė"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Vartotojo el. pašto adresas"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personalas"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Ar šis vartotojas turi personalo leidimus"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Supervartotojas"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Ar šis vartotojas yra supervartotojas"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Ar ši vartotojo paskyra yra aktyvi"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Tik supervartotojas gali keisti šį lauką"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Neturite leidimo kurti vartotojų"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Jūsų paskyra sukurta."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Prisijungimui naudokite slaptažodžio atstatymo funkciją"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Sveiki atvykę į InvenTree"
diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
index db87f23b88..c6d3081872 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API galapunkts nav atrasts"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-pasts (vēlreiz)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "E-pasta adreses apstiprinājums"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Katru reizi jāievada viena un tā pati e-pasta adrese."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Norādītā primārā e-pasta adrese nav derīga."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Norādītais e-pasta domēns nav apstiprināts."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Nevarēja konvertēt {original} par {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Norādītais daudzums nav derīgs"
@@ -112,13 +104,13 @@ msgstr "Ievadiet datumu"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Piezīmes"
@@ -131,75 +123,75 @@ msgstr "Vērtība '{name}' neparādās vajadzīgajā formātā"
msgid "Provided value does not match required pattern: "
msgstr "Norādītā vērtība neatbilst nepieciešamajam formātam: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Tukša sērijas numura rinda"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Atkārtojas sērijas numurs"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Grupas diapazons {group} pārsniedz pieļaujamo daudzumu ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Netika atrasts neviens sērijas numurs"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Noņemiet HTML tagus no šīs vērtības"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Savienojuma kļūda"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Serveris atbildēja ar nederīgu statusa kodu"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Radās izņēmums"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Serveris atbildēja ar nederīgu Content-Length vērtību"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Attēla izmērs ir pārāk liels"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Attālais serveris atgrieza tukšu atbildi"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Norādītajā URL nav derīgs attēla fails"
@@ -207,11 +199,11 @@ msgstr "Norādītajā URL nav derīgs attēla fails"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr ""
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
index 9ec3041053..db80e3d9b0 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API eindpunt niet gevonden"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Lijst met items of filters moet worden opgegeven voor bulk bewerking"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Items moeten worden opgegeven als een lijst"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Ongeldige items lijst verstrekt"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filters moeten als woordenboek worden opgegeven"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Ongeldige filters opgegeven"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Alles filteren alleen gebruiken met True"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Geen items die overeenkomen met de opgegeven criteria"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Geen gegevens verstrekt"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Dit veld moet uniek zijn"
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Gebruiker heeft geen rechten om dit model te bekijken"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-mailadres (opnieuw)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "E-mailadres bevestiging"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Er moet hetzelfde e-mailadres ingevoerd worden."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Het opgegeven primaire e-mailadres is ongeldig."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Het ingevoerde e-maildomein is niet goedgekeurd."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "{original} kon niet worden omgezet naar {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveelheid ingevoerd"
@@ -112,13 +104,13 @@ msgstr "Voer datum in"
msgid "Invalid decimal value"
msgstr "Ongeldige decimale waarde"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Opmerkingen"
@@ -131,75 +123,75 @@ msgstr "Waarde '{name}' verschijnt niet in patroonformaat"
msgid "Provided value does not match required pattern: "
msgstr "Opgegeven waarde komt niet overeen met vereist patroon: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Kan niet meer dan 1000 items tegelijk serienummers geven."
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Leeg serienummer"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplicaat serienummer"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Ongeldige groep: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Groepsbereik {group} overschrijdt toegestane hoeveelheid ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Geen serienummers gevonden"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Hoeveelheid van unieke serienummers ({n}) moet overeenkomen met de hoeveelheid ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Verwijder HTML tags van deze waarde"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Gegevens bevatten verboden markdown inhoud"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Verbindingsfout"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Server reageerde met ongeldige statuscode"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Uitzondering opgetreden"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Server reageerde met ongeldige Content-Length waarde"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Afbeeldingsformaat is te groot"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Beelddownload overschrijdt de maximale grootte"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Externe server heeft lege reactie teruggegeven"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Opgegeven URL is geen geldig afbeeldingsbestand"
@@ -207,11 +199,11 @@ msgstr "Opgegeven URL is geen geldig afbeeldingsbestand"
msgid "Log in to the app"
msgstr "Log in op de app"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Schakel tweestapsverificatie in voordat je iets anders kunt doen."
@@ -255,135 +247,126 @@ msgstr "Referentie moet overeenkomen met verplicht patroon"
msgid "Reference number is too large"
msgstr "Referentienummer is te groot"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Naam"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Omschrijving"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Omschrijving (optioneel)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Pad"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown notitie (optioneel)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Streepjescode gegevens"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Streepjescode van derden"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash van Streepjescode"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unieke hash van barcode gegevens"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Bestaande barcode gevonden"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Taak mislukt"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Achtergrondtaak '{f}' is mislukt na {n} pogingen"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverfout"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Afbeelding"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Selecteer valuta uit beschikbare opties"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Dit veld mag niet nul zijn."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Ongeldige waarde"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Externe afbeelding"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL van extern afbeeldingsbestand"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Fout bij het downloaden van afbeelding van externe URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Ongeldig inhoudstype"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Inhoudstype niet gevonden"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Content type komt niet overeen met de vereiste mixin klasse"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Chinees (vereenvoudigd)"
msgid "Chinese (Traditional)"
msgstr "Chinees (traditioneel)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Update beschikbaar"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Een update voor Inventree is beschikbaar"
@@ -553,30 +536,30 @@ msgstr "Ongeldige fysieke eenheid"
msgid "Not a valid currency code"
msgstr "Geen geldige valutacode"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Status van bestelling"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Bovenliggende Productie"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Inclusief varianten"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Inclusief varianten"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Inclusief varianten"
msgid "Part"
msgstr "Onderdeel"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categorie"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Voorouderlijke bouw"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Toegewezen aan mij"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Toegewezen aan"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Gemaakt voor"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Gemaakt na"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Heeft een startdatum"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Vervaldatum voor"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Vervaldatum na"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Heeft doel datum"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Doel datum voor"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Doel datum na"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Voltooid voor"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Voltooid na"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Min. datum"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Max. datum"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Boomstructuur uitsluiten"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Verbruiksartikelen"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Optioneel"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Samenstelling"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Gevolgd"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testbaar"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Openstaande order"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Toegewezen"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Verbruikt"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Beschikbaar"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "In bestelling"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Productieorder"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Locatie"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Uitvoer"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Filter op uitvoer standaard item ID. Gebruik 'null' om niet geïnstalleerde build items te vinden."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Productieorders"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Assemblage stuklijst is niet gevalideerd"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Bouw bestelling kan niet worden aangemaakt voor een inactief onderdeel"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Maken opdracht kan niet worden gemaakt voor een ontgrendeld onderdeel"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Bestellingen bouwen kan alleen extern worden vervuld voor aankochte onderdelen"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Verantwoorde gebruiker of groep moet worden opgegeven"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Bouworder onderdeel kan niet worden gewijzigd"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Doeldatum moet na startdatum zijn"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Productieorderreferentie"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Productieorderreferentie"
msgid "Reference"
msgstr "Referentie"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Korte beschrijving van de build (optioneel)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Productieorder waar deze productie aan is toegewezen"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr "Productie-opdracht waar dit product aan is toegewezen"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Selecteer onderdeel om te produceren"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Verkooporder Referentie"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Verkooporder waar deze productie aan is toegewezen"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Productieopdracht waar dit productie aan is toegewezen"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Bronlocatie"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Externe bouw"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Deze bouw opdracht is extern uitgevoerd"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Bestemmings Locatie"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Productiehoeveelheid"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Aantal voorraaditems om te produceren"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Voltooide voorraadartikelen"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Aantal voorraadartikelen die zijn voltooid"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Productiestatus"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Productiestatuscode"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Batchcode"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Aanmaakdatum"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Bouw start datum"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Geplande startdatum voor deze bestelling"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Verwachte opleveringsdatum"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Opleveringsdatum"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Uitgegeven door"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Gebruiker die de productieorder heeft gegeven"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Verantwoordelijke"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Externe Link"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link naar externe URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Bouw prioriteit"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioriteit van deze bouwopdracht"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Project code"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Project code voor deze build order"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Kan de bouwopdracht niet voltooien zolang onderliggende bouwopdrachten nog openstaan"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Kan de bouwopdracht niet voltooien zolang de output onvolledig is"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Verwijderen van taak om toewijzingen te voltooien mislukt"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Productieorder {build} is voltooid"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Een productieorder is voltooid"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Serienummers moeten worden opgegeven voor traceerbare onderdelen"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Geen productie uitvoer opgegeven"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Productie uitvoer is al voltooid"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Productuitvoer komt niet overeen met de Productieorder"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Hoeveelheid kan niet groter zijn dan aantal"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "Build output heeft niet alle vereiste tests doorstaan"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Build output {serial} heeft niet alle vereiste tests doorstaan"
-#: build/models.py:1230
-msgid "Cannot partially complete a build output with allocated items"
-msgstr ""
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Voorraadproducten zijn nog in productie"
-#: build/models.py:1628
+#: build/models.py:1211
+msgid "Cannot partially complete a build output with allocated items"
+msgstr "Kan een build uitvoer niet gedeeltelijk voltooien met de toegewezen items"
+
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Bouw order regel item"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Bouw object"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Bouw object"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Hoeveelheid"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Vereiste hoeveelheid voor bouwopdracht"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Aantal van verbruikte voorraad"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "Toegewezen hoeveelheid moet groter zijn dan nul"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Toegewezen hoeveelheid overschrijdt de beschikbare voorraad hoeveelheid"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Voorraadartikel"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Voorraad hoeveelheid toe te wijzen aan productie"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Installeren in"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Bouw level"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Onderdeel naam"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Projectcode label"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Productieuitvoer"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Deze productieuitvoer is al voltooid"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Deze productieuitvoer is niet volledig toegewezen"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Voer hoeveelheid in voor productie uitvoer"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Serienummers"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Voer serienummers in voor productieuitvoeren"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Voorraad locatie voor project uitvoer"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Serienummers automatisch toewijzen"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "De volgende serienummers bestaan al of zijn ongeldig"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Voorraadlocatie voor geannuleerde outputs"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Toewijzingen weggooien"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Reden voor annulering van bouworder(s)"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Locatie van voltooide productieuitvoeren"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Incomplete Toewijzing Accepteren"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Toegewezen voorraad gebruiken"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Verbruik elke voorraad die al is toegewezen aan deze build"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Verwijder Incomplete Uitvoeren"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Niet toegestaan"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Overgealloceerde voorraad"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Sommige voorraadartikelen zijn overalloceerd"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Accepteer Niet-toegewezen"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Vereiste voorraad is niet volledig toegewezen"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Accepteer Onvolledig"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Vereiste productiehoeveelheid is voltooid"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Bouw opdracht heeft open sub bouw orders"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Bouwen moet in de productiestatus staan"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Productielijn"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Productieuitvoer"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Productieuitvoer moet naar dezelfde productie wijzen"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Bouw lijn-item"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Artikel moet op voorraad zijn"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Beschikbare hoeveelheid ({q}) overschreden"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Allocaties voor artikelen moeten worden opgegeven"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Locatie uitsluiten"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Uitwisselbare voorraad"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Vervangende Voorraad"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Toewijzing van vervangende onderdelen toestaan"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Optionele Items"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Alloceer optionele BOM items om bestelling te bouwen"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Starten van automatische toewijzing taak mislukt"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "Alle artikelen"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "Niet Gevolgde items"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "Gevolgde Items"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "Item Type"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "Selecteer item type om automatisch toe te wijzen"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "BOM referentie"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "BOM onderdeel ID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "BOM onderdeel naam"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "Instaleeren Op"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Bouwen"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Toegewezen hoeveelheid"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Bouw referentie"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Naam categorie onderdeel"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Volgbaar"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Overgenomen"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Varianten toestaan"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Stuklijstartikel"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "In productie"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Gepland om te bouwen"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Externe voorraad"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Beschikbare Voorraad"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Beschikbare vervanging voorraad"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Beschikbare varianten voorraad"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "Verbruikte hoeveelheid overschrijdt toegewezen hoeveelheid"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Optionele notities voor voorraadverbruik"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "Het bouwelement moet verwijzen naar de juiste bouwopdracht"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Dupliceer build item allocatie"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "Build line moet verwijzen naar de juiste bouwopdracht"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Dupliceer build line toewijzing"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Ten minste één item of regel moet worden opgegeven"
@@ -1474,67 +1478,71 @@ msgstr "In de wacht"
msgid "Cancelled"
msgstr "Geannuleerd"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Voltooid"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Voorraad vereist voor productieorder"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Bouw order {build} vereist extra voorraad"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Achterstallige Productieorder"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Productieorder {bo} is nu achterstallig"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Is koppeling"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Is een bestand"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Gebruiker heeft geen toestemming om deze bijlagen te verwijderen"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Gebruiker heeft geen toestemming om deze bijlage te verwijderen."
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Ongeldige valuta code"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Dubbele valutacode"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Geen geldige valuta codes opgegeven"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Geen plug-in gevonden"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Projectcode label"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Bijgewerkt"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Tijdstempel van laatste update"
@@ -1546,778 +1554,778 @@ msgstr "Bijgewerkt door"
msgid "User who last updated this object"
msgstr "Gebruiker die dit object voor het laatst heeft bijgewerkt"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Unieke projectcode"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Projectbeschrijving"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Gebruiker of groep die verantwoordelijk is voor dit project"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Instellingen"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Instellingswaarde"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Gekozen waarde is geen geldige optie"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Waarde moet een booleaanse waarde zijn"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Waarde moet een geheel getal zijn"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Waarde moet een geldig getal zijn"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Waarde is niet geldig voor validatiecontrole"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Sleutelreeks moet uniek zijn"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Gebruiker"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Prijs pauze hoeveelheid"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Prijs"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Stukprijs op opgegeven hoeveelheid"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Eindpunt"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Eindpunt waarop deze webhook wordt ontvangen"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Naam van deze webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Actief"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Is deze webhook actief"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Sleutel"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token voor toegang"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Geheim"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Gedeeld geheim voor HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Bericht ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Unieke identificatie voor dit bericht"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Host waarvan dit bericht is ontvangen"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Koptekst"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Koptekst van dit bericht"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Berichtinhoud"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Inhoud van dit bericht"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Eindpunt waarop dit bericht is ontvangen"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Aan gewerkt"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Is het werk aan dit bericht voltooid?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Titel"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Koppeling"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Gepubliceerd"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Auteur"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Samenvatting"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Gelezen"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Is dit nieuwsitem gelezen?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Afbeelding"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Doel type voor deze afbeelding"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "Doel modelnummer voor deze afbeelding"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Aangepaste eenheid"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Eenheid symbool moet uniek zijn"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Naam van de unit moet een geldig id zijn"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Naam van eenheid"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbool"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Optionele eenheid symbool"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definitie"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definitie van eenheid"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Bijlage"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Ontbrekend bestand"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Model type"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Doel type voor afbeelding"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Opmerking"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Opmerking van bijlage"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Uploaddatum"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Datum waarop het bestand is geüpload"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Bestandsgrootte"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Bestandsgrootte in bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Ongeldig modeltype opgegeven voor bijlage"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Aangepaste staat"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Aangepaste statussen"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Referentie status set"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Status set die met deze aangepaste status wordt uitgebreid"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Logische sleutel"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Staat logische sleutel die gelijk is aan deze staat in zakelijke logica"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Waarde"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "De numerieke waarde die wordt opgeslagen in de modellendatabase"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Naam van de toestand"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Label"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Label dat in de frontend getoond wordt"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Kleur"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Kleur die in de frontend getoond wordt"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Model met deze staat is gekoppeld aan"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Het model moet worden gekozen"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Sleutel moet worden geselecteerd"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Logische sleutel moet worden geselecteerd"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Sleutel moet anders zijn dan logische sleutel"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Geldige referentie status klasse moet worden opgegeven"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Sleutel moet verschillen van de logische sleutels van de referentie status"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Logische sleutel moet in de logische sleutels van de referentiestatus staan"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Naam moet anders zijn dan de namen van de referentie status"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Keuzelijst"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Selectielijst"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Naam van de selectielijst"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Beschrijving van de selectielijst"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Vergrendeld"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Is deze selectielijst vergrendeld?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Kan deze selectielijst worden gebruikt?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Bron plug-in"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Plug-in die de selectielijst biedt"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Bron tekenreeks"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Optionele tekenreeks die de bron identificeert die voor deze lijst wordt gebruikt"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Standaard vermelding"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Standaard vermelding voor deze selectielijst"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Gecreëerd"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Datum en tijd waarop de selectielijst is aangemaakt"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Laatst bijgewerkt"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Datum en tijd waarop de selectielijst voor het laatst is bijgewerkt"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Selectielijst item"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Selectielijst item"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Selectielijst waaraan dit item hoort"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Naam van de selectielijst"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Label voor het item in de selectielijst"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Beschrijving van het item in de selectielijst"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Is dit item in deze lijst actief?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parameter sjabloon"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parameter sjablonen"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Checkbox parameters kunnen geen eenheden bevatten"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Checkbox parameters kunnen geen eenheden bevatten"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Keuzes moeten uniek zijn"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Doelmodeltype voor dit parametersjabloon"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Parameternaam"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Eenheden"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Fysieke eenheden voor deze parameter"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Parameter omschrijving"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Selectievakje"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Is deze parameter een selectievak?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Keuzes"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Geldige keuzes voor deze parameter (komma gescheiden)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Lijst met selecties voor deze parameter"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Ingeschakeld"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Is dit parametersjabloon ingeschakeld?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Parameters"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Ongeldige keuze voor parameter waarde"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Ongeldig modeltype opgegeven voor parameter"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "Model-ID"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "ID van het doelmodel voor deze parameter"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Sjabloon"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Parameter sjabloon"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Gegevens"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Opmerking"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Optioneel notities veld"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Barcode Scan"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Barcode gegevens"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Gebruiker die de barcode gescand heeft"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Tijdstempel"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Datum en tijd van de streepjescode scan"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Adres eindpunt dat de streepjescode verwerkt"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Inhoud"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Contextgegevens voor de barcode scan"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Reactie"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Reactiegegevens van de barcode scan"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultaat"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Was de barcode succesvol gescand?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Er is een fout opgetreden"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: E-maillog verwijderen wordt beschermd. Zet INVENTREE_PROTECT_EMAIL_LOG naar False om verwijdering toe te staan."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "E-mailbericht"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "E-mail berichten"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Aangekondigd"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Verzonden"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Mislukt"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Geleverd"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Bevestigd"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Inkomend"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Uitgaand"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Geen antwoord"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Track levering"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Track gelezen"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Track Klik"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "Globaal ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Identificatie voor dit bericht (kan worden geleverd door een extern systeem)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "Discussie ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Identificatie voor deze bericht draad (kan worden geleverd door een extern systeem)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Gesprek"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Gekoppeld onderwerp voor dit bericht"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "Prioriteit"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "E-mail gesprekken"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "E-mail gesprekken"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Sleutel"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Unieke sleutel voor deze thread (gebruikt om de conversatie te identificeren)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Unieke identificatie voor dit bericht"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Intern gestart"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Is dit onderwerp intern gestart?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Datum en tijd waarop de conversatie voor het laatst is bijgewerkt"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Datum en tijd waarop de conversatie voor het laatst is bijgewerkt"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} is geannuleerd"
msgid "A order that is assigned to you was canceled"
msgstr "Een bestelling die aan u is toegewezen is geannuleerd"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Ontvangen items"
@@ -2351,93 +2359,101 @@ msgstr "Artikelen zijn ontvangen tegen een inkooporder"
msgid "Items have been received against a return order"
msgstr "Items zijn ontvangen tegen een retour bestelling"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Geeft aan of deze instelling bevestiging nodig heeft"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Deze instelling vereist een bevestiging voordat u verandert. Bevestig alstublieft de wijziging."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Geeft aan of de instelling overschreven wordt door een omgevingsvariabele"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Overschrijven"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Is actief"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Openstaande taken"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Geplande taken"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Mislukte taken"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Taak ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Unieke taak ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Vergrendel"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Tijdstip van vergrendeling"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Naam van de taak"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Functie"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Functie naam"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumenten"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Taak argumenten"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Trefwoord argumenten"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Taak trefwoord argumenten"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Bestandsnaam"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Model type"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Gebruiker heeft geen toestemming om bijlagen voor dit model te maken of te bewerken"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "Gebruiker heeft geen toestemming om parameters voor dit model te maken of te bewerken"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lijst met selecties is vergrendeld"
@@ -2445,1130 +2461,1159 @@ msgstr "Lijst met selecties is vergrendeld"
msgid "No group"
msgstr "Geen groep"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Website URL is vergrendeld door configuratie"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Opnieuw opstarten vereist"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migraties in behandeling"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Aantal nog openstaande database migraties"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Actieve waarschuwingscodes"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Een reeks actieve waarschuwingscodes"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "Instantie Id"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Unieke identificatie voor deze InvenTree instantie"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Aankondiging ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Kondig de instantie ID van de server aan in de server status info (ongeautoriseerd)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "ID Serverinstantie"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Stringbeschrijving voor de server instantie"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Gebruik de instantie naam"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Gebruik de naam van de instantie in de titelbalk"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Tonen `over` beperken"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Toon de `over` modal alleen aan superusers"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Bedrijfsnaam"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Interne bedrijfsnaam"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Basis-URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Basis URL voor serverinstantie"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Standaard Valuta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Selecteer basisvaluta voor de berekening van prijzen"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Ondersteunde valuta"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Lijst van ondersteunde valuta codes"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Valuta update interval"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dagen"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Valuta update plug-in"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Munteenheid update plug-in om te gebruiken"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Download van URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Download limiet"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maximale downloadgrootte voor externe afbeelding"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-agent gebruikt om te downloaden van URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Strikte URL validatie"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Vereis schema specificatie bij het valideren van URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Interval voor update"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatische backup"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Automatische back-up van database- en mediabestanden inschakelen"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automatische backup interval"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Geef het aantal dagen op tussen geautomatiseerde backup"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Interval Taak Verwijderen"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Error Log Verwijderings Interval"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Interval Verwijderen Notificatie"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "E-mail verwijderen interval"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "E-mailberichten zullen worden verwijderd na het opgegeven aantal dagen"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Bescherm e-maillogboeken"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Voorkom het verwijderen van e-mail logs"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Streepjescodeondersteuning"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Schakel barcodescanner ondersteuning in in de webinterface"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Sla de resultaten van de barcode op"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Sla de barcode scan resultaten op in de database"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Maximale aantal Barcode Scans"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Maximum aantal resultaten van de barcode scan op te slaan"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Barcode Invoer Vertraging"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Barcode invoerverwerking vertraging"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Barcode Webcam Ondersteuning"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Barcode via webcam scannen in browser toestaan"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Barcode gegevens"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Geef barcode gegevens weer in browser als tekst"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Streepjescode Plug-in"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Plug-in om te gebruiken voor interne barcode data genereren"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Herzieningen onderdeel"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Revisieveld voor onderdeel inschakelen"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Alleen assemblee revisie"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Alleen revisies toestaan voor assemblageonderdelen"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Verwijderen uit Assemblage toestaan"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Verwijderen van onderdelen die in een groep worden gebruikt toestaan"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Duplicaat IPN toestaan"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Bewerken IPN toestaan"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Kopieer Onderdeel Stuklijstgegevens"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Kopieer Onderdeel Parametergegevens"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Kopieer Onderdeel Testdata"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kopiëer Categorieparameter Sjablonen"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Onderdeel"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Koopbaar"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Verkoopbaar"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtueel"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Onderdelen zijn standaard virtueel"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Verwante onderdelen tonen"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Verwante onderdelen voor een onderdeel tonen"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Initiële voorraadgegevens"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Initiële leveranciergegevens"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Onderdelennaam Weergaveopmaak"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Opmaak om de onderdeelnaam weer te geven"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Standaardicoon voor onderdeel catagorie"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Minimaal aantal prijs decimalen"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Maximum prijs decimalen"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Gebruik leveranciersprijzen"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Aankoopgeschiedenis overschrijven"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Historische order prijzen overschrijven de prijzen van de leverancier"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Gebruik voorraaditem prijzen"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Voorraad artikelprijs leeftijd"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Gebruik variantprijzen"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Variantenprijzen opnemen in de totale prijsberekening"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Alleen actieve varianten"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Prijzen automatisch bijwerken"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Automatisch prijzen van onderdelen bijwerken wanneer interne gegevens veranderen"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Prijzen Herbouw interval"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interne Prijzen"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Inschakelen van interne prijzen voor onderdelen"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Interne prijs overschrijven"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Printen van labels Inschakelen"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Printen van labels via de webinterface inschakelen"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Label Afbeelding DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Activeer Rapportages"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Activeer het genereren van rapporten"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Log fouten"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registreer fouten die optreden bij het genereren van rapporten"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Standaard paginagrootte voor PDF rapporten"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forceer Parameter Eenheden"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globaal unieke serienummers"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Verwijder uitgeputte voorraad"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Bepaalt standaard gedrag wanneer een voorraadartikel leeg is"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Batchcode Sjabloon"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Verlopen Voorraad"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Verkoop Verlopen Voorraad"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Voorraad Vervaltijd"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Produceer Verlopen Voorraad"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Sta productie met verlopen voorraad toe"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Voorraad Eigenaar Toezicht"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Voorraadlocatie standaard icoon"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Standaard locatie pictogram (leeg betekent geen icoon)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Geïnstalleerde voorraad items weergeven"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Controleer BOM bij het installeren van items"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Geïnstalleerde voorraad items moeten in de BOM voor het bovenliggende deel bestaan"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Sta 'Niet op voorraad overschrijving' toe"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Toestaan dat voorraadartikelen die niet op voorraad zijn worden overgebracht tussen voorraadlocaties"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Productieorderreferentiepatroon"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Vereis verantwoordelijke eigenaar"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Een verantwoordelijke eigenaar moet worden toegewezen aan elke bestelling"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Vereist een actief onderdeel"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Voorkom het maken van orders voor inactieve onderdelen"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Vergrendeld onderdeel vereisen"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Voorkom het maken van orders voor ontgrendelde onderdelen"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Vereist een geldige BOM"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Voorkom het creëren van bouworders tenzij BOM is gevalideerd"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Onderliggende bestellingen vereist"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Voorkom voltooiing van de bouw tot alle sub orders gesloten zijn"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Externe Bouw Orders"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Inschakelen externe build order functionaliteit"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blokkeren tot test geslaagd"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Voorkom dat de bouw van de uitvoer wordt voltooid totdat alle vereiste testen zijn geslaagd"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Retourorders inschakelen"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Retourorder referentie patroon"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Verplicht patroon voor het genereren van Retourorder referentie veld"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Bewerk voltooide retourorders"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Verkooporderreferentiepatroon"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Standaard Verzending Verkooporder"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Aanmaken standaard verzending bij verkooporders inschakelen"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Bewerk voltooide verkooporders"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "Zending moet gecontroleerd worden"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "Voorkom voltooiing van verzendingen totdat items zijn gecontroleerd"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Verstuurde bestellingen markeren als voltooid"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Verkooporders gemarkeerd als verzonden zullen automatisch worden voltooid, zonder de status \"verzonden\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Inkooporderreferentiepatroon"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Bewerk voltooide verkooporders"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Valuta converteren"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Verander artikelwaarde naar basisvaluta bij het ontvangen van voorraad"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Inkooporders automatisch voltooien"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Markeer orders automatisch als voltooid wanneer alle regelitems worden ontvangen"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Wachtwoord vergeten functie inschakelen"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Registratie inschakelen"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "SSO inschakelen"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "SSO inschakelen op de inlogpagina's"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Schakel gebruikersregistratie met SSO in"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "SSO-groep synchroniseren inschakelen"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Inschakelen van het synchroniseren van InvenTree groepen met groepen geboden door de IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO groep sleutel"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "De naam van de groepen claim attribuut van de IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "SSO groep kaart"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Een mapping van SSO-groepen naar lokale InvenTree groepen. Als de lokale groep niet bestaat, zal deze worden aangemaakt."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Verwijder groepen buiten SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Of groepen die zijn toegewezen aan de gebruiker moeten worden verwijderd als ze geen backend zijn door de IdP. Het uitschakelen van deze instelling kan beveiligingsproblemen veroorzaken"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "E-mailadres verplicht"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "SSO-gebruikers automatisch invullen"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "E-mail twee keer"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Wachtwoord tweemaal"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Toegestane domeinen"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Groep bij aanmelding"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Groep waaraan nieuwe gebruikers zijn toegewezen op registratie. Als SSO-groepssynchronisatie is ingeschakeld, is deze groep alleen ingesteld als er geen groep vanuit de IdP kan worden toegewezen."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "MFA afdwingen"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Gebruikers moeten multifactor-beveiliging gebruiken."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Het inschakelen van deze instelling zal ervoor zorgen dat alle gebruikers multifactor authenticatie instellen. Alle sessies worden onmiddellijk verbroken."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Controleer plugins bij het opstarten"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Controleren op plug-in updates"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Schakel periodieke controles voor updates voor geïnstalleerde plug-ins in"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Activeer URL-integratie"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Plugins toestaan om URL-routes toe te voegen"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Activeer navigatie integratie"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins toestaan om te integreren in navigatie"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Activeer app integratie"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Activeer plug-ins om apps toe te voegen"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Activeer planning integratie"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Activeer plugin om periodiek taken uit te voeren"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Activeer evenement integratie"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Activeer plugin om op interne evenementen te reageren"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Interface integratie activeren"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Plug-ins inschakelen om te integreren in de gebruikersinterface"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "E-mail integratie inschakelen"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Schakel plug-ins in om uitgaande / inkomende mails te verwerken"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Activeer project codes"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Schakel projectcodes in voor het bijhouden van projecten"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Voorraad geschiedenis inschakelen"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr "Voorraadcontrole inschakelen"
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Functionaliteit voor het opnemen van historische voorraadniveaus en -waarde inschakelen"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Externe locaties uitsluiten"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Voorraaditems op externe locaties uitsluiten van aandelen geschiedenis berekeningen"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen"
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Automatische Voorraadcontrole Periode"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Aantal dagen tussen het opnemen van automatische voorraadgeschiedenis"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr "Aantal dagen tussen automatische voorraadgegevens opnemen"
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Verwijder oude items geschiedenis"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr "Oude voorraadgegevens verwijderen"
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Verwijder voorraadgeschiedenis items ouder dan het opgegeven aantal dagen"
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr "Voorraadgegevens verwijderen die ouder zijn dan het opgegeven aantal dagen"
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Aandelengeschiedenis verwijderings interval"
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr "Interval Voorraadgegevens verwijderen"
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen"
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr "Voorraadgegevens zal worden verwijderd na het opgegeven aantal dagen"
-#: common/setting/system.py:1123
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr "Inverval voor verwijderen van voorraadtracking"
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "Gebruikers volledige namen weergeven"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "Laat gebruikers volledige namen zien in plaats van gebruikersnamen"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "Gebruikersprofielen tonen"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "Toon gebruikersprofielen op hun profielpagina"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "Inschakelen van teststation data"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "Schakel teststation gegevensverzameling in voor testresultaten"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
-msgstr ""
+msgstr "Machine Ping inschakelen"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
-msgstr ""
+msgstr "Schakel periodieke ping taak van geregistreerde machines in om hun status te controleren"
#: common/setting/user.py:23
msgid "Inline label display"
@@ -3596,11 +3641,11 @@ msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te down
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Barcode Scanner in formuliervelden"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Barcodescanner invoer in formuliervelden toestaan"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3868,7 +3913,7 @@ msgstr "Sla de laatst gebruikte printer op voor een gebruiker"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Alle modellen"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "Onderdeel is actief"
msgid "Manufacturer is Active"
msgstr "Fabrikant is actief"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Leveranciersonderdelen is actief"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr "Primaire leverancierdeel"
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Intern onderdeel is actief"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Leverancier is actief"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabrikant"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Bedrijf"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Heeft voorraad"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Bedrijven"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Bedrijf omschrijving"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Omschrijving van het bedrijf"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Website"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL bedrijfswebsite"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefoonnummer"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Telefoonnummer voor contact"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Contact e-mailadres"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contact"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Contactpunt"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Is dit bedrijf actief?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Is klant"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Verkoop je artikelen aan dit bedrijf?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Is leverancier"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Koop je artikelen van dit bedrijf?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Is fabrikant"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "Btw-nr"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "BTW-nummer van bedrijf"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adres"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adres"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Selecteer bedrijf"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Adres titel"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Titel die het adres beschrijft"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Primair adres"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Instellen als primair adres"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Lijn 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adresregel 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Lijn 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adresregel 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Post code"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Plaats/regio"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Postcode plaats/regio"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Staat/provincie"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Staat of provincie"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Land"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adres land"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Koerier verzend notities"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Opmerkingen voor verzending koerier"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Interne verzend notities"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Verzend notities voor intern gebruik"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link naar adres gegevens (extern)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Basis onderdeel"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Onderdeel selecteren"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Fabrikant selecteren"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "Fabrikant artikel nummer"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Fabrikant artikel nummer (MPN)"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL voor externe link van het fabrikant onderdeel"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Omschrijving onderdeel fabrikant"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Pakket eenheden moeten compatibel zijn met de basis onderdeel eenheden"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Leverancier"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Leverancier selecteren"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Voorraad beheers eenheid voor leveranciers"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Is dit leveranciersdeel actief?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr "Primair"
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Selecteer fabrikant onderdeel"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL voor link externe leveranciers onderdeel"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Omschrijving leveranciersdeel"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Verpakking"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Onderdeel verpakking"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Pakket hoeveelheid"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Totale hoeveelheid geleverd in één pakket. Laat leeg voor enkele afzonderlijke items."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "meerdere"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Order meerdere"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Beschikbare hoeveelheid van leverancier"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Beschikbaarheid bijgewerkt"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Datum van de laatste update van de beschikbaarheid gegevens"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Prijsverschil van leverancier"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Geeft als resultaat de string representatie voor het primaire adres. Deze eigenschap bestaat voor achterwaartse compatibiliteit."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Bedrijfsnaam"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Op voorraad"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "Prijsverschillen"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Fout opgetreden tijdens data export"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Gegevensexport plug-in geeft onjuiste gegevensindeling terug"
@@ -4318,119 +4367,119 @@ msgstr "Geplaatst"
msgid "Invalid status code"
msgstr "Ongeldige statuscode"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Data bestand"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Te importeren databestand"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Kolommen"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Doel modeltype voor deze importsessie"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Status van importeren"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Veld standaard"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Veld overschrijven"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Veld filters"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Bestaande Records Bijwerken"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Indien ingeschakeld, zullen bestaande records worden bijgewerkt met nieuwe gegevens"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Sommige verplichte velden zijn niet toegewezen"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Bestaande database-identifier voor het record"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "De kolom is al toegewezen aan een database veld"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Het veld is al toegewezen aan een data-kolom"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Kolom toewijzing moet worden gekoppeld aan een geldige importsessie"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Kolom bestaat niet in het gegevensbestand"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Veld bestaat niet in het doel model"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Geselecteerde veld is alleen lezen"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Importeer sessie"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Veld"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Kolom"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Rij index"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Oorspronkelijke rij gegevens"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Fouten"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Geldig"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "ID is vereist voor het bijwerken van bestaande records."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Geen record gevonden met het opgegeven ID"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Ongeldig ID formaat opgegeven"
@@ -4530,7 +4579,7 @@ msgstr "Aantal afdrukken voor elk label"
msgid "Connected"
msgstr "Verbonden"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Onbekend"
@@ -4540,7 +4589,7 @@ msgstr "Afdrukken"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "Waarschuwing"
#: machine/machine_types/label_printer.py:235
msgid "No media"
@@ -4556,7 +4605,7 @@ msgstr "Verbinding verbroken"
#: machine/machine_types/label_printer.py:238
msgid "Error"
-msgstr ""
+msgstr "Error"
#: machine/machine_types/label_printer.py:245
msgid "Label Printer"
@@ -4628,11 +4677,11 @@ msgstr "Configuratie type"
#: machine/serializers.py:24
msgid "Key of the property"
-msgstr ""
+msgstr "Sleutel van de eigenschap"
#: machine/serializers.py:27
msgid "Value of the property"
-msgstr ""
+msgstr "Waarde van de eigenschap"
#: machine/serializers.py:30 users/models.py:238
msgid "Group"
@@ -4640,123 +4689,135 @@ msgstr "Groep"
#: machine/serializers.py:30
msgid "Grouping of the property"
-msgstr ""
+msgstr "Groepering van de eigenschap"
#: machine/serializers.py:33
msgid "Type"
-msgstr ""
+msgstr "Type"
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "Type van de eigenschap"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "Maximale voortgang"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
-msgstr ""
+msgstr "Maximale waarde voor voortgangsttype, vereist als type=progress"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Order Referentie"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Uitmuntend"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Heeft een projectcode"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Aangemaakt Door"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Gemaakt vóór"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Gemaakt na"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Heeft vervaldatum"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Vervaldatum voor"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Vervaldatum na"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Heeft doel datum"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Doel datum voor"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Doel datum na"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr "Bijgewerkt voor"
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr "Bijgewerkt na"
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Heeft prijsstelling"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Voltooid voor"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Voltooid na"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Externe Bouw Opdracht"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Bestellen"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Bestelling voltooid"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Intern onderdeel"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Bestelling in behandeling"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Voltooid"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Heeft verzending"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Inkooporder"
msgid "Sales Order"
msgstr "Verkooporder"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,723 +4842,743 @@ msgstr "Totaalprijs"
msgid "Total price for this order"
msgstr "Totaalprijs van deze bestelling"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Valuta bestelling"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Valuta voor deze order (laat leeg om de standaard van het bedrijf te gebruiken)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Deze bestelling is vergrendeld en kan niet worden gewijzigd"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Contact komt niet overeen met het geselecteerde bedrijf"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Startdatum moet voor einddatum liggen"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "Adres komt niet overeen met het geselecteerde bedrijf"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Bestelling beschrijving (optioneel)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Selecteer projectcode voor deze bestelling"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link naar externe pagina"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Start datum"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Geplande startdatum voor deze bestelling"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Streefdatum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Datum van uitgifte"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Order uitgegeven op datum"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr "Bijgewerkt op"
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Gebruiker of groep verantwoordelijk voor deze order"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Contactpunt voor deze volgorde"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Bedrijf adres voor deze bestelling"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Orderreferentie"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Inkooporder status"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Bedrijf waar de artikelen van worden besteld"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Leveranciersreferentie"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Order referentiecode van leverancier"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "ontvangen door"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Order voltooid op datum"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Bestemming"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Bestemming voor ontvangen items"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Artikelregel komt niet overeen met inkooporder"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "Regelitem mist een gekoppeld deel"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Hoeveelheid moet een positief getal zijn"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Klant"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Bedrijf waaraan de artikelen worden verkocht"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Verkooporder status"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Klantreferentie "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Klant order referentiecode"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Verzenddatum"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "verzonden door"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Bestelling is al afgerond"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Order is al geannuleerd"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Alleen een open bestelling kan als voltooid worden gemarkeerd"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "De bestelling is vergrendeld en kan niet worden gewijzigd"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Hoeveelheid artikelen"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Artikelregel referentie"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Artikel notities"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Doeldatum voor dit regelitem (laat leeg om de doeldatum van de bestelling te gebruiken)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Regelomschrijving (optioneel)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Additionele context voor deze regel"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Stukprijs"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Inkooporder regel item"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Bouw bestelling moet worden gemarkeerd als extern"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Bestellingen kunnen alleen aan assemblageonderdelen worden gekoppeld"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "De bouw van het order deel moet overeenkomen met regel onderdeel"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Ontvangen"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Inkoopprijs"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Aankoopprijs per stuk"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Externe Build Order moet aan deze regel voldoen"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Extra regel inkooporder"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Verkooporder regel item"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Verkoopprijs"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Prijs per stuk"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Verzonden"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Verzonden hoeveelheid"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Verzending van verkooporder"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "Verzendadres moet overeenkomen met de klant"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "Verzendadres voor deze zending"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Datum van verzending"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Leveringsdatum"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Datum van levering van zending"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Gecontroleerd door"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Gebruiker die deze zending gecontroleerd heeft"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Zending"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Zendingsnummer"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Volgnummer"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Zending volginformatie"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Factuurnummer"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Referentienummer voor bijbehorende factuur"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Verzending is al verzonden"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Zending heeft geen toegewezen voorraadartikelen"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "Verzending moet worden gecontroleerd voordat deze kan worden voltooid"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Verkooporder extra regel"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Toewijzing verkooporder"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Voorraadartikel is niet toegewezen"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Verkooporder komt niet overeen met zending"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Verzending komt niet overeen met verkooporder"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Regel"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Verzendreferentie verkooporder"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Artikel"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Selecteer voorraadartikel om toe te wijzen"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Voer voorraadtoewijzingshoeveelheid in"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Retour order referentie"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Bedrijf van waaruit items worden teruggestuurd"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Retour bestelling status"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Retourneer bestelregel item"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Voorraad item moet worden opgegeven"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Retour hoeveelheid overschrijdt voorraad hoeveelheid"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Het retour aantal moet groter zijn dan nul"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Ongeldige hoeveelheid voor geserialiseerde voorraad"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Selecteer te retourneren product van de klant"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Ontvangst datum"
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr "De datum waarop dit retour item is ontvangen"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Resultaat"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Resultaat van deze regel item"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Kosten geassocieerd met teruggave of reparatie voor deze regel item"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Retourneren extra regel"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "Bestelling ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID van de bestelling om te dupliceren"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Kopieer regels"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Kopieer regelitems uit de oorspronkelijke bestelling"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Extra regels kopiëren"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Extra regelitems van de oorspronkelijke bestelling kopiëren"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Parameters kopiëren"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Artikelen"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Afgeronde regel items"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Artikel dupliceren"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Specificeer opties voor het dupliceren van deze bestelling"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Ongeldige order ID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Leveranciers Naam"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Order kan niet worden geannuleerd"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Toestaan order te sluiten met onvolledige regelitems"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Bestelling heeft onvolledige regelitems"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Order is niet open"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automatisch prijzen"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Koopprijs automatisch berekenen gebaseerd op leveranciers \n"
" onderdelen gegevens"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Valuta Inkoopprijs"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Items samenvoegen"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Items met hetzelfde onderdeel, bestemming en doeldatum samenvoegen in één regelitem"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Intern Onderdeelnummer"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Interne naam onderdeel"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Leveranciersonderdeel moet worden gespecificeerd"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Inkooporder moet worden gespecificeerd"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "De leverancier moet overeenkomen met de inkooporder"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Inkooporder moet overeenkomen met de leverancier"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Artikel"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Voer batch code in voor inkomende voorraad items"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Vervaldatum"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Voer vervaldatum in voor inkomende voorraad items"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Voer serienummers in voor inkomende voorraadartikelen"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Overschrijf verpakkingsinformatie voor binnenkomende voorraad"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Extra opmerking voor inkomende voorraad items"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Streepjescode"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Gescande streepjescode"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Streepjescode is al in gebruik"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Artikelen moeten worden opgegeven"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Bestemmingslocatie moet worden opgegeven"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Geleverde streepjescodewaarden moeten uniek zijn"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Verzendingen"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Voltooide Verzendingen"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "Toegewezen lijnen"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Valuta verkoopprijs"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Toegewezen items"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Geen verzenddetails opgegeven"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Artikelregel is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Hoeveelheid moet positief zijn"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Voer serienummers in om toe te wijzen"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Verzending is al verzonden"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Zending is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Geen overeenkomst gevonden voor de volgende serienummers"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "De volgende serienummers zijn niet beschikbaar"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Retourneer regel item"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Artikelregel komt niet overeen met inkooporder"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Regel item is al ontvangen"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Artikelen kunnen alleen worden ontvangen tegen lopende bestellingen"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Hoeveelheid te retourneren"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Lijn prijs valuta"
@@ -5533,1174 +5614,1226 @@ msgstr "Restitutie"
msgid "Reject"
msgstr "Afwijzen"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Achterstallige inkooporder"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Inkooporder {po} is nu achterstallig"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Achterstallige Verkooporder"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Verkooporder {so} is nu achterstallig"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Achterstallige retour orders"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "Productieorder {ro} is nu achterstallig"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Favoriet"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filter op categorieën met ster"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Diepte"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filteren op categorie diepte"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Hoogste niveau"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filteren op topniveau categorieën"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Stapelen"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Inclusief subcategorieën in gefilterde resultaten"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Bovenliggend"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filter op bovenliggende categorie"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Subcategorieën uitsluiten in de opgegeven categorie"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Heeft resultaten"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Is een variant"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Is revisie"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Heeft revisies"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "BOM Valid"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
-msgstr ""
+msgstr "Cascade Categorieën"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
-msgstr ""
+msgstr "Indien waar, inclusief items op de onderliggende categorieën van de opgegeven categorie"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
-msgstr ""
+msgstr "Filter op numerieke categorie-ID of de letterlijke 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "Bouw onderdeel is actief"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "Bouw onderdeel is te volgen"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Assemblage deel is testbaar"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr "Onderdeel is actief"
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr "Onderdeel is trackable"
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Component onderdeel is testbaar"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr "Onderdeel is nog te bouwen"
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr "Onderdeel is virtueel"
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr "Heeft beschikbare voorraad"
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Gebruik"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Onderdeel Categorie"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Onderdeel Categorieën"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Standaard locatie"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Standaard locatie voor onderdelen in deze categorie"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Structureel"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Standaard trefwoorden"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Standaard trefwoorden voor delen in deze categorie"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Pictogram"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Pictogram (optioneel)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "U kunt deze voorraadlocatie niet structureel maken omdat sommige voorraadartikelen er al in liggen!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Sjabloon categorie parameters onderdeel"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Standaard waarde"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Onderdelen"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "Kan parameters van een vergrendeld onderdeel niet verwijderen"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "Kan de parameters van een vergrendeld onderdeel niet wijzigen"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Kan dit deel niet verwijderen omdat het vergrendeld is"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Kan dit deel niet verwijderen omdat het nog actief is"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Kan dit deel niet verwijderen omdat het in een groep gebruikt is"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "{self}' kan niet worden gebruikt in BOM voor '{parent}' (recursief)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "{parent}' wordt gebruikt in BOM voor '{self}' (recursief)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN moet overeenkomen met regex patroon {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Onderdeel kan geen herziening van zichzelf zijn"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Kan geen revisie maken van een onderdeel dat al een revisie is"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Revisie code moet worden opgegeven"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Herzieningen zijn alleen toegestaan voor assemblageonderdelen"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Kan geen revisie maken van een sjabloon onderdeel"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Bovenliggend onderdeel moet naar dezelfde sjabloon verwijzen"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Voorraadartikel met dit serienummer bestaat al"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Dubbele IPN niet toegestaan in deelinstellingen"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Dubbele onderdeel revisie bestaat al."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Onderdeel met deze naam, IPN en Revisie bestaat al."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Onderdelen kunnen niet worden toegewezen aan categorieën van structurele onderdelen!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Onderdeel naam"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Is een sjabloon"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Is dit deel van een sjabloon?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Is dit een variant van een ander deel?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variant van"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Beschrijving (optioneel)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Sleutelwoorden"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbeteren"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Onderdeel Categorie"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Onderdeel revisie of versienummer"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisie"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Is dit deel een herziening van een ander deel?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Revisie van"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Waar wordt dit item normaal opgeslagen?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Standaard leverancier"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Standaardleverancier"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Standaard verval datum"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimum voorraad"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimaal toegelaten stock niveau"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Eenheden voor dit onderdeel"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Kan dit onderdeel uit andere delen worden gebouwd?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Kan dit onderdeel gebruikt worden om andere onderdelen te bouwen?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Heeft dit onderdeel een tracking voor unieke items?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Kunnen de testresultaten van dit onderdeel tegen dit onderdeel worden geregistreerd?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Kan dit onderdeel worden gekocht van externe leveranciers?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Kan dit onderdeel aan klanten worden verkocht?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Is dit onderdeel actief?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Vergrendelde onderdelen kunnen niet worden bewerkt"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Is dit een virtueel onderdeel, zoals een softwareproduct of licentie?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Stuklijst BOM gecontroleerd"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Is de BOM voor dit deel geldig?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "BOM checksum"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Checksum van BOM opgeslagen"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOM gecontroleerd door"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "BOM gecontroleerd datum"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Aanmaken gebruiker"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Eigenaar verantwoordelijk voor dit deel"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Verkopen van meerdere"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Valuta die gebruikt wordt voor de cache berekeningen"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimale BOM kosten"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minimale kosten van onderdelen"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maximale BOM kosten"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maximale kosten van onderdelen"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimale aankoop kosten"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Minimale historische aankoop kosten"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maximale aanschaf kosten"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Maximum historische aankoop kosten"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimale interne prijs"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimale kosten op basis van interne prijsschommelingen"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maximale interne prijs"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maximale kosten gebaseerd op interne prijsvoordelen"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimale leverancier prijs"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Minimale prijs van onderdeel van externe leveranciers"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maximale leverancier prijs"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maximale prijs van onderdeel van externe leveranciers"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimale variant kosten"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Berekende minimale kosten van variant onderdelen"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maximale variant kosten"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Berekende maximale kosten van variant onderdelen"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimale kostprijs"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Overschrijf minimale kosten"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maximale kosten"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Overschrijf maximale kosten"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Berekende minimale kosten"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Berekende totale maximale kosten"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimale verkoop prijs"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Minimale verkoopprijs gebaseerd op prijsschommelingen"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maximale verkoop prijs"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maximale verkoopprijs gebaseerd op prijsschommelingen"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Minimale verkoop prijs"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Minimale historische verkoop prijs"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maximale verkoop prijs"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Maximale historische verkoop prijs"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Onderdeel voor voorraadcontrole"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Getelde items"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontrole"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Totale voorraad op het moment van voorraadcontrole"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Datum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Datum waarop voorraad werd uitgevoerd"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimale voorraadprijs"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Geschatte minimum kosten van de voorraad op de hand"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maximale voorraadkosten"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Geschatte maximale kosten van de hand van voorraad"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Periodieke verkoopprijs voor onderdelen"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Sjabloon test onderdeel"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Ongeldige sjabloonnaam - moet minstens één alfanumeriek teken bevatten"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Test sjablonen kunnen alleen worden gemaakt voor testbare onderdelen"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Test template met dezelfde sleutel bestaat al voor een deel"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Test naam"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Geef een naam op voor de test"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Test sleutel"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Vereenvoudigde sleutel voor de test"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Test beschrijving"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Voer beschrijving in voor deze test"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Is deze test ingeschakeld?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Vereist"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Is deze test nodig om te doorlopen?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Waarde vereist"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Heeft deze test een waarde nodig bij het toevoegen van een testresultaat?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Vereist bijlage"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Vereist deze test een bestandsbijlage bij het toevoegen van een testresultaat?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Geldige keuzes voor deze parameter (komma gescheiden)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld "
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Selecteer boven liggend onderdeel"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sub onderdeel"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Selecteer onderdeel dat moet worden gebruikt in BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "BOM hoeveelheid voor dit BOM item"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Dit BOM item is optioneel"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Dit BOM item is verbruikbaar (het wordt niet bijgehouden in build orders)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Totale hoeveelheid"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "Extra benodigde hoeveelheid voor een build, rekening houdend met verliezen van de setup"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Attriatie"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Geschatte uitstraling voor een gebouw, uitgedrukt in percentage (0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Afronden meerdere"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Afronden met omhoog vereiste productiehoeveelheid naar dichtstbijzijnde meerdere van deze waarde"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Artikelregel referentie"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "BOM item notities"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Controle som"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "BOM lijn controle som"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Goedgekeurd"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Dit BOM item is goedgekeurd"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Wordt overgenomen"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Dit BOM item wordt overgenomen door BOMs voor variant onderdelen"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Voorraaditems voor variant onderdelen kunnen worden gebruikt voor dit BOM artikel"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Hoeveelheid moet een geheel getal zijn voor trackable onderdelen"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Onderdeel moet gespecificeerd worden"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "BOM Item vervangingen bewerken"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Vervanging onderdeel kan niet hetzelfde zijn als het hoofddeel"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Bovenliggend BOM item"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Vervanging onderdeel"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Eerste deel"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Tweede deel"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Selecteer gerelateerd onderdeel"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Opmerking voor deze relatie"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Onderdeel relatie kan niet worden gecreëerd tussen een deel en zichzelf"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Dubbele relatie bestaat al"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Bovenliggende categorie"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Bovenliggende onderdeel categorie"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Subcategorieën"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Resultaten"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Aantal resultaten opgenomen ten opzichte van deze template"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Bestand is geen afbeelding"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Oorspronkelijk onderdeel"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Selecteer origineel onderdeel om te dupliceren"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Afbeelding kopiëren"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copy BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Kopieer materiaal van het oorspronkelijke deel"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Parameters kopiëren"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Parameter data kopiëren van het originele onderdeel"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Notities kopiëren"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Kopieer notities van het originele deel"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Tests kopiëren"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Test sjablonen kopiëren van het originele deel"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Eerste voorraad hoeveelheid"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Specificeer de initiële voorraad hoeveelheid voor dit onderdeel. Als het aantal nul is, wordt er geen voorraad toegevoegd."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Eerste voorraad locatie"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Selecteer leverancier (of laat leeg om niets in te vullen)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Selecteer fabrikant (of laat leeg om niets in te vullen)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Fabrikant artikel nummer"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Geselecteerde onderneming is geen geldige leverancier"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Geselecteerde bedrijf is geen geldige fabrikant"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Categorie naam"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Bouwen"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Hoeveelheid van dit deel dat momenteel in productie is"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Er zal een onuitputtelijke hoeveelheid van dit deel worden gebouwd"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Voorraadartikelen"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Revisies"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Leveranciers"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Totale Voorraad"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Niet toegewezen voorraad"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Variant voorraad"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Dupliceer onderdeel"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kopieer eerste gegevens uit een ander onderdeel"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Eerste voorraad"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Maak onderdeel met eerste voorraad"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Leveranciersgegevens"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Categorie parameters kopiëren"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Bestaande afbeelding"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Bestandsnaam van een bestaande onderdeel afbeelding"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Afbeeldingsbestand bestaat niet"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Valideer de gehele materiaalbon"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Kan bouwen"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Vereist voor bouworders"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Toegewezen aan bouwen van orders"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Vereist voor verkooporders"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Toegewezen aan verkooporders"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr "IPN onderdeel"
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "Onderdeel omschrijving"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "Rapport Maken"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minimale prijs"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Overschrijf berekende waarde voor minimale prijs"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Minimale prijs valuta"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Maximale prijs"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Overschrijf de berekende waarde voor de maximale prijs"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Maximale prijs valuta"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Bijwerken"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Prijzen voor dit onderdeel bijwerken"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Kan niet converteren van de verstrekte valuta naar {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Selecteer de bovenliggende assemblage"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Selecteer het onderdeel"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Selecteer onderdeel om BOM van te kopiëren"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Bestaande gegevens verwijderen"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Verwijder bestaande BOM items voor het kopiëren"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Inclusief overgenomen"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Ongeldige regels overslaan"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Schakel deze optie in om ongeldige rijen over te slaan"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Verwijder vervangend deel"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Lage voorraad melding"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "De beschikbare voorraad voor {part.name} is onder het ingestelde minimumniveau gedaald"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Lage voorraad melding"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "U heeft 1 voorraad product dat de vervaldatum nadert"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "U hebt {item_count} voorraaditems die hun vervaldatum naderen"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Geen vervaldatum"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "{abs(days_diff)} dagen geleden"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Verloopt vandaag"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} dagen"
@@ -6733,108 +6866,108 @@ msgstr "Geen actie gespecificeerd"
msgid "No matching action found"
msgstr "Geen overeenkomende actie gevonden"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Geen overeenkomst gevonden voor streepjescodegegevens"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Overeenkomst gevonden voor streepjescodegegevens"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Model wordt niet ondersteund"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Model instantie niet gevonden"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Barcode komt overeen met bestaand item"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Geen overeenkomende actie gevonden"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Geen overeenkomende leveranciers onderdelen gevonden"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Meerdere overeenkomende leveranciers onderdelen gevonden"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Geen overeenkomende plug-in gevonden voor barcode gegevens"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Overeenkomende leverancier onderdeel"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Regel item is al ontvangen"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Er komt geen plug-in overeen met de barcode van de leverancier"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Meerdere overeenkomende regelitems gevonden"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Geen overeenkomend voorraaditem gevonden"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Geen verkooporder opgegeven"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Voorraad item komt niet overeen met regelitem"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Onvoldoende voorraad beschikbaar"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Voorraad item toegewezen aan verkooporder"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Te weinig informatie"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Gevonden overeenkomend item"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Leveranciersdeel komt niet overeen met regelitem"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Regelitem is al voltooid"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Verdere informatie vereist om regelitem te ontvangen"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Inkoopregel ontvangen"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Kon geen regelitem ontvangen"
@@ -6973,7 +7106,7 @@ msgstr "Biedt ondersteuning voor barcodes"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7071,111 +7204,111 @@ msgstr "Uitgeven achterhaalde orders"
msgid "Automatically issue orders that are backdated"
msgstr "Automatisch orders uitgeven die achterhaald zijn"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Niveau"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "Aantal te exporteren niveaus - ingesteld op nul om te exporteren alle BOM niveaus te exporteren"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Totale hoeveelheid"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "De totale hoeveelheid van elk onderdeel in de BOM opnemen"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Voorraad gegevens"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Inclusief voorraadgegevens"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Prijs gegevens"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Inclusief prijsgegevens"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Leveranciersgegevens"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Inclusief leveranciersgegevens"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Fabrikant gegevens"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Inclusief fabrikant gegevens"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Vervang Data"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Voeg vervangende deelgegevens toe"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Parameter gegevens"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Parametergegevens van onderdeel opnemen"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Meerdere niveau BOM export"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Biedt ondersteuning voor het exporteren van multi-level BOMs"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "BOM niveau"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Vervanging {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Leverancier {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "Leverancier {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "Leverancier {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Fabrikant {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "Fabrikant {n} MPN"
@@ -7190,19 +7323,19 @@ msgstr "Biedt ondersteuning voor het exporteren van gegevens van InvenTree"
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "Uitsluiten van niet-actief"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "Uitsluiten van niet-actieve parameters"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "Parameter exporteur"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "Exporteur voor modelparameter gegevens"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
@@ -7277,7 +7410,7 @@ msgid "Integrated Slack notification methods"
msgstr "Geïntegreerde Slack meldingsmethoden"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr "Slack inkomende webhook url"
#: plugin/builtin/integration/core_notifications.py:132
@@ -7355,11 +7488,11 @@ msgstr "InvenTree machine label printer"
msgid "Provides support for printing using a machine"
msgstr "Biedt ondersteuning voor het printen met een machine"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "laatst gebruikt"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Opties"
@@ -7537,8 +7670,8 @@ msgid "Key of plugin"
msgstr "Sleutel van plug-in"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Plugin naam van de plug-in"
+msgid "Name of the plugin"
+msgstr "Plug-in naam van de plug-in"
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7572,21 +7705,21 @@ msgstr "Pakket plug-in"
msgid "Plugin"
msgstr "Plug-in"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Geen auteur gevonden"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "De plug-in '{p}' is niet compatibel met de huidige InvenTree versie {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "De plug-in vereist minimaal versie {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Plug-in vereist op de hoogste versie {v}"
@@ -7764,7 +7897,7 @@ msgid "Installation not confirmed"
msgstr "Installatie niet bevestigd"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr "Ofwel de pakketnaam van de URL moet worden opgegeven"
#: plugin/serializers.py:188
@@ -8073,7 +8206,7 @@ msgstr "Totaal"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Serienummer"
@@ -8098,7 +8231,7 @@ msgstr "Rapport voorraadcontrole"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Geïnstalleerde items"
@@ -8131,495 +8264,519 @@ msgstr "Geen resultaat (verplicht)"
msgid "No result"
msgstr "Geen resultaat"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Asset bestand bestaat niet"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Afbeelding bestand niet gevonden"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image tag vereist een onderdeel instantie"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "bedrijf_imagetag vereist een bedrijfsinstantie"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filter op locatie diepte"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Filter op topniveau locaties"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Inclusief sublocaties in gefilterde resultaten"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Bovenliggende locatie"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filter op bovenliggende locatie"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Naam van onderdeel (hoofdletter ongevoelig)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Naam van onderdeel bevat (hoofdletter ongevoelig)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Naam onderdeel (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Deel IPN (hoofdletter ongevoelig)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Onderdeel IPN bevat (hoofdletter ongevoelig)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Deel IPN (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Minimale voorraad"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Maximale voorraad"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Status code"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Externe locatie"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Verbruikt door productieorder"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Geïnstalleerd in een ander voorraadartikel"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Boomstructuur onderdeel"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Eerder bijgewerkt"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Bijgewerkt na"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Voorraadcontrole voor"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Voorraadcontrole na"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Vervaldatum voor"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Vervaldatum na"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Verouderd"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "Voorraad PK om dit item en al zijn afstammelingen uit te sluiten"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "Cascade locaties"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "Indien waar, inclusief items op de onderliggende locaties van de opgegeven locatie"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "Filter op numerieke locatie ID of de letterlijke 'null'"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Hoeveelheid is vereist"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Geldig onderdeel moet worden opgegeven"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Het opgegeven leveranciers onderdeel bestaat niet"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Het leveranciersdeel heeft een pakketgrootte gedefinieerd, maar vlag use_pack_size niet ingesteld"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Serienummers kunnen niet worden meegeleverd voor een niet traceerbaar onderdeel"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
-msgstr ""
+msgstr "Inclusief geïnstalleerde"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
-msgstr ""
+msgstr "Als correct, geef testresultaten voor items die onder het opgegeven voorraadartikel zijn geïnstalleerd"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
-msgstr ""
+msgstr "Filter op numerieke voorraadartikel ID"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
-msgstr ""
+msgstr "Voorraadartikel met ID {id} bestaat niet"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "Inclusief Onderdeel varianten"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "Datum na"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "Datum voor"
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Voorraad locatie soort"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Voorraad locatie soorten"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Standaardpictogram voor alle locaties waarvoor geen pictogram is ingesteld (optioneel)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Voorraadlocaties"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Eigenaar"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Selecteer eigenaar"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Voorraaditems kunnen niet direct worden geplaatst op een structurele voorraadlocatie, maar kunnen zich op onderliggende locaties bevinden."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Extern"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Dit is een externe voorraadlocatie"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Locatie type"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Voorraad locatie type van deze locatie"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "U kunt deze voorraadlocatie niet structureel maken omdat sommige voorraadartikelen er al in liggen!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "{field} bestaat niet"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Onderdeel moet gespecificeerd worden"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Voorraaditems kunnen niet worden geplaatst in structurele voorraadlocaties!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Voorraadartikel kan niet worden aangemaakt voor virtuele onderdelen"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Onderdeel type ('{self.supplier_part.part}') moet {self.part} zijn"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Hoeveelheid moet 1 zijn voor item met een serienummer"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Serienummer kan niet worden ingesteld als de hoeveelheid groter is dan 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Item kan niet tot zichzelf behoren"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Item moet een bouw referentie hebben als is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Bouw referentie verwijst niet naar hetzelfde deel object"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Bovenliggend voorraad item"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Basis onderdeel"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Selecteer een leveranciersdeel voor dit voorraadartikel"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Waar bevindt zich dit voorraaditem?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Het verpakken van dit voorraaditem is opgeslagen in"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Geïnstalleerd in"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Is dit item geïnstalleerd in een ander item?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Serienummer van dit item"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Batch code voor dit voorraaditem"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Voorraad hoeveelheid"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Bron Bouw"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Build voor dit voorraaditem"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Verbruikt door"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Bestelling bouwen welke dit voorraadartikel heeft verbruikt"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Inkooporder Bron"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Bestemming Verkooporder"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Vervaldatum voor voorraadartikel. Voorraad zal worden beschouwd als verlopen na deze datum"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Verwijderen bij leegmaken"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Verwijder dit voorraadproduct wanneer de voorraad is leeg"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Enkele eenheidsprijs van de aankoop op het moment van aankoop"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Omgezet tot onderdeel"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "Hoeveelheid overschrijdt beschikbare voorraad"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Onderdeel is niet ingesteld als traceerbaar"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Hoeveelheid moet heel getal zijn"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Serienummers moeten als lijst worden opgegeven"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Hoeveelheid komt niet overeen met serienummers"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
-msgstr ""
+msgstr "Kan voorraad niet toewijzen aan structurele locatie"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Testsjabloon bestaat niet"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Voorraadartikel is toegewezen aan een verkooporder"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Voorraad item is geïnstalleerd in een ander item"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Voorraadartikel bevat andere producten"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Voorraadartikel is aan een klant toegewezen"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Voorraad item is momenteel in productie"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Geserialiseerde voorraad kan niet worden samengevoegd"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Dupliceer voorraadartikelen"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Voorraadartikelen moeten hetzelfde onderdeel verwijzen"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Voorraadartikelen moeten verwijzen naar dezelfde leveranciersdeel"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "De voorraad statuscodes moeten overeenkomen"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Voorraadartikel kan niet worden verplaatst omdat het niet op voorraad is"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Voorraad item volgen"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Item notities"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Resultaat voorraad test resultaten"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Waarde moet voor deze test worden opgegeven"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Bijlage moet worden geüpload voor deze test"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Ongeldige waarde voor deze test"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Test resultaat"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Test uitvoer waarde"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Test resultaat bijlage"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Test notities"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Test station"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "De identificatie van het teststation waar de test werd uitgevoerd"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Gestart"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Het tijdstip van de start test"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Afgerond"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Het tijdstip van de afgeronde test"
@@ -8663,246 +8820,246 @@ msgstr "Selecteer onderdeel voor het genereren van het serienummer voor"
msgid "Quantity of serial numbers to generate"
msgstr "Aantal serienummers om te genereren"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Test template voor dit resultaat"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
-msgstr ""
+msgstr "Geen overeenkomende test gevonden voor dit onderdeel"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "SjabloonID of testnaam moet worden opgegeven"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "De testtijd kan niet eerder zijn dan de starttijd van de test"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Bovenliggend Item"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Bovenliggende voorraad item"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Gebruik pakketgrootte bij het toevoegen: de hoeveelheid gedefinieerd is het aantal pakketten"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "Gebruik pakketgrootte"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Voer serienummers voor nieuwe items in"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Leverancier artikelnummer"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Verlopen"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Onderliggende items"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Items volgen"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Inkoopprijs van dit voorraadartikel, per eenheid of pakket"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Aantal voorraaditems om serienummers voor te maken"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "Geen voorraad item opgegeven"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Locatie van bestemming"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Serienummers kunnen niet worden toegewezen aan dit deel"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Serienummers bestaan al"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Selecteer voorraaditem om te installeren"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Te installeren hoeveelheid"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Voer de te installeren hoeveelheid items in"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Transactienotitie toevoegen (optioneel)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Te installeren hoeveelheid moet minimaal 1 zijn"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Voorraadartikel is niet beschikbaar"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Het geselecteerde deel zit niet in de materialen lijst"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "De te installeren hoeveelheid mag niet groter zijn dan de beschikbare hoeveelheid"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Bestemmingslocatie voor verwijderd item"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Selecteer onderdeel om voorraaditem om te zetten in"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Het geselecteerde deel is geen geldige optie voor de omzetting"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Kan voorraadartikel niet converteren met toegewezen leverancier deel"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Voorraad status code"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Selecteer voorraadartikelen om status te wijzigen"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Geen voorraaditems geselecteerd"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sublocaties"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Bovenliggende voorraad locatie"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Onderdeel moet verkoopbaar zijn"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Artikel is toegewezen aan een verkooporder"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Artikel is toegewezen aan een productieorder"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Klant om voorraadartikelen toe te wijzen"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Geselecteerde bedrijf is geen klant"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Voorraad toewijzing notities"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Een lijst met voorraad artikelen moet worden opgegeven"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Voorraad samenvoegen notities"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Niet overeen komende leveranciers toestaan"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Toestaan dat voorraadartikelen met verschillende leveranciers onderdelen worden samengevoegd"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Sta onjuiste status toe"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Toestaan dat voorraadartikelen met verschillende statuscodes worden samengevoegd"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Er moeten ten minste twee voorraadartikelen worden opgegeven"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Geen wijziging"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Voorraaditem primaire sleutel waarde"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Voorraad artikel is niet op voorraad"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "Voorraad artikel is al in voorraad"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "Hoeveelheid mag niet negatief zijn"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Voorraad transactie notities"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "Samenvoegen in bestaande voorraad"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "Voeg indien mogelijk geretourneerde items samen in bestaande voorraad"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Volgend serienummer"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Vorig serienummer"
@@ -8960,7 +9117,7 @@ msgstr "Voorraad handmatig verwijderd"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr ""
+msgstr "Geserialiseerde voorraadartikelen"
#: stock/status_codes.py:58
msgid "Returned to stock"
@@ -9384,83 +9541,83 @@ msgstr "Verkooporders"
msgid "Return Orders"
msgstr "Retour orders"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Gebruikersnaam"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Voornaam :"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Voornaam van de gebruiker"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Achternaam"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Achternaam van de gebruiker"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "E-mailadres van de gebruiker"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Medewerkers"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Heeft deze gebruiker medewerker machtigingen"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Administrator "
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Is deze gebruiker een administrator "
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Is dit gebruikersaccount actief"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Enkel een supergebruiker kan dit veld aanpassen"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Wachtwoord"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Wachtwoord voor de gebruiker"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "Overschrijf waarschuwing"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "Overschrijf de waarschuwing over wachtwoord regels"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "U hebt geen toestemming om gebruikers aan te maken"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Je account is aangemaakt."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Gebruik de wachtwoordreset functie om in te loggen"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Welkom bij InvenTree"
diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
index 97d2525c34..6be817f879 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API-endepunkt ikke funnet"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Brukeren har ikke rettigheter til å se denne modellen"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-post (gjenta)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Bekreft e-postaddresse"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Du må angi samme e-post hver gang."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Den oppgitte primære e-postadressen er ikke gyldig."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Det oppgitte e-postdomenet er ikke godkjent."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Kunne ikke konvertere {original} til {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
@@ -112,13 +104,13 @@ msgstr "Oppgi dato"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notater"
@@ -131,75 +123,75 @@ msgstr "Verdi '{name}' vises ikke i mønsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Tom serienummerstreng"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Duplisert serienummer"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Gruppesekvens {group} overskrider tillatt antall ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Ingen serienummer funnet"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-tagger fra denne verdien"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Tilkoblingsfeil"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Serveren svarte med ugyldig statuskode"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Det har oppstått et unntak"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Bildestørrelsen er for stor"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Bildenedlasting overskred maksimal størrelse"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Ekstern server returnerte tomt svar"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Angitt URL er ikke en gyldig bildefil"
@@ -207,11 +199,11 @@ msgstr "Angitt URL er ikke en gyldig bildefil"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-post"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "Referansen må samsvare påkrevd mønster"
msgid "Reference number is too large"
msgstr "Referansenummeret er for stort"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Navn"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Beskrivelse"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Beskrivelse (valgfritt)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Sti"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Duplikatnavn kan ikke eksistere under samme overordnede"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown-notater (valgfritt)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Strekkodedata"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Tredjeparts strekkodedata"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Strekkode-hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unik hash av strekkodedata"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Eksisterende strekkode funnet"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverfeil"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Bilde"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Må være et gyldig tall"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Velg valuta ut fra tilgjengelige alternativer"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Ugyldig verdi"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Eksternt bilde"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URLtil ekstern bildefil"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Kinesisk (forenklet)"
msgid "Chinese (Traditional)"
msgstr "Kinesisk (tradisjonell)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Ugyldig fysisk enhet"
msgid "Not a valid currency code"
msgstr "Ikke en gyldig valutakode"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Ordrestatus"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Overordnet produksjon"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Del"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategori"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Produksjonen må avbrytes før den kan slettes"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Forbruksvare"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Valgfritt"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Sammenstilling"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Spores"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Tildelt"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Tilgjengelig"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "I bestilling"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Produksjonsordre"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Plassering"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Produksjonsordrer"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Sammenstillings-BOMen er ikke godkjent"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Produksjonsordre kan ikke opprettes for en inaktiv del"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Produksjonsordre kan ikke opprettes for en ulåst del"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Ansvarlig bruker eller gruppe må spesifiseres"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Produksjonsordrens del kan ikke endres"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Produksjonsordre-referanse"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Produksjonsordre-referanse"
msgid "Reference"
msgstr "Referanse"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Kort beskrivelse av produksjonen (valgfritt)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Produksjonsordre som denne produksjonen er tildelt"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Velg del å produsere"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Salgsordrereferanse"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Salgsordren denne produksjonen er tildelt til"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Kildeplassering"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Fullført plassering"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Velg plassering der fullførte artikler vil bli lagret"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Produksjonsmengde"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Antall lagervarer å produsere"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Fullførte artikler"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Antall lagervarer som er fullført"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Produksjonsstatus"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Produksjonsstatuskode"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Batchkode"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Batchkode for denne produksjonsartikkelen"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Opprettelsesdato"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Forventet sluttdato"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Fullført dato"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "fullført av"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Utstedt av"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Brukeren som utstedte denne produksjonsordren"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Ansvarlig"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Bruker eller gruppe ansvarlig for produksjonsordren"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Ekstern lenke"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Produksjonsprioritet"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Produksjonsordrens prioritet"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Prosjektkode"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Prosjektkode for denne produksjonsordren"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Kunne ikke delegere bort oppgaven for å fullføre tildelinger"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Produksjonsordre {build} er fullført"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "En produksjonsordre er fullført"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Serienumre må angis for sporbare deler"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Ingen produksjonsartikkel spesifisert"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Produksjonsartikkelen er allerede fullført"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Kvantitet kan ikke være større enn utgangsantallet"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Produksjonsartikkel"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Produksjonsobjekt"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Produksjonsobjekt"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Antall"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Påkrevd antall for produksjonsordre"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Valgt lagervare samsvarer ikke med BOM-linjen"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Mengden må være 1 for serialisert lagervare"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Lagervaren er overtildelt"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Tildelingsantall må være større enn null"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Mengden må være 1 for serialisert lagervare"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Valgt lagervare samsvarer ikke med BOM-linjen"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Lagervare"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Kildelagervare"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Lagerantall å tildele til produksjonen"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Monteres i"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Lagervare for montering"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Delnavn"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Etikett for prosjektkode"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Produksjonsartikkel"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Resultatdel samsvarer ikke med produksjonsordredel"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Denne produksjonsartikkelen er allerede fullført"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Denne produksjonsartikkelen er ikke fullt tildelt"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Angi antall for produksjonsartikkel"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Heltallsverdi kreves for sporbare deler"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Serienummer"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Angi serienummer for produksjonsartikler"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Lagerplassering for produksjonsartikkel"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Automatisk tildeling av serienummer"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Følgende serienummer finnes allerede eller er ugyldige"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "En liste over produksjonsartikler må oppgis"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Lagerplassering for skrotede produksjonsartikler"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Forkast tildelinger"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Forkast tildelinger fra skrotede produksjonsartikler"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Grunn for skroting av produksjonsartikler"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Plassering for ferdige produksjonsartikler"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Godta ufullstendig tildeling"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Bruk tildelt lagerbeholdning"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Bruk all lagerbeholdning som allerede er tildelt denne produksjonen"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Fjern ufullstendige artikler"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Slett alle produksjonsartikler som ikke er fullført"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Ikke tillatt"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Godta som brukt av denne produksjonsordren"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Fjern tildeling før produksjonsordren fullføres"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Overtildelt lagerbeholdning"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Noen lagervarer har blitt overtildelt"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Godta ikke tildelt"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Godta uferdig"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Nødvendig produksjonsmengde er ikke nådd"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Produksjonsordren har uferdige artikler"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Produksjonslinje"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Produksjonsartikkel"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Produksjonsartikkel må peke til samme produksjon"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Produksjonsartikkel"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part må peke på den samme delen som produksjonsordren"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Artikkelen må være på lager"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Tilgjengelig antall ({q}) overskredet"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Tildelingsartikler må oppgis"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Eksluderer plassering"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Ekskluder lagervarer fra denne valgte plasseringen"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Utskiftbar lagerbeholdning"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Erstatning-lagerbeholdning"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Tilatt tildelling av erstatningsdeler"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Valgfrie artikler"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Tildel valgfrie BOM-artikler til produksjonsordre"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Kunne ikke starte auto-tideling"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "BOM-referanse"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Leverandørdel"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Tildelt antall"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Produksjonsreferanse"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Delkategorinavn"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Sporbar"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Nedarvet"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Tillat Varianter"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "BOM-artikkel"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "I produksjon"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Ekstern lagerbeholdning"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Tilgjengelig lagerbeholdning"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Tilgjengelige erstatningsvarer"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Tilgjengelige variantvarer"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Kansellert"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Fullført"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Lagerbeholdning kreves for produksjonsordre"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Forfalt produksjonsordre"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Produksjonsordre {bo} er nå forfalt"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Er lenke"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Er fil"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Ugyldig valutakode"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Valutakode eksisterer allerede"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Ingen gyldige valutakoder angitt"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Ingen programtillegg"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Etikett for prosjektkode"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Oppdatert"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Tidsstempel for forrige oppdatering"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Unik prosjektkode"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Prosjektbeskrivelse"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Bruker eller gruppe ansvarlig for dette prosjektet"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Innstillings verdi"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Valgt verdi er ikke et gyldig alternativ"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Verdien må være en boolsk verdi"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Verdien må være et heltall"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Nøkkelstreng må være unik"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Bruker"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Antall for prisbrudd"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Pris"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Enhetspris på spesifisert antall"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Endepunkt"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Endepunktet hvor denne webhooken er mottatt"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Navn for webhooken"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Er webhooken aktiv"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Vert"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Verten denne meldingen ble mottatt fra"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Tittel"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Innholdet i meldingen"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Endepunktet meldingen ble mottatt fra"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Tittel"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Lenke"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publisert"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Forfatter"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Sammendrag"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Les"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Er dette nyhetselementet lest?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Bildefil"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Enhetssymbolet må være unikt"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Enhetsnavn må være en gyldig identifikator"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Enhetsnavn"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Valgfritt enhetssymbol"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definisjon"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Enhetsdefinisjon"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Vedlegg"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Fil mangler"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Vedleggskommentar"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Opplastet dato"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Datoen som filen ble lastet opp"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Filstørrelse"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Filstørrelse i byte"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Ugyldig modelltype spesifisert for vedlegg"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Verdi"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Opprettet"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Sist oppdatert"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parametermal"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Sjekkboksparameter kan ikke ha enheter"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Sjekkboksparameter kan ikke ha valg"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Valg må være unike"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Navn på parametermal må være unikt"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Parameternavn"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Enheter"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Fysisk enheter for denne parameteren"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Parameterbeskrivelse"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Sjekkboks"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Er dette parameteret en sjekkboks?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Valg"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Gyldige valg for denne parameteren (kommaseparert)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Aktivert"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Ugyldig valg for parameterverdi"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Mal"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Parameterverdi"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Notat"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Valgfritt notatfelt"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontekst"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultat"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Nøkkel"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,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:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Artikler mottatt"
@@ -2351,93 +2359,101 @@ msgstr "Artikler har blitt mottatt mot en innkjøpsordre"
msgid "Items have been received against a return order"
msgstr "Artikler har blitt mottatt mot en returordre"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Kjører"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Ventende oppgaver"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Planlagte oppgaver"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Mislykkede oppgaver"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Oppgave-ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Unik oppgave-ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Lås"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Låsetidspunkt"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Oppgavenavn"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funksjon"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funksjonsnavn"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumenter"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Oppgaveargumenter"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Nøkkelordargumenter"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Nøkkelordargumenter for oppgave"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Filnavn"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Modelltype"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Brukeren har ikke tillatelse tillatelse å opprette eller endre vedlegg for denne modellen"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Ingen gruppe"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Nettstedets URL er låst av konfigurasjon"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Omstart kreves"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "En innstilling har blitt endret som krever en omstart av serveren"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Ventende migrasjoner"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Antall ventende databasemigreringer"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Navn på serverinstans"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Strengbeskrivelse for serverinstansen"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Bruk instansnavn"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Bruk instansnavnet på tittellinjen"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Begrens visning av 'om'"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Vis `about`-modal kun til superbrukere"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Firmanavn"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Internt firmanavn"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Base-URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Base-URL for serverinstans"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Standardvaluta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Velg grunnvalutaen for prisberegninger"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Støttede valutaer"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Liste over støttede valutakoder"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Oppdateringsintervall for valuta"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverere)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dager"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Valutaoppdaterings-plugin"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Valgt valutaoppdaterings-plugin"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Last ned fra URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Nedlastingsgrense"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-Agent brukt for å laste ned fra URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Streng URL-validering"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Krev skjemaspesifikasjon ved validering av URLer"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Intervall for oppdateringssjekk"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatisk sikkerhetskopiering"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automatisk sikkerhetskopieringsintervall"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Slettingsintervall for oppgaver"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Slettingsintervall for feillogg"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Feilloggene vil bli slettet etter et angitt antall dager"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Slettingsintervall for varsler"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Brukervarsler slettes etter angitt antall dager"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Strekkodestøtte"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Innlesingsforsinkelse for strekkode"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tidsforsinkelse for behandling av strekkode"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Støtte for strekkodewebkamera"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Tillat strekkodelesning via webkamera i nettleseren"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Vis Strekkodedata"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Vis strekkodedata som tekst"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Delrevisjoner"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Aktiver revisjonsfeltet for Del"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulært uttrykksmønster for matching av internt delnummer"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Tilat duplikat av internt delnummer"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Tillat flere deler å dele samme interne delnummer"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Tillat redigering av internt delnummer"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Tillat endring av IPN-verdien mens du redigerer en del"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Kopier BOM-data fra del"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopier BOM-data som standard når du dupliserer en del"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Kopier parameterdata fra del"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Kopier parameterdata som standard ved duplisering av en del"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Kopier testdata fra del"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Kopier testdata som standard ved duplisering av en del"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kopier designmaler for kategoriparametere"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier parametermaler for kategori ved oppretting av en del"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponent"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Salgbar"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuelle"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Deler er virtuelle som standard"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Vis relaterte deler"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Vis relaterte deler i en del"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Innledende lagerbeholdningsdata"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Innledende leverandørdata"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Visningsformat for delnavn"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Format for å vise delnavnet"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Standardikon for delkategorier"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Minimum antall desimalplasser for priser"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Maksimalt antall desimalplasser for priser"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Bruk leverandørpriser"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Innkjøpshistorikkoverstyring"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Bruk lagervarepriser"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Lagervare prisalder"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Bruk Variantpriser"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Inkluder variantpriser i beregninger av totale priser"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Kun aktive varianter"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Bruk kun aktive variantdeler til beregning av variantprising"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervall for rekalkulering av priser"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Antall dager før delpriser blir automatisk oppdatert"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interne Priser"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Aktiver interne priser for deler"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Intern prisoverstyring"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Aktiver etikettutskrift"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Aktiver utskrift av etiketter fra nettleseren"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Etikettbilde-DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Aktiver Rapporter"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Aktiver generering av rapporter"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Feilsøkingsmodus"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Sidestørrelse"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Standard sidestørrelse for PDF-rapporter"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Tving parameterenheter"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globalt Unike Serienummer"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Serienummer for lagervarer må være globalt unike"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Slett oppbrukt lagerbeholdning"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Batchkodemal"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Mal for generering av standard batchkoder for lagervarer"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Lagerbeholdning utløper"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Selg utløpt lagerbeholdning"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Tillat salg av utgått lagerbeholdning"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Foreldet lagerbeholdning tidsintervall"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Antall dager før lagervarer er ansett som foreldet før utløp"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Produsér Utløpt Lagerbeholdning"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Tillat produksjon med utløpt lagerbeholdning"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Kontroll over eierskap av lagerbeholdning"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Aktiver eierskap over lagerplasseringer og -varer"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Lagerplassering standard ikon"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Vis installerte lagervarer"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Vis installerte lagervarer i lagertabeller"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Produksjonsordre-referansemønster"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Aktiver returordrer"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Returordre-referansemønster"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Rediger fullførte returordrer"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Tillat redigering av returordrer etter de er fullført"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Salgsordre-referansemønster"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Påkrevd mønster for å generere salgsordrereferansefelt"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Salgsordre standard fraktmetode"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Rediger fullførte salgsordrer"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Referansemønster for innkjøpsordre"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Rediger fullførte innkjøpsordre"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Autofullfør innkjøpsordrer"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Aktiver SSO-registrering"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukere angir e-post ved registrering"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO-brukere"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Spør brukeren om e-post to ganger ved registrering"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Spør brukeren om passord to ganger ved registrering"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Tillatte domener"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Gruppe ved registrering"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Krev MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Sjekk utvidelser ved oppstart"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Aktiver URL-integrasjon"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Tillat utvidelser å legge til URL-ruter"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrasjon"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Tillat utvidelser å integrere mot navigasjon"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Aktiver app-integrasjon"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Tillat utvidelser å legge til apper"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Aktiver tidsplanintegrasjon"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Tillat utvidelser å kjøre planlagte oppgaver"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Aktiver hendelsesintegrasjon"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Tillat utvidelser å reagere på interne hendelser"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Ekskluder eksterne plasseringer"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Automatisk varetellingsperiode"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Vis brukernes fulle navn"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Vis brukernes fulle navn istedet for brukernavn"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Vis brukernes fulle navn"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Vis brukernes fulle navn istedet for brukernavn"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Delen er aktiv"
msgid "Manufacturer is Active"
msgstr "Leverandør er aktiv"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Leverandørdel er aktiv"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Intern del er aktiv"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Leverandør er aktiv"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Produsent"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Firma"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Firmaer"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Beskrivelse av firma"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Beskrivelse av firmaet"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Nettside"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Bedriftens nettside URL"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Kontakt-telefonnummer"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontakt e-post"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Kontaktpunkt"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Er firmaet aktivt?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Er kunde"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Selger du varer til dette firmaet?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Er leverandør"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Kjøper du varer fra dette firmaet?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Er produsent"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adresse"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adresser"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Velg selskap"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Adressetittel"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Tittel som beskriver addressen"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Hovedadresse"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Sett som hovedadresse"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Linje 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adresselinje 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Linje 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adresselinje 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Postnummer"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Poststed/område"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Postnummerets by/område"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Delstat/provins"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Delstat eller provins"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Land"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adressens land"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notater til transportør"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notater for transportør"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Interne fraktnotater"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Fraktnotater for internt bruk"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Lenke til adresseinformasjon (ekstern)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Produsentdeler"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Basisdel"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Velg del"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Velg produsent"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Produsentens varenummer"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL for ekstern produsentdel-lenke"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Produsentens delbeskrivelse"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Pakkeenhetene må være komptible med delens basisenhet"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Pakkeenhet må være mer enn null"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Leverandør"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Velg leverandør"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Leverandørens lagerbeholdningsenhet"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Er denne leverandørdelen aktiv?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Velg produsentdel"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL for ekstern leverandørdel-lenke"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Leverandørens delbeskrivelse"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "grunnkostnad"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimum betaling (f.eks. lageravgift)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Emballasje"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Delemballasje"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Pakkeantall"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "flere"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Bestill flere"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Antall tilgjengelig fra leverandør"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Tilgjengelighet oppdatert"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Dato for siste oppdatering av tilgjengelighetsdata"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Leverandørens prisbrudd"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Standardvaluta brukt for denne leverandøren"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Bedriftsnavn"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "På lager"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Plassert"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datafil"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Gyldig"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Ukjent"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Ordrereferanse"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Opprettet av"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Ordre"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Intern del"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Fullført"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Innkjøpsordre"
msgid "Sales Order"
msgstr "Salgsordre"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Total pris"
msgid "Total price for this order"
msgstr "Total pris for denne ordren"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Ordrevaluta"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Kontakten samsvarer ikke med valgt firma"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Ordrebeskrivelse (valgfritt)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Velg prosjektkode for denne ordren"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Lenke til ekstern side"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Måldato"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Sendt dato"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Dato bestillingen ble sendt"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Bruker eller gruppe ansvarlig for ordren"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Kontaktpunkt for denne ordren"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Selskapsadresse for denne ordren"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Ordrereferanse"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Status for innkjøpsordre"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Firma som varene blir bestilt fra"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Leverandørreferanse"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Leverandørens ordrereferanse"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "mottatt av"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Dato ordre ble fullført"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destinasjon"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Delleverandør må matche PO-leverandør"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Linjeelementet samsvarer ikke med innkjøpsordre"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Mengde må være positiv"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Kunde"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Firma som varene selges til"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Kundereferanse "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Kundens ordrereferanse"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Forsendelsesdato"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "sendt av"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Kun en åpen ordre kan merkes som fullført"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Antall"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Linjereferanse"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Linjenotater"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Linjeelementbeskrivelse (valgfritt)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Ytterligere kontekst for denne linjen"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Enhetspris"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Delens leverandør må samsvare med leverandør"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Leverandørdel"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Mottatt"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Antall enheter mottatt"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Innkjøpspris"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Enhet-innkjøpspris"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Kun salgbare deler kan tildeles en salgsordre"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Salgspris"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Enhets-salgspris"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Sendt"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Sendt antall"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Dato for forsendelse"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Leveringsdato"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Dato for levering av forsendelse"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Sjekket Av"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Brukeren som sjekket forsendelsen"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Forsendelse"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Forsendelsesnummer"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Sporingsnummer"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Sporingsinformasjon for forsendelse"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Fakturanummer"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Referansenummer for tilknyttet faktura"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Forsendelsen er allerede sendt"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Forsendelsen har ingen tildelte lagervarer"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Lagervarer er ikke blitt tildelt"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan ikke tildele lagervare til en linje med annen del"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Tildelingsantall må være større enn null"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Antall må være 1 for serialisert lagervare"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Salgsordre samsvarer ikke med forsendelse"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Forsendelsen samsvarer ikke med salgsordre"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Linje"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Forsendelsesreferanse for salgsordre"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Artikkel"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Velg lagervare å tildele"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Angi lagertildelingsmengde"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Returordre-referanse"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Firmaet delen skal returneres fra"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Returordrestatus"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Velg artikkel som skal returneres fra kunde"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Mottatt Dato"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Datoen denne returartikkelen ble mottatt"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Utfall"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Utfall for dette linjeelementet"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopier parametere"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Linjeelementer"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Leverandørnavn"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Ordren kan ikke kanselleres"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Ordren har ufullstendige linjeelementer"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Ordren er ikke åpen"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Innkjøpsvaluta"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU-kode"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Internt delnummer"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Leverandørdel må angis"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Innkjøpsordre må angis"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Leverandør må samsvare med innkjøpsordre"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Innkjøpsordre må samsvare med leverandør"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Ordrelinje"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Velg lagerplassering for mottatte enheter"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Angi batchkode for innkommende lagervarer"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Utløpsdato"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Angi serienummer for innkommende lagervarer"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Strekkode"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Skannet strekkode"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Strekkode allerede i bruk"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Linjeelementer må være oppgitt"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Målplassering må angis"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Angitte strekkodeverdier må være unike"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Fullførte forsendelser"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Valuta for salgspris"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Ingen forsendelsesopplysninger oppgitt"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Linjeelement er ikke knyttet til denne ordren"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Mengden må være positiv"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Skriv inn serienummer for å tildele"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Forsendelsen er allerede sendt"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Forsendelsen er ikke knyttet til denne ordren"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Ingen treff funnet for følgende serienummer"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Returordrelinje"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Linjeelementet samsvarer ikke med returordre"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Linjeelementet er allerede mottatt"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Artikler kan bare mottas mot ordrer som pågår"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Valuta for linje"
@@ -5532,1174 +5613,1226 @@ msgstr "Refusjon"
msgid "Reject"
msgstr "Avvis"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Forfalt Innkjøpsordre"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Innkjøpsordre {po} er nå forfalt"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Forfalt Salgsordre"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Salgsordre {so} er nå forfalt"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Delkategori"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Delkategorier"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Standard plassering"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Standardplassering for deler i denne kategorien"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Strukturell"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Standard nøkkelord"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Standard nøkkelord for deler i denne kategorien"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikon (valgfritt)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Standardverdi"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Standard Parameterverdi"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Deler"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Delen '{self}' kan ikke brukes i BOM for '{parent}' (rekursiv)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Delen '{parent}' er brukt i BOM for '{self}' (rekursiv)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN må samsvare med regex-mønsteret {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Lagervare med dette serienummeret eksisterer allerede"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Deler kan ikke tilordnes strukturelle delkategorier!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Delnavn"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Er Mal"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Er delen en maldel?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Er delen en variant av en annen del?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variant av"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Delbeskrivelse (valgfritt)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Nøkkelord"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Del-nøkkelord for å øke synligheten i søkeresultater"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Delkategori"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Delrevisjon eller versjonsnummer"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisjon"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Hvor er denne artikkelen vanligvis lagret?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Standard leverandør"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Standard leverandørdel"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Standard utløp"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Utløpstid (i dager) for lagervarer av denne delen"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimal lagerbeholdning"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimum tillatt lagernivå"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Måleenheter for denne delen"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Kan denne delen bygges fra andre deler?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Kan denne delen brukes til å bygge andre deler?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Har denne delen sporing av unike artikler?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Kan denne delen selges til kunder?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Er denne delen aktiv?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Kontrollsum for BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Lagret BOM-kontrollsum"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Stykkliste sjekket av"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Stykkliste sjekket dato"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Opprettingsbruker"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Eier ansvarlig for denne delen"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Selg flere"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Valuta som brukes til å bufre prisberegninger"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimal BOM-kostnad"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minste kostnad for komponentdeler"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maksimal BOM-kostnad"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maksimal kostnad for komponentdeler"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimal innkjøpskostnad"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Minimal historisk innkjøpskostnad"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maksimal innkjøpskostnad"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Maksimal historisk innkjøpskostnad"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimal intern pris"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimal kostnad basert på interne prisbrudd"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maksimal intern pris"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maksimal kostnad basert på interne prisbrudd"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimal leverandørpris"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Minimumspris for del fra eksterne leverandører"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maksimal leverandørpris"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maksimalpris for del fra eksterne leverandører"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimal Variantkostnad"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Beregnet minimal kostnad for variantdeler"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maksimal Variantkostnad"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Beregnet maksimal kostnad for variantdeler"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimal kostnad"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Overstyr minstekostnad"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maksimal kostnad"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Overstyr maksimal kostnad"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Beregnet samlet minimal kostnad"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Beregnet samlet maksimal kostnad"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimal salgspris"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Minimal salgspris basert på prisbrudd"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maksimal Salgspris"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maksimal salgspris basert på prisbrudd"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Minimal Salgskostnad"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Minimal historisk salgspris"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maksimal Salgskostnad"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Maksimal historisk salgspris"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Del for varetelling"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Antall"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Dato"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Dato for utført lagertelling"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimal lagerkostnad"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Estimert minimal kostnad for lagerbeholdning"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maksimal lagerkostnad"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Estimert maksimal kostnad for lagerbeholdning"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Testnavn"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Angi et navn for testen"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Testbeskrivelse"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Legg inn beskrivelse for denne testen"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Påkrevd"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Er det påkrevd at denne testen bestås?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Krever verdi"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Krever denne testen en verdi når det legges til et testresultat?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Krever vedlegg"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Velg overordnet del"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Underordnet del"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Velg del som skal brukes i BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "BOM-antall for denne BOM-artikkelen"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Denne BOM-artikkelen er valgfri"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "BOM-artikkelreferanse"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "BOM-artikkelnotater"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Kontrollsum"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "BOM-linje kontrollsum"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Godkjent"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Denne BOM-artikkelen er godkjent"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Arves"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Antall må være heltallsverdi for sporbare deler"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Underordnet del må angis"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "BOM-artikkel erstatning"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Erstatningsdel kan ikke være samme som hoveddelen"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Overordnet BOM-artikkel"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Erstatningsdel"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Del 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Del 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Velg relatert del"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Duplikatforhold eksisterer allerede"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Underkategorier"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Innkjøpsvaluta for lagervaren"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Original Del"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Velg original del å duplisere"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopier Bilde"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Kopier bilde fra originaldel"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Kopier Stykkliste"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Kopier stykkliste fra original del"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopier parametere"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Kopier parameterdata fra originaldel"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Kopier notater"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Kopier notater fra originaldel"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Innledende lagerplassering"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Angi initiell lagerplasering for denne delen"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Velg leverandør (eller la stå tom for å hoppe over)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Velg produsent (eller la stå tom for å hoppe over)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Produsentens delenummer"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Valgt firma er ikke en gyldig leverandør"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Valgt firma er ikke en gyldig produsent"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Produsentdel som matcher dette MPN-et, finnes allerede"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategorinavn"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Produseres"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Lagervarer"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Leverandører"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Total lagerbeholdning"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Dupliser del"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kopier innledende data fra en annen del"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Lag en del med innledende lagermengde"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Leverandøropplysninger"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Legg til innledende leverandørinformasjon for denne delen"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kopier kategoriparametre"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Kopier parametermaler fra valgt delkategori"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Eksisterende bilde"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Filnavn for et eksisterende del-bilde"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Bildefilen finnes ikke"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Godkjenn hele Stykklisten"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Kan Produsere"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minstepris"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Overstyr beregnet verdi for minimumspris"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Valuta for minstepris"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Makspris"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Overstyr beregnet verdi for maksimal pris"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Valuta for maksimal pris"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Oppdater"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Oppdater priser for denne delen"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, 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:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Minsteprisen kan ikke være større enn maksimal pris"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Maksimal pris kan ikke være mindre enn minstepris"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Velg del å kopiere BOM fra"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Fjern eksisterende data"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Fjern eksisterende BOM-artikler før kopiering"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Inkluder arvede"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Inkluder BOM-artikler som er arvet fra maldeler"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Hopp over ugyldige rader"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Kopier erstatningsdeler"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Varsel om lav lagerbeholdning"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Ingen handling spesifisert"
msgid "No matching action found"
msgstr "Ingen samsvarende handling funnet"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Ingen treff funnet for strekkodedata"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Treff funnet for strekkodedata"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Strekkode samsvarer med ekisterende element"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Ingen samsvarende del-data funnet"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Finner ingen matchende leverandørdeler"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Flere samsvarende leverandørdeler funnet"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Fant leverandørdel"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Artikkelen er allerede mottatt"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Flere samsvarende elementer funnet"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Ingen samsvarende element funnet"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Strekkoden samsvarer ikke med eksisterende lagervare"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Lagervare samsvarer ikke med linjeelement"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Utilstrekkelig lagerbeholdning"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Lagervaren er tildelt en salgsordre"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Ikke nok informasjon"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Mer informasjon nødvendig for å motta artikkelen"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Mottok ordreartikkelen"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr "Gir innebygd støtte for strekkoder"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack innkommende webhook"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Utvidelsens \"Key\""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Navn på utvidelsen"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Utvidelse"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Ingen forfatter funnet"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Utvidelsen krever minst versjon {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Utvidelsen krever maks versjon {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Installasjonen ble ikke bekreftet"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Enten pakkenavn eller URL må angis"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Serienummer"
@@ -8097,7 +8230,7 @@ msgstr "Testrapport for lagervare"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Installerte artikler"
@@ -8130,495 +8263,519 @@ msgstr "Ingen resultat (obligatorisk)"
msgid "No result"
msgstr "Ingen resultat"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Asset-filen eksisterer ikke"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Bildefil ikke funnet"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image-taggen krever en Part-instans"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image-taggen krever en Company-instans"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Statuskode"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Ekstern plassering"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Del-tre"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Utløpsdato før"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Utløpsdato etter"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Foreldet"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Antall kreves"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Gyldig del må oppgis"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Oppgitt leverandørdel eksisterer ikke"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Serienumre kan ikke angis for en ikke-sporbar del"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Lagerplasseringstype"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Lagerplasseringstyper"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Lagerplassering"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Lagerplasseringer"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Eier"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Velg eier"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Ekstern"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Dette er en ekstern lagerplassering"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Plasseringstype"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Lagerplasseringstype for denne plasseringen"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer allerede er plassert i den!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Lagervare kan ikke opprettes for virtuelle deler"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Deltype ('{self.supplier_part.part}') må være {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Antall må være 1 for produkt med et serienummer"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Serienummeret kan ikke angis hvis antall er større enn 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Elementet kan ikke tilhøre seg selv"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Elementet må ha en produksjonsrefereanse om is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Produksjonsreferanse peker ikke til samme del-objekt"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Overordnet lagervare"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Basisdel"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Velg en tilsvarende leverandørdel for denne lagervaren"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Hvor er denne lagervaren plassert?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Inpakningen denne lagervaren er lagret i"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Installert i"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Er denne artikkelen montert i en annen artikkel?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Serienummer for denne artikkelen"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Batchkode for denne lagervaren"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Lagerantall"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Kildeproduksjon"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Produksjon for denne lagervaren"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Brukt av"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Produksjonsordren som brukte denne lagervaren"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Kildeinnkjøpsordre"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Innkjøpsordre for denne lagervaren"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Tildelt Salgsordre"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Slett når oppbrukt"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Slett lagervaren når beholdningen er oppbrukt"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Innkjøpspris per enhet på kjøpstidspunktet"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Konvertert til del"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Delen er ikke angitt som sporbar"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Antall må være heltall"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Antallet stemmer ikke overens med serienumrene"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Lagervare har blitt tildelt en salgsordre"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Lagervare er montert i en annen artikkel"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Lagervare inneholder andre artikler"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Lagervare har blitt tildelt til en kunde"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Lagervare er for tiden i produksjon"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Serialisert lagerbeholdning kan ikke slås sammen"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Duplisert lagervare"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Lagervarer må referere til samme del"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Lagervarer må referere til samme leverandørdel"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Lagerstatuskoder må være like"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Oppføringsnotater"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Verdi må angis for denne testen"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Vedlegg må lastes opp for denne testen"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Testresultat"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Testens verdi"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Vedlegg til testresultat"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Testnotater"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Overodnet element"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Bruk pakningsstørrelse når du legger til: antall definert er antall pakker"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Angi serienummer for nye artikler"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Leverandørens delnummer"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Utløpt"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Underordnede artikler"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Angi antall lagervarer som skal serialiseres"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Til Lagerplassering"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Serienummer kan ikke tilordnes denne delen"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Velg lagervare å montere"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Antall å installere"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Angi antallet elementer som skal installeres"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Legg til transaksjonsnotat (valgfritt)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Antall å installere må være minst 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Lagervaren er utilgjengelig"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Valgt del er ikke i stykklisten"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Antall å installere må ikke overskride tilgjengelig antall"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Lagerplassering for den avinstallerte artikkelen"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Velg del å konvertere lagervare til"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Valgt del er ikke et gyldig alternativ for konvertering"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Lagervare statuskode"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Velg lagervarer for å endre status"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Ingen lagervarer valgt"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Underplasseringer"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Delen må være salgbar"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Artikkelen er tildelt en salgsordre"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Artikkelen er tildelt en produksjonsordre"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Kunde å tilordne lagervarer"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Valgt firma er ikke en kunde"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Lagervare-tildelignsnotater"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "En liste av lagervarer må oppgis"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notater om lagersammenslåing"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Tillat forskjellige leverandører"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Tillat forskjellig status"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Minst to lagervarer må oppgis"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Lagervare primærnøkkel verdi"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Lager transaksjonsnotater"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Salgsordre"
msgid "Return Orders"
msgstr "Returordrer"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Brukernavn"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Fornavn"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Fornavn på brukeren"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Etternavn"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Etternavn på brukeren"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "E-postadressen til brukeren"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personale"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Har denne brukeren personelltillatelser"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superbruker"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Er denne brukeren en superbruker"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Er denne brukerkontoen aktiv"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Din konto er opprettet."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Velkommen til InvenTree"
diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
index 806279a514..7a18f9b40f 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Nie znaleziono punktu końcowego API"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Dla operacji masowych należy podać wykaz przedmiotów lub filtrów"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Elementy muszą być podane jako lista"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Podano nieprawidłową listę artykułów"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filtry muszą być dostarczone jako kartka"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Podano niepoprawne filtry"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Wszystkie filtry muszą być używane tylko z true"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Żaden element nie spełnia podanych kryteriów"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Nie dostarczono danych"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Adres email (ponownie)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Potwierdzenie adresu email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Należy ponownie wpisać ten sam adres e-mail."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Podany podstawowy adres e-mail jest nieprawidłowy."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Podany e-mail domeny nie został zatwierdzony."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Nie udało się przeliczyć {original} na {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
@@ -112,13 +104,13 @@ msgstr "Wprowadź dane"
msgid "Invalid decimal value"
msgstr "Niepoprawna wartość dziesiętna"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Uwagi"
@@ -131,75 +123,75 @@ msgstr "Wartość '{name}' nie pojawia się w formacie wzoru"
msgid "Provided value does not match required pattern: "
msgstr "Podana wartość nie pasuje do wymaganego wzoru: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Nie można serializować więcej niż 1000 przedmiotów naraz"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Pusty ciąg numeru seryjnego"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Podwójny numer seryjny"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Nieprawidłowa grupa: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Zakres grupy {group} przekracza dozwoloną ilość ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nie znaleziono numerów seryjnych"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Liczba niepowtarzających się numerów seryjnych ({n}) musi odpowiadać ilości / liczbie ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Usuń znaczniki HTML z tej wartości"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Dane zawierają zabronione treści znacznika"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Błąd połączenia"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Wystąpił wyjątek"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Rozmiar obrazu jest zbyt duży"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Zdalny serwer zwrócił pustą odpowiedź"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Podany adres URL nie jest poprawnym plikiem obrazu"
@@ -207,11 +199,11 @@ msgstr "Podany adres URL nie jest poprawnym plikiem obrazu"
msgid "Log in to the app"
msgstr "Logowanie do aplikacji"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Adres E-Mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Musisz włączyć uwierzytelnianie dwuskładnikowe przed wykonaniem czegokolwiek innego."
@@ -255,133 +247,124 @@ msgstr "Odniesienie musi być zgodne z wymaganym wzorem"
msgid "Reference number is too large"
msgstr "Numer odniesienia jest zbyt duży"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nazwa"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Opis (opcjonalny)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Ścieżka"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notatki Markdown (opcjonalne)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Dane kodu kreskowego"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Dane kodu kreskowego stron trzecich"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hasz kodu kreskowego"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unikalny hasz danych kodu kreskowego"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Znaleziono istniejący kod kreskowy"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Niepowodzenie zadania"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Zadanie pracownika w tle '{f}' nie powiodło się po próbach {n}"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Błąd serwera"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Obraz"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Waluta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Wybierz walutę z dostępnych opcji"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Nieprawidłowa wartość"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Obrazek zewnętrzny"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "Adres URL zdalnego pliku obrazu"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Nie udało się pobrać obrazu ze zdalnego adresu URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "chiński (uproszczony)"
msgid "Chinese (Traditional)"
msgstr "chiński (tradycyjny)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Dostępna aktualizacja"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Dostępna jest aktualizacja dla InvenTree"
@@ -553,30 +536,30 @@ msgstr "Niewłaściwa jednostka fizyczna"
msgid "Not a valid currency code"
msgstr "Nieprawidłowy kod waluty"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Status zamówienia"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Budowa nadrzędna"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Obejmuje warianty"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Obejmuje warianty"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Obejmuje warianty"
msgid "Part"
msgstr "Komponent"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategoria"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Budowa poprzednika"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Przypisane do mnie"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Stworzony przed"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Stworzony po"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Ma datę rozpoczęcia"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Data rozpoczęcia przed"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Data rozpoczęcia po"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Posiada docelową datę"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Data docelowa przed"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Docelowa data po"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Zakończone przed"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Zakończone po"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Minimalna data"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Maksymalna data"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Wyklucz drzewo"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Materiał eksploatacyjny"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcjonalne"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Złożenie"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Śledzony"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testowalne"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Zaległe zamówienie"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Przydzielono"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Dostępne"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "W Zamówieniu"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Zlecenie Budowy"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Lokalizacja"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Wyjście"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Zlecenia budowy"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Zbiór BOM nie został zatwierdzony"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Zlecenie budowy nie może być utworzone dla nieaktywnej części"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Zlecenie budowy nie może zostać utworzone dla odblokowanej części"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Odpowiedzialny użytkownik lub grupa muszą być określone"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Nie można zmienić elementu kompletacji"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Data docelowa musi być po dacie rozpoczęcia"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Odwołanie do zamówienia wykonania"
msgid "Reference"
msgstr "Referencja"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Krótki opis produkcji (opcjonalny)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Zamówienie budowy, do którego budowa jest przypisana"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Wybierz część do budowy"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Odwołanie do zamówienia sprzedaży"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Lokalizacja źródła"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Budowa zewnętrzna"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Lokalizacja docelowa"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Ilość do stworzenia"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Ilość przedmiotów do zbudowania"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Ukończone elementy"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Ilość produktów magazynowych które zostały ukończone"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Status budowania"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Kod statusu budowania"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Kod partii"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Data utworzenia"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Data rozpoczęcia budowy"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Zaplanowana data rozpoczęcia dla tego zamówienia budowy"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Data zakończenia"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Wydany przez"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Użytkownik, który wydał to zamówienie"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Odpowiedzialny"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Link Zewnętrzny"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Priorytet budowy"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Priorytet tego zamówienia produkcji"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Kod projektu"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Kod projektu dla tego zlecenia produkcji"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Nie udało się wyładować zadania, aby ukończyć alokację budowli"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Kolejność kompilacji {build} została zakończona"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Kolejność kompilacji została zakończona"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Należy podać numery seryjne dla lokalizowania części"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nie określono danych wyjściowych budowy"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Budowanie wyjścia jest już ukończone"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Ilość nie może być większa niż ilość wyjściowa"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Zbuduj obiekt"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Zbuduj obiekt"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Ilość"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Wymagana ilość dla zlecenia produkcji"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Element kompilacji musi określać dane wyjściowe kompilacji, ponieważ część główna jest oznaczona jako możliwa do śledzenia"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Ilość musi wynosić 1 dla serializowanych zasobów"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Pozycja magazynowa jest nadmiernie przydzielona"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Alokowana ilość musi być większa niż zero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Ilość musi wynosić 1 dla serializowanych zasobów"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Przydzielona ilość przekracza dostępną ilość zapasów"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Element magazynowy"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Ilość zapasów do przydzielenia do produkcji"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Zainstaluj do"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Poziom budowania"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nazwa komponentu"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Numer seryjny"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Automatycznie przydzielaj numery seryjne"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Odrzuć przydziały"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Zaakceptuj niekompletną alokację"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Usuń produkcje, które nie zostały zakończone"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Niedozwolone"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Nadmierny przydział zasobów"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Zaakceptuj nieprzydzielone"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Zaakceptuj, że przedmioty magazynowe nie zostały w pełni przypisane do tego zlecenia budowy"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Wymagany stan nie został w pełni przypisany"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Akceptuj niekompletne"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Towar musi znajdować się w magazynie"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Dostępna ilość ({q}) przekroczona"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Wyklucz lokalizację"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Magazyn wymienny"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Zastępczy magazyn"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Przedmiot opcjonalny"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Przydziel opcjonalne elementy BOM do zbudowania zamówienia"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Odniesienie BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID części BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nazwa części BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Wersja"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Część dostawcy"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Ilość zarezerwowana"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Element BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "W produkcji"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Zew. zasoby magazynowe"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Dostępna ilość"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Dostępny magazyn zastępczy"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "Wstrzymane"
msgid "Cancelled"
msgstr "Anulowano"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Zakończono"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Jest plikiem"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Brak wtyczki"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Zaktualizowany"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Data ostatniej aktualizacji"
@@ -1546,778 +1554,778 @@ msgstr "Zaktualizowano przez"
msgid "User who last updated this object"
msgstr "Użytkownik, który ostatnio zaktualizował ten obiekt"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Unikalny kod projektu"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Opis projektu"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Klucz ustawień"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Wybrana wartość nie jest poprawną opcją"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Wartość musi być wartością binarną"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Wartość musi być liczbą całkowitą"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Wartość musi być poprawną liczbą"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Wartość nie zgadza się z kontrolą poprawności"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Ciąg musi być unikatowy"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Użytkownik"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Cena"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Cena jednostkowa po określonej ilości"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token dostępu"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Treść tej wiadomości"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Opracowany na"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Czy prace nad tą wiadomością zostały zakończone?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Tytuł"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Łącze"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Opublikowano"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Podsumowanie"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Czytaj"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Czy ta wiadomość była przeczytana?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Plik obrazu"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Jednostka Niestandardowa"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Symbol jednostki musi być unikalny"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Nazwa jednostki musi być prawidłowym identyfikatorem"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nazwa jednostki"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Opcjonalny symbol jednostki"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definicja"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definicja jednostki"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Załącznik"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Brak pliku"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Typ modelu"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Docelowy typ modelu dla obrazu"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentarz"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Komentarz do załącznika"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Data dodania"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Data przesłania pliku"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Rozmiar pliku"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Rozmiar pliku w bajtach"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Wartość"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etykieta"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Kolor"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Model musi być wybrany"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Klucz musi być wybrany"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Zablokowany"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Utworzony"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Jednostki"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Aktywne"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Szablon"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Dane"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Uwaga"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Wynik"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Doręczono"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Klucz"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} anulowany"
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Nadpisz"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Jest uruchomiony"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Oczekujce zadania"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Zaplanowane zadania"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Zadania zakończone błędem"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID zadania"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Unikalny identyfikator zadania"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Blokada"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Czas blokady"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nazwa zadania"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funkcja"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nazwa funkcji"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumenty"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumenty zadania"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nazwa pliku"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Typ modelu"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Użytkownik nie ma uprawnień do tworzenia lub edytowania załączników dla tego modelu"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista wyboru jest zablokowana"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista wyboru jest zablokowana"
msgid "No group"
msgstr "Brak grupy"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Adres URL witryny jest zablokowany przez konfigurację"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Wymagane ponowne uruchomienie"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Zmieniono ustawienie, które wymaga restartu serwera"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Oczekujące migracje"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Liczba oczekujących migracji bazy danych"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Aktywne kody ostrzeżeń"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID instancji"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Unikalny identyfikator dla tej instancji InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nazwa instancji serwera"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Użyj nazwy instancji"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Wewnętrzna nazwa firmy"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Domyślna waluta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Interwał aktualizacji waluty"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dni"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Wtyczka aktualizacji waluty"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limit rozmiaru pobierania"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Ścisła weryfikacja adresu URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Częstotliwość sprawdzania aktualizacji"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatyczna kopia zapasowa"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Interwał automatycznego tworzenia kopii zapasowych"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Interwał usuwania zadań"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponent"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Wirtualny"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Pokaż powiązane części"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Użyj cennika dostawcy"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Nadpisanie historii zakupów"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Ceny wewnętrzne"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Włącz drukowanie etykiet"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Włącz drukowanie etykiet z interfejsu WWW"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI etykiety"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Włącz raporty"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Domyślna wielkość strony dla raportów PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Przekonwertuj walutę"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Konwertuj wartość przedmiotu na walutę bazową podczas otrzymywania zapasów"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Automatycznie wypełniaj zlecenia zakupu"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Włącz rejestrację SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Włącz samodzielną rejestrację przez SSO dla użytkowników na stronach logowania"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Włącz synchronizację grupy SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Włącz synchronizację grup InvenTree z grupami dostarczonymi przez IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Sprawdź wtyczki przy starcie"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Sprawdź dostępność aktualizacji wtyczek"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Włącz okresowe sprawdzanie aktualizacji zainstalowanych wtyczek"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Włącz kody projektów"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Włącz kody projektów do śledzenia projektów"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Włącz historię zapasów"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Włącz funkcjonalność dla zapisywania historycznych poziomów zapasów i wartości"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Komponent jest aktywny"
msgid "Manufacturer is Active"
msgstr "Producent jest aktywny"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Producent"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Firma"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Firmy"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Opis firmy"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Opis firmy"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Strona WWW"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Witryna internetowa firmy"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Numer telefonu"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Kontaktowy adres e-mail"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Punkt kontaktowy"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Czy sprzedajesz produkty tej firmie?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Czy kupujesz przedmioty od tej firmy?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adres"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Miasto/Region"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Kod pocztowy miasto/region"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Stan/Województwo"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Stan lub województwo"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Kraj"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Kraj"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notatki przewozowe kuriera"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notatki dla kuriera"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Wewnętrzne notatki przewozowe"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notatki wysyłkowe do użytku wewnętrznego"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Komponent producenta"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Część bazowa"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Wybierz część"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Numer producenta komponentu"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Opakowanie"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Ilość w opakowaniu"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "wielokrotność"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Zamów wiele"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Dostępność zaktualizowana"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Domyślna waluta używana dla tego dostawcy"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Na stanie"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Umieszczony"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Plik danych"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Status importu"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Ważny"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Liczba kopii do wydrukowania dla każdej etykiety"
msgid "Connected"
msgstr "Połączono"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Nieznany"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Numer zamówienia"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Utworzony przez"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Posiada ceny"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Zamówienie"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Komponent wewnętrzny"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Zamówienie oczekujące"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Zakończone"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Zlecenie zakupu"
msgid "Sales Order"
msgstr "Zamówienie zakupu"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Cena całkowita"
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link do zewnętrznej witryny"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Data docelowa"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Przeznaczenie"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Pozycja nie pasuje do zlecenia zakupu"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Klient"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Wysłane"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Wysłana ilość"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Data wysyłki"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Sprawdzone przez"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Użytkownik, który sprawdził tę wysyłkę"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Przesyłka"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Numer przesyłki"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Numer śledzenia"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informacje o śledzeniu przesyłki"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Przesyłka została już wysłana"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Alokowana ilość musi być większa niż zero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Linia"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Komponent"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopiuj parametry"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Zamówienie nie może zostać anulowane"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Zlecenie zakupu musi być określone"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Dostawca musi być zgodny ze zleceniem zakupu"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Zlecenie zakupu musi być zgodne z dostawcą"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Data ważności"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Kod kreskowy"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr "Zwrot pieniędzy"
msgid "Reject"
msgstr "Odrzuć"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Zaległe zlecenie zakupu"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Zlecenie zakupu {po} jest teraz zaległe"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Kategoria komponentu"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Kategorie części"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Części"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Czy ta część stanowi szablon części?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Wersja"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Data"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Zatwierdzone"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Podkategorie"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Waluta zakupu tego towaru"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopiuj obraz"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Kopiuj BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopiuj parametry"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Towary"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Dostawcy"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Duplikuj część"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Nie określono działania"
msgid "No matching action found"
msgstr "Nie znaleziono pasującej akcji"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nie znaleziono wyników dla danych kodu kreskowego"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Znaleziono wyniki dla danych kodu kreskowego"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Kod kreskowy pasuje do istniejącego elementu"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Dalsze informacje wymagane do odbioru pozycji"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Otrzymana pozycja zlecenia zakupu"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Klucz wtyczki"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Nazwa wtyczki"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Wtyczka"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nie znaleziono autora"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr "Instalacja nie została potwierdzona"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr "Razem"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Zainstalowane elementy"
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Lokacje stanu magazynowego"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Właściciel"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Wybierz właściciela"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Nadrzędny towar"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Zainstalowane w"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Wyszukaj zlecenie zakupu"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Zlecenie zakupu dla tego towaru"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Element nadrzędny"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Termin minął"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Elementy podrzędne"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Podlokalizacje"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Część musi być dostępna do sprzedaży"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Czy to konto użytkownika jest aktywne"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Twoje konto zostało utworzone."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Zresetuj hasło"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Witamy w InvenTree"
diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
index 55b18c4787..2d7e180300 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint não encontrado"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Usuário não tem permissão para ver este modelo"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-mail (novamente)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Confirmação do endereço de email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Você deve digitar o mesmo e-mail todas as vezes."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "O endereço primário de e-mail não é válido."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "O domínio de e-mail providenciado não foi aprovado."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Não foi possível converter {original} para {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Quantidade fornecida inválida"
@@ -112,13 +104,13 @@ msgstr "Insira uma Data"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Anotações"
@@ -131,75 +123,75 @@ msgstr "Valor '{name}' não está no formato correto"
msgid "Provided value does not match required pattern: "
msgstr "O valor fornecido não corresponde ao padrão exigido: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Número serial em branco"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Número de série duplicado"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nenhum número de série foi encontrado"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Remova as \"tags\" HTML deste valor"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Erro de conexão"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "O servidor respondeu com código estado inválido"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Ocorreu uma exceção"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Tamanho da imagem muito grande"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "O download da imagem excedeu o tamanho máximo"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "O servidor remoto retornou resposta vazia"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "A URL fornecida não é um arquivo de imagem válido"
@@ -207,11 +199,11 @@ msgstr "A URL fornecida não é um arquivo de imagem válido"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "A referência deve corresponder ao padrão exigido"
msgid "Reference number is too large"
msgstr "O número de referência é muito grande"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Escolha inválida"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Descrição"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Descrição (opcional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Caminho"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Nomes duplicados não podem existir sob o mesmo parental"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notas Markdown (opcional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Dados de código de barras"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Dados de código de barras de terceiros"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash de código de barras"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash exclusivo de dados de código de barras"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Erro de servidor"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Imagem"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Moeda"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Selecione a Moeda nas opções disponíveis"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Imagens Remota"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL do arquivo de imagem remoto"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Chinês (Simplificado)"
msgid "Chinese (Traditional)"
msgstr "Chinês (Tradicional)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Unidade física inválida"
msgid "Not a valid currency code"
msgstr "Não é um código de moeda válido"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Situação do pedido"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Produção Progenitor"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Peça"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categoria"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Produção deve ser cancelada antes de ser deletada"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consumível"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montagem"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Monitorado"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Alocado"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponível"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "No pedido"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Ordem de Produção"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Local"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Ordens de Produções"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Usuário ou grupo responsável deve ser especificado"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Peça da ordem de produção não pode ser alterada"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Referência do pedido de produção"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Referência do pedido de produção"
msgid "Reference"
msgstr "Referência"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Breve descrição da produção (opcional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Pedido de produção para qual este serviço está alocado"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Selecionar peça para produção"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referência do pedido de venda"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Pedido de Venda para qual esta produção está alocada"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Local de Origem"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Local de Destino"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Selecione o local onde os itens concluídos serão armazenados"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Quantidade de Produção"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Número de itens em estoque para produzir"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Itens concluídos"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Número de itens em estoque concluídos"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Progresso da produção"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Código de situação da produção"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Código de Lote"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Código do lote para esta saída de produção"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Criado em"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Data alvo final"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Data de conclusão"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "Concluído por"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Emitido por"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Usuário que emitiu este pedido de produção"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsável"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Usuário ou grupo responsável para este pedido de produção"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Link Externo"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link para URL externa"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Prioridade de Produção"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioridade deste pedido de produção"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Código do projeto"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Código do projeto para este pedido de produção"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Falha ao descarregar tarefa para concluir alocações de construção"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "O Pedido de produção {build} foi concluído!"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Um pedido de produção foi concluído"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Números de série devem ser fornecidos para peças rastreáveis"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nenhuma saída de produção especificada"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Saída de produção já completada"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Saída da produção não corresponde ao Pedido de Produção"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Quantidade deve ser maior que zero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Quantidade não pode ser maior do que a quantidade de saída"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "O item de produção {serial} não passou todos os testes necessários"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Item da linha de Produção"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Objeto de produção"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Objeto de produção"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Quantidade"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Quantidade necessária para o pedido de produção"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Item estoque selecionado não coincide com linha da LDM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Quantidade deve ser 1 para estoque serializado"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "O item do estoque está sobre-alocado"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Quantidade alocada deve ser maior que zero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Quantidade deve ser 1 para estoque serializado"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Item estoque selecionado não coincide com linha da LDM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Item de estoque"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Origem do item em estoque"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Quantidade do estoque para alocar à produção"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Instalar em"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Destino do Item do Estoque"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nome da Peça"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Saída da Produção"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Saída de produção não coincide com a produção progenitora"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Peça de saída não coincide com a peça da ordem de produção"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Esta saída de produção já foi concluída"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "A saída de produção não está completamente alocada"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Entre a quantidade da saída de produção"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Quantidade inteira necessária para peças rastreáveis"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Números de Série"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Digite os números de série para saídas de produção"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Local de estoque para a produção"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Alocar Números de Série Automaticamente"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Os seguintes números de série já existem ou são inválidos"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Uma lista de saídas de produção deve ser fornecida"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Local de estoque para saídas recicladas"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Descartar alocações"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Motivo para sucatear saída(s) de produção"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Local para saídas de produção concluídas"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Aceitar Alocação Incompleta"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consumir Estoque Alocado"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Remover Saídas Incompletas"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Não permitido"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Aceitar conforme consumido por esta ordem de produção"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Desatribua antes de completar este pedido de produção"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Estoque sobrealocado"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Alguns itens de estoque foram sobrealocados"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Aceitar não alocados"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Estoque obrigatório não foi totalmente alocado"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Aceitar Incompleto"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Aceitar que o número requerido de saídas de produção não foi concluído"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Quantidade de produção requerida não foi concluída"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Pedido de produção tem saídas incompletas"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linha de produção"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Saída da Produção"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Saída de produção deve indicar a mesma produção"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Item da linha de produção"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bin_item.part deve indicar a mesma peça do pedido de produção"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Item deve estar em estoque"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantidade disponível ({q}) excedida"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Saída de produção deve ser definida para alocação de peças rastreadas"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Alocação do Item precisa ser fornecida"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Local não incluso"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Não incluir itens de estoque deste local"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Estoque permutável"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Itens de estoque em múltiplos locais pode ser permutável"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Substituir Estoque"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Permitir alocação de peças substitutas"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Itens opcionais"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Alocar itens LDM opcionais para o pedido de produção"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Falha ao iniciar tarefa de auto-alocação"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Quantidade Alocada"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Rastreável"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Permitir variações"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Item LDM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Em Produção"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Cancelado"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Completado"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Estoque obrigatório para o pedido de produção"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Pedido de produção vencido"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Pedido de produção {bo} está atrasada"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "É uma Ligação"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "É um arquivo"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "O Utilizador não tem permissão para remover este anexo"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Código da Moeda invalida"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Código da Moeda duplicada"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nenhum código de moeda válido foi fornecido"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Sem extensão"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Atualizado"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Tempo da última atualização"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Código único do projeto"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Descrição do projeto"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Usuário ou grupo responsável por este projeto"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valor da Configuração"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Valor escolhido não é uma opção válida"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Valor deve ser um valor booleano"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Valor deve ser um número inteiro"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "A frase senha deve ser diferenciada"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Usuario"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Quantidade de Parcelamentos"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Preço"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Preço unitário na quantidade especificada"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Ponto final"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Ponto final em qual o gancho web foi recebido"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nome para este webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Ativo"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Este gancho web está ativo"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token de acesso"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Segredo"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Segredo compartilhado para HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID da Mensagem"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identificador exclusivo desta mensagem"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Servidor"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Servidor do qual esta mensagem foi recebida"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Cabeçalho"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Cabeçalho da mensagem"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Corpo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Corpo da mensagem"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Ponto do qual esta mensagem foi recebida"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Trabalhado em"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "O trabalho desta mensagem foi concluído?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Título"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Ligação"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publicado"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Resumo"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Lida"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Esta notícia do item foi lida?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Arquivo de imagem"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Nome da unidade deve ser um identificador válido"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nome da unidade"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Símbolo de unidade opcional"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definição"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definição de unidade"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Anexo"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Arquivo ausente"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Link externo não encontrado"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Comentario"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valor"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Criado"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Última atualização"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Modelo de parâmetro"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Parâmetros da caixa de seleção não podem ter unidades"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Os parâmetros da caixa de seleção não podem ter escolhas"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Escolhas devem ser únicas"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Nome do modelo de parâmetro deve ser único"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nome do Parâmetro"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unidades"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Unidades físicas para este parâmetro"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Descrição do Parâmetro"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Caixa de seleção"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Este parâmetro é uma caixa de seleção?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Escolhas"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Opções válidas para este parâmetro (separadas por vírgulas)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Habilitado"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Escolha inválida para valor do parâmetro"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Modelo"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Dados"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Valor do Parâmetro"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Anotação"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Campo opcional de notas"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contexto"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultado"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Chave"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} cancelado"
msgid "A order that is assigned to you was canceled"
msgstr "Um pedido atribuído a você foi cancelado"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Itens Recebidos"
@@ -2351,93 +2359,101 @@ msgstr "Os itens de um pedido de compra foram recebidos"
msgid "Items have been received against a return order"
msgstr "Os itens de um pedido de devolução foram recebidos"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Executando"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Tarefas Pendentes"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tarefas Agendadas"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tarefas com Falhas"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID da Tarefa"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ID Único da Tarefa"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Bloquear"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Tempo de bloqueio"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nome da tarefa"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Função"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nome da função"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumentos"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumentos da tarefa"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argumentos de Palavra-chave"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argumentos Palavra-chave da Tarefa"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nome do arquivo"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Nenhum grupo"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "URL do site está bloqueada por configuração"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Reinicialização necessária"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migrações pendentes"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Número de migrações pendentes na base de dados"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nome da Instância do Servidor"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Descritor de frases para a instância do servidor"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Usar nome da instância"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Usar o nome da instância na barra de título"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Restringir a exibição 'sobre'"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Mostrar 'sobre' modal apenas para superusuários"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nome da empresa"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nome interno da Empresa"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL de Base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL Base da instância do servidor"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Moeda Padrão"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Selecione a moeda base para cálculos de preços"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Moedas suportadas"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Lista de códigos de moeda suportados"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervalo de Atualização da Moeda"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dias"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Extensão de Atualização de Moeda"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Extensão de Atualização de Moeda a utilizar"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Baixar do URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Permitir baixar imagens remotas e arquivos de URLs externos"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limite de tamanho para baixar"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maior tamanho de imagem remota baixada permitida"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Usuário-agente utilizado para baixar da URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Validação rigorosa de URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Exigir especificação de esquema ao validar URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Atualizar Intervalo de Verificação"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Frequência para verificar atualizações (defina como zero para desativar)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Cópia de Segurança Automática"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervalo de Backup Automático"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Especificar o número de dia entre as cópias de segurança"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervalo para Excluir da Tarefa"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervalo para Excluir do Registro de Erro"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Registros de erros serão excluídos após um número especificado de dias"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervalo para Excluir de Notificação"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Notificações de usuários será excluído após um número especificado de dias"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Suporte aos códigos de barras"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Ativar suporte a leitor de código de barras na interface web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Atraso na entrada de código de barras"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tempo de atraso de processamento de entrada de barras"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Suporte a código de barras via Câmera"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Permitir escanear código de barras por câmera pelo navegador"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revisões de peças"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Habilitar campo de revisão para a Peça"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Permitir a exclusão da Montagem"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Permitir a remoção de peças usadas em uma montagem"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Padrão de expressão regular adequado para Peça IPN"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Permitir Duplicação IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permitir que várias peças compartilhem o mesmo IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Permitir Edição IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Permitir trocar o valor do IPN enquanto se edita a peça"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copiar dados da LDM da Peça"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copiar dados da LDM por padrão quando duplicar a peça"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copiar Dados de Parâmetro da Peça"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copiar Dados Teste da Peça"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copiar dados de teste por padrão quando duplicar a peça"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copiar Parâmetros dos Modelos de Categoria"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Peças são modelos por padrão"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Peças podem ser montadas a partir de outros componentes por padrão"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Componente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Peças podem ser usadas como sub-componentes por padrão"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Comprável"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Peças são compráveis por padrão"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Vendível"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Peças vão vendíveis por padrão"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Peças vão rastreáveis por padrão"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtual"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Peças são virtuais por padrão"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Mostra peças relacionadas"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Mostrar peças relacionadas para uma peça"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Dados Iniciais de Estoque"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Dados Iniciais de Fornecedor"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formato de Exibição do Nome da Peça"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formato para exibir o nome da peça"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Ícone de Categoria de Peça Padrão"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Mínimo de Casas Decimais do Preço"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Máximo Casas Decimais de Preço"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Usar Preços do Fornecedor"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Sobrescrever histórico de compra"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Usar Preços do Item em Estoque"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Usar preço inserido manualmente no estoque para cálculos de valores"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Idade do preço do Item em Estoque"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Usar Preço Variável"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Incluir preços variáveis nos cálculos de valores gerais"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Apenas Ativar Variáveis"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervalo de Reconstrução de Preços"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Número de dias antes da atualização automática dos preços das peças"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Preços Internos"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Habilitar preços internos para peças"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Sobrepor Valor Interno"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Ativar impressão de etiquetas"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Ativar impressão de etiqueta pela interface da internet"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI da Imagem na Etiqueta"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Habilitar Relatórios"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Ativar geração de relatórios"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Modo de depuração"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Gerar relatórios em modo de depuração (saída HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Relatório de erros"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registro de erros que ocorrem ao gerar relatórios"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Tamanho da página"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Tamanho padrão da página PDF para relatórios"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forçar Unidades de Parâmetro"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Seriais Únicos Globais"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Números de série para itens de estoque devem ser globalmente únicos"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Excluir Estoque Esgotado"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Determina o comportamento padrão quando um item de estoque é esgotado"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Modelo de Código de Lote"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Modelo para gerar códigos de lote padrão para itens de estoque"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Validade do Estoque"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Ativar função de validade de estoque"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vender estoque expirado"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Permitir venda de estoque expirado"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Tempo de Estoque Inativo"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Produzir Estoque Vencido"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Permitir produção com estoque vencido"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Controle de propriedade do estoque"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Ativar controle de propriedade sobre locais e itens de estoque"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Ícone padrão do local de estoque"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Mostrar Itens de Estoque Instalados"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Exibir itens de estoque instalados nas tabelas de estoque"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Verificar BOM ao instalar itens"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Itens de estoque instalados devem existir na BOM para a peça parente"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Permitir Transferência Fora do Estoque"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Produção"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Requer Proprietário Responsável"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Um proprietário responsável deve ser atribuído a cada ordem"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Bloquear até os Testes serem Aprovados"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Ativar Pedidos de Devolução"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Devolução"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Editar os Pedidos de Devolução Concluídos"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Venda"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Envio Padrão de Pedidos de Venda"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Habilitar criação de envio padrão com Pedidos de Vendas"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Editar os Pedidos de Vendas concluídos"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Compras"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Editar Pedidos de Compra Concluídos"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Autocompletar Pedidos de Compra"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Habitar esquecer senha"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Habilitar cadastro"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Ativar auto-registro para usuários na página de entrada"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Ativar SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Ativar SSO na página de acesso"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Ativar registro SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Ativar auto-registro por SSO para usuários na página de entrada"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email obrigatório"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Exigir do usuário o e-mail no cadastro"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Auto-preencher usuários SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Enviar email duplo"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "No registro pedir aos usuários duas vezes pelo email"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Senha duas vezes"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "No registro pedir aos usuários duas vezes pela senha"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Domínios permitidos"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupo no cadastro"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Forçar AMF"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Os usuários devem usar uma segurança multifator."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Checar extensões no início"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Verificar por atualizações de plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Habilitar verificações periódicas de atualizações para plugins instalados"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Ativar integração URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Ativar extensão para adicionar rotas URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Ativar integração de navegação"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Ativar extensões para integrar à navegação"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Ativa integração com aplicativo"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Ativar extensões para adicionar aplicativos"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Ativar integração do calendário"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Ativar extensões para executar tarefas agendadas"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Ativar integração de eventos"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Ativar extensões para responder a eventos internos"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Excluir Locais Externos"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Período de Balanço Automático"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Mostrar nomes completos dos usuários"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Mostrar nomes completos dos usuários"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Empresa"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Empresas"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Descrição da empresa"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Descrição da empresa"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Página Web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL do Site da empresa"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Número de telefone"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Número de telefone do contato"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Endereço de e-mail do contato"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contato"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Ponto de contato"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link para informações externas da empresa"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Você vende itens para esta empresa?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Você compra itens desta empresa?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Esta empresa fabrica peças?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Moeda padrão utilizada para esta empresa"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Endereço"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Endereços"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Selecione a Empresa"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Título do endereço"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Título descrevendo a entrada de endereço"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Endereço Principal"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Definir como endereço principal"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Linha 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Linha de endereço 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Linha 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Linha de endereço 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Código Postal"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Cidade/Região"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Código Postal Cidade / Região"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Estado/Provincia"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Estado ou Província"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "País"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "País do endereço"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notas de envio da transportadora"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notas para o envio da transportadora"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Notas de envio interno"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notas de envio para uso interno"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link para as informações do endereço (externo)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Peça do Fabricante"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Peça base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Selecionar peça"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Selecionar fabricante"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "NPF"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Número de Peça do Fabricante"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Descrição da peça do fabricante"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Unidades de pacote deve ser maior do que zero"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Fornecedor"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Selecione o fornecedor"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unidade de reserva de estoque fornecedor"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Selecionar peça do fabricante"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Descrição da peça fornecedor"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "preço base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Taxa mínima (ex.: taxa de estoque)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Embalagem"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Embalagem de peças"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "múltiplo"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Pedir múltiplos"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Quantidade disponível do fornecedor"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilidade Atualizada"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Data da última atualização da disponibilidade dos dados"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Moeda padrão utilizada para este fornecedor"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Em Estoque"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Colocado"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Arquivo de dados"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Colunas"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Válido"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Desconhecido"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Referência do Pedido"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Criado por"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Pedido"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Peça Interna"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Concluído"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Pedido de Compra"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Pedido de Compra"
msgid "Sales Order"
msgstr "Pedido de Venda"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Preço Total"
msgid "Total price for this order"
msgstr "Preço total deste pedido"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Moeda do pedido"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "O contato não corresponde à empresa selecionada"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Descrição do pedido (opcional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Selecione o código do projeto para este pedido"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link para página externa"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Data alvo"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Data de emissão"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Dia que o pedido foi feito"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Usuário ou grupo responsável para este pedido"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Ponto de contato para este pedido"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Endereço da empresa para este pedido"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Referência do pedido"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Situação"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Situação do pedido de compra"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Empresa da qual os itens estão sendo encomendados"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Referencia do fornecedor"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Código de referência do pedido fornecedor"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "recebido por"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Dia que o pedido foi concluído"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destino"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Fornecedor de peça deve corresponder a fornecedor da OC"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "O item de linha não corresponde ao pedido de compra"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Quantidade deve ser um número positivo"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Cliente"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Empresa para qual os itens foi vendidos"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Referência do Cliente "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Código de Referência do pedido do cliente"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Data de Envio"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Apenas um pedido aberto pode ser marcado como completo"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Pedido não pode ser concluído, pois, há envios incompletos"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Quantidade do item"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Referência do Item em Linha"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Observações do Item de Linha"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Descrição item de linha (opcional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contexto adicional para esta linha"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Preço Unitário"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "A peça do fornecedor deve corresponder ao fornecedor"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Fornecedor da Peça"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Recebido"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Número de itens recebidos"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Preço de Compra"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Preço unitário de compra"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Preço de Venda"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Preço de venda unitário"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Enviado"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Quantidade enviada"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Data do envio"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Data de Entrega"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Data da entrega do envio"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Verificado por"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Usuário que verificou esta remessa"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Remessa"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Número do Envio"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Número de Rastreamento"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informação de rastreamento da remessa"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Número da Fatura"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Número de referência para fatura associada"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "O pedido já foi enviado"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Remessa não foi alocada nos itens de estoque"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "O item do estoque não foi atribuído"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Não é possível alocar uma linha sem uma peça"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A quantidade de alocação não pode exceder a quantidade em estoque"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Quantidade alocada deve ser maior que zero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Quantidade deve ser 1 para item de estoque serializado"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Pedidos de venda não coincidem com a remessa"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Remessa não coincide com pedido de venda"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Linha"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Referência de remessa do pedido de venda"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Selecione o item de estoque para alocar"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Insira a quantidade de atribuição de estoque"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Referência de Pedidos de Devolução"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Empresa da qual os itens estão sendo retornados"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Estado do pedido de retorno"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Selecione o item a ser devolvido pelo cliente"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Data de Recebimento"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Data que o pedido a ser devolvido foi recebido"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Despesa/gastos"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Gastos com esta linha de itens"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Gastos para reparar e/ou devolver esta linha de itens"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Copiar Parâmetros"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Itens de linha"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Nome do Fornecedor"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Pedido não pode ser cancelado"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Permitir que o pedido seja fechado com itens de linha incompletos"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "O pedido tem itens da linha incompletos"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "O pedido não está aberto"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Moeda de preço de compra"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Código (SKU)"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Numero interno do produto"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "A peça do fornecedor deve ser especificada"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "O pedido de compra deve ser especificado"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "O fornecedor deve corresponder o pedido de compra"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Pedido de compra deve corresponder ao fornecedor"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Itens de linha"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Selecione o local de destino para os itens recebidos"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Digite o código do lote para itens de estoque recebidos"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Data de validade"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Digite o número de série para itens de estoque recebidos"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Código de barras"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Código de barras lido"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Código de barras já em uso"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Itens de linha deve ser providenciados"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Loca de destino deve ser especificado"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Código de barras fornecido deve ser único"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Envios concluídos"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Moeda de preço de venda"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nenhum detalhe da remessa fornecido"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Item de linha não está associado a este pedido"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Quantidade deve ser positiva"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Digite números de série para alocar"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "O pedido já foi enviado"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "O envio não está associado a este pedido"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nenhuma correspondência encontrada para os seguintes números de série"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Devolver item do pedido"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Item do pedido não bate com o pedido de devolução"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Item do pedido já foi recebido"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Itens só podem ser recebidos de pedidos em processamento"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Tipo de moeda para o item do pedido"
@@ -5532,1174 +5613,1226 @@ msgstr "Reembolsar"
msgid "Reject"
msgstr "Recusar"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Pedido de compra vencido"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Pedido de compra {po} está atrasada"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Pedido de venda vencido"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Pedido de venda {so} está atrasada"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Categoria da Peça"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Categorias de Peça"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Local Padrão"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Local padrão para peças desta categoria"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Estrutural"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Palavras-chave Padrão"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Palavras-chave padrão para peças nesta categoria"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ícone"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ícone (opcional)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valor Padrão"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valor Padrão do Parâmetro"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Peças"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Peça '{self}' não pode ser utilizada na BOM para '{parent}' (recursiva)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN deve corresponder ao padrão regex {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Item em estoque com este número de série já existe"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Não é permitido duplicar IPN em configurações de partes"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Uma parte com este Nome, IPN e Revisão já existe."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Peças não podem ser atribuídas a categorias estruturais!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nome da peça"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "É um modelo"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Esta peça é uma peça modelo?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Esta peça é variante de outra peça?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variante de"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Descrição da peça (opcional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Palavras chave"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Categoria da Peça"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Revisão de peça ou número de versão"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revisão"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Onde este item é armazenado normalmente?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Fornecedor padrão da peça"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Validade Padrão"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Validade (em dias) para itens do estoque desta peça"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Nível mínimo de estoque permitido"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Unidade de medida para esta peça"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Essa peça pode ser construída a partir de outras peças?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Essa peça pode ser usada para construir outras peças?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Esta parte tem rastreamento para itens únicos?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Esta peça pode ser comprada de fornecedores externos?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Esta peça pode ser vendida a clientes?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Esta parte está ativa?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Esta é uma peça virtual, como um software de produto ou licença?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Soma de Verificação da LDM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Soma de verificação da LDM armazenada"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "LDM conferida por"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "LDM verificada no dia"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Criação de Usuário"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Proprietário responsável por esta peça"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Venda múltipla"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Moeda usada para armazenar os cálculos de preços"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Custo Mínimo da LDM"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Custo mínimo das peças componentes"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Custo Máximo da LDM"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Custo máximo das peças componentes"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Custo Mínimo de Compra"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Custo mínimo histórico de compra"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Custo Máximo de Compra"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Custo máximo histórico de compra"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Preço Interno Mínimo"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Custo mínimo baseado nos intervalos de preço internos"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Preço Interno Máximo"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Custo máximo baseado nos intervalos de preço internos"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Preço Mínimo do Fornecedor"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Preço mínimo da peça de fornecedores externos"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Preço Máximo do Fornecedor"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Preço máximo da peça de fornecedores externos"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Custo Mínimo variável"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Custo mínimo calculado das peças variáveis"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Custo Máximo Variável"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Custo máximo calculado das peças variáveis"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Custo Mínimo"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Sobrepor o custo mínimo"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Custo Máximo"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Sobrepor o custo máximo"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Custo total mínimo calculado"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Custo total máximo calculado"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Preço Mínimo de Venda"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Preço mínimo de venda baseado nos intervalos de preço"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Preço Máximo de Venda"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Preço máximo de venda baseado nos intervalos de preço"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Custo Mínimo de Venda"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Preço histórico mínimo de venda"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Custo Máximo de Venda"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Preço histórico máximo de venda"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Peça para Balanço"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Total de Itens"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Número de entradas de estoques individuais no momento do balanço"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Estoque total disponível no momento do balanço"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Data"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Data de realização do balanço"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Custo Mínimo de Estoque"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Custo mínimo estimado de estoque disponível"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Custo Máximo de Estoque"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Custo máximo estimado de estoque disponível"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Nome de Teste"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Insira um nome para o teste"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Descrição do Teste"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Digite a descrição para este teste"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Este teste é obrigatório passar?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Requer Valor"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Este teste requer um valor ao adicionar um resultado de teste?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Anexo obrigatório"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Este teste requer um anexo ao adicionar um resultado de teste?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Selecione a Peça Parental"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sub peça"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Selecionar peça a ser usada na LDM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Quantidade de LDM para este item LDM"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Este item LDM é opcional"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Referência do Item LDM"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Notas do Item LDM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Soma de verificação"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Soma de Verificação da LDM da linha"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validado"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "O item da LDM foi validado"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Obtém herdados"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este item da LDM é herdado por LDMs para peças variáveis"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Quantidade deve ser valor inteiro para peças rastreáveis"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Sub peça deve ser especificada"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Substituir Item da LDM"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "A peça de substituição não pode ser a mesma que a peça mestre"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Item LDM Parental"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Substituir peça"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Selecionar Peça Relacionada"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Relacionamento da peça não pode ser criada com ela mesma"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Relação duplicada já existe"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Categoria de peça pai"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Sub-categorias"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Moeda de compra deste item de estoque"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Peça Original"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Selecione a peça original para duplicar"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Copiar imagem"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Copiar imagem da peça original"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Copiar LDM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Copiar lista de materiais da peça original"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Copiar Parâmetros"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Copiar dados do parâmetro da peça original"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Copiar Notas"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Copiar imagem da peça original"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Quantidade Inicial de Estoque"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Local Inicial do Estoque"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Especifique o local do estoque inicial para esta Peça"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Selecione o fornecedor (ou deixe em branco para pular)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Selecione fabricante (ou deixe em branco para pular)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Número de Peça do Fabricante"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "A empresa selecionada não é um fornecedor válido"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "A empresa selecionada não é um fabricante válido"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "A peça do fabricante que corresponde a essa MPN já existe"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "A peça do fornecedor que corresponde a essa SKU já existe"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Nome da Categoria"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Produzindo"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Itens de Estoque"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Fornecedores"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Estoque Total"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Peça duplicada"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Copiar dados iniciais de outra peça"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Estoque inicial"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Criar peça com a quantidade inicial de estoque"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Informações do Fornecedor"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Adicionar informação inicial de fornecedor para esta peça"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Copiar Parâmetros da Categoria"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Imagem Existente"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Nome de arquivo de uma imagem de peça existente"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "A imagem não existe"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Validar a Lista de Materiais completa"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Pode Produzir"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Preço Mínimo"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Sobrepor valor calculado para preço mínimo"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Moeda do preço mínimo"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Preço Máximo"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Sobrepor valor calculado para preço máximo"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Moeda do preço máximo"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Atualizar"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Atualizar preços desta peça"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Não foi possível converter das moedas fornecidas para {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Preço mínimo não pode ser maior que o preço máximo"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Preço máximo não pode ser menor que o preço mínimo"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Selecionar peça para copiar a LDM"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Remover Dado Existente"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Remova itens LDM existentes antes de copiar"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Incluir Herdados"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Incluir itens LDM que são herdados de peças modelo"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Pular Linhas inválidas"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Habilitar esta opção para pular linhas inválidas"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Copiar Peças Substitutas"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copiar peças de substitutas quando duplicar itens de LDM"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notificação de estoque baixo"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Nenhuma ação especificada"
msgid "No matching action found"
msgstr "Nenhuma ação correspondente encontrada"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nenhum resultado encontrado para os dados do código de barras"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Coincidência encontrada para dados de código de barras"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Código de barras corresponde ao item existente"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Nenhuma informação de peça correspondente encontrada"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Nenhuma peça de fornecedor correspondente encontrada"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Múltiplas peças de fornecedores correspondentes encontradas"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Peça de fornecedor correspondente"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Item do pedido já foi recebido"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Diversos itens de linha correspondentes encontrados"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Nenhum item de linha correspondente encontrado"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Código de barras não corresponde a item de estoque válido"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Item do estoque não corresponde ao item de linha"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Estoque insuficiente disponível"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Item de estoque atribuído para pedido de venda"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Não há informação suficiente"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Mais informações necessárias para receber o item de linha"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Item de linha do pedido de compra recebido"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr "Fornece suporte nativo para códigos de barras"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Link do gancho de entrada do Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Chave da extensão"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Nome da Extensão"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Extensões"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nenhum autor encontrado"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Extensão requer pelo menos a versão {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Extensão requer no máximo a versão {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Instalação não confirmada"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Qualquer nome do pacote URL deve ser fornecido"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Número de Sério"
@@ -8097,7 +8230,7 @@ msgstr "Relatório Teste do Item em Estoque"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Itens instalados"
@@ -8130,495 +8263,519 @@ msgstr "Sem resultado (obrigatório)"
msgid "No result"
msgstr "Nenhum resultado"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "O arquivo não existe"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Arquivo de imagem não encontrado"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "Tag part_image necessita de uma instância de Peça"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "Tag company_image necessita de uma instância de Empresa"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Código da situação"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Localização externa"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Árvore de Peças"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Data de validade antes"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Data de validade depois"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Inativo"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Quantidade obrigatória"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Uma peça válida deve ser fornecida"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "A peça do fornecedor informado não existe"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Números de série não podem ser fornecidos para uma parte não rastreável"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Tipo de Local de estoque"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Tipos de Locais de estoque"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Localização do estoque"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Locais de estoque"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Responsavel"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Selecionar Responsável"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Externo"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Esta é uma localização de estoque externo"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Tipo de localização"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Tipo de Local de Estoque para esta locação"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Item de estoque não pode ser criado para peças virtuais"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Tipo de peça('{self.supplier_part.part}') deve ser {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "A quantidade deve ser 1 para um item com número de série"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de série não pode ser definido se quantidade maior que 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "O item não pode pertencer a si mesmo"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Item deve ter uma referência de produção se is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Referência de produção não aponta ao mesmo objeto da peça"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Item de Estoque Parental"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Peça base"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Onde está localizado este item de estoque?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Embalagem deste item de estoque está armazenado em"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Instalado em"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Este item está instalado em outro item?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Número de série para este item"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Código do lote para este item de estoque"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Quantidade de Estoque"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Produção de Origem"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Produção para este item de estoque"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Consumido por"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Pedido de produção que consumiu este item de estoque"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Pedido de compra Fonte"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Pedido de Compra para este item de estoque"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Destino do Pedido de Venda"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Excluir quando esgotado"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Excluir este item de estoque quando o estoque for esgotado"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Preço de compra unitário único no momento da compra"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Convertido para peça"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Peça não está definida como rastreável"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Quantidade deve ser inteira"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "A quantidade não corresponde aos números de série"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Item em estoque foi reservado para um pedido"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Item em estoque está instalado em outro item"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "item em estoque contem outro(s) items"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Item em estoque foi reservado para outro cliente"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Item no estoque está em produção no momento"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Itens de série não podem ser mesclados"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Item de estoque duplicado"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Itens de estoque devem se referir à mesma peça"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Itens de estoque devem se referir à mesma peça do fornecedor"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Códigos de estado do estoque devem corresponder"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Observações de entrada"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Deve-se fornecer o valor desse teste"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "O anexo deve ser enviado para este teste"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Resultado do teste"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Valor da saída do teste"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Anexo do resultado do teste"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Notas do teste"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Item Primário"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Inserir número de série para novos itens"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Expirado"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Itens Filhos"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Preço de compra para este item de estoque, por unidade ou pacote"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Insira o número de itens de estoque para serializar"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Local de destino do estoque"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Números de série não podem ser atribuídos a esta peça"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Números de série já existem"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Selecione o item de estoque para instalar"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Quantidade a Instalar"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Insira a quantidade de itens a instalar"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Adicionar nota de transação (opcional)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "A quantidade para instalar deve ser pelo menos 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Item de estoque indisponível"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Peça selecionada não está na Lista de Materiais"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Quantidade a instalar não deve exceder a quantidade disponível"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Local de destino para o item desinstalado"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Selecione peça para converter o item de estoque em"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Peça selecionada não é uma opção válida para conversão"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Código de estado do item estoque"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Selecionar itens de estoque para mudar estados"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Nenhum item de estoque selecionado"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Sub-locais"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Parte deve ser comercializável"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Item é alocado para um pedido de venda"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Item está alocado a um pedido de produção"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Cliente para atribuir itens de estoque"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "A empresa selecionada não é um cliente"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Nodas atribuídas a estoque"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Uma lista de item de estoque deve ser providenciada"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Notas de fusão de estoque"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Permitir fornecedores divergentes"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Permitir estado incompatível"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Permitir a fusão de itens de estoque com estado diferentes"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Ao menos dois itens de estoque devem ser providenciados"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Valor da chave primária do Item Estoque"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Notas da transação de estoque"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Pedidos de vendas"
msgid "Return Orders"
msgstr "Pedidos de Devolução"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nome de usuário"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Primeiro Nome"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Sobrenome"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Sua conta foi criada."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Por favor, use a função de redefinir senha para acessar"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Bem-vindo(a) ao InvenTree"
diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po
index a73f534a50..12ef70d8e9 100644
--- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint não encontrado"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "A lista de itens ou filtros devem ser fornecidas para operação em massa"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Os itens devem ser fornecidos como lista"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Lista de itens inválida fornecida"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filtros devem ser fornecidos como"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Filtros inválidos fornecidos"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Todos os filtros devem ser usados apenas como verdadeiro"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Nenhum item corresponde com os critérios fornecidos"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Nenhum dado fornecido"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Este campo deve ser único."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "O usuário não tem permissão para visualizar esse modelo"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (novamente)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "E-mail de confirmação"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Você deve digitar o mesmo e-mail todas às vezes."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "O endereço de e-mail fornecido não é válido."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "O domínio de e-mail fornecido não foi aprovado."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Não foi possível converter {original} para {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Quantidade inválida"
@@ -112,13 +104,13 @@ msgstr "Informe a data"
msgid "Invalid decimal value"
msgstr "Valor decimal inválido"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Observações"
@@ -131,75 +123,75 @@ msgstr "O valor '{name}' não aparece no formato padrão"
msgid "Provided value does not match required pattern: "
msgstr "O valor fornecido não corresponde ao padrão exigido: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Não é possível serializar mais de 1000 itens de uma vez"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Número serial em branco"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Número serial duplicado"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Grupo invalido:{group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nenhum número de série foi encontrado"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "O número de números seriais únicos ({n}) deve corresponder a quantidade ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Remover as \"tags\" HTML deste valor"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Os dados contêm conteúdo de marcação proibido"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Erro de conexão"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "O servidor respondeu com código de estado inválido"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Ocorreu uma exceção"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "O download da imagem excedeu seu tamanho máximo"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "O servidor remoto retornou uma resposta vazia"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "A URL fornecida não é um arquivo de imagem válido"
@@ -207,11 +199,11 @@ msgstr "A URL fornecida não é um arquivo de imagem válido"
msgid "Log in to the app"
msgstr "Entrar no aplicativo"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Você deve habilitar a autenticação de dois fatores antes de fazer qualquer coisa."
@@ -255,133 +247,124 @@ msgstr "A referência deve corresponder ao padrão exigido"
msgid "Reference number is too large"
msgstr "O número de referência é muito longo"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Escolha inválida"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Descrição"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Descrição (opcional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Caminho"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Nomes duplicados não podem existir sob o mesmo parental"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Notas Markdown (opcional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Dados de código de barras"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Dados de código de barras de terceiros"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Hash de código de barras"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Hash exclusivo de dados de código de barras"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Falha na Tarefa"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Falha na tarefa de trabalho '{f}' em segundo plano após tentativas {n}"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Erro de servidor"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Um erro foi registrado pelo servidor."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Imagem"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Deve ser um número válido"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Moeda"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Selecione a moeda entre as opções disponíveis"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Este campo não pode ser nulo."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Imagem remota"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL do arquivo da imagem remota"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Falha ao baixar a imagem da URL remota"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Formato de conteúdo inválido"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Tipo de conteúdo não encontrado"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Chinês (simplificado)"
msgid "Chinese (Traditional)"
msgstr "Chinês (tradicional)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Atualização disponível"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Uma atualização para o InvenTree está disponível"
@@ -553,30 +536,30 @@ msgstr "Unidade física inválida"
msgid "Not a valid currency code"
msgstr "O código de moeda não é válido"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Situação de pedido"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Produção Progenitora"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Incluir Variáveis"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Incluir Variáveis"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Incluir Variáveis"
msgid "Part"
msgstr "Parte"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Categoria"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Construção de Ancestrais"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Atribuído a mim"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Atribuído a"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Criado antes"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Criado após"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Tem a data inicial"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Data inicial antes"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Data de início após"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Tem data limite"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Data limite antes"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Data limite depois"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Concluído antes"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Concluído após"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Data Mínima"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Data máxima"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Excluir árvore"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "A compilação deve ser cancelada antes de ser excluída"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Consumível"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opcional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montagem"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Rastreado"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testável"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Pedido pendente"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Alocado"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Disponível"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Em pedido"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Ordem da compilação"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Local"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
-msgstr ""
+msgstr "Saída"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Ordens de Produções"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "O BOM da montagem não foi validado"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Ordem de compilação não pode ser criada para uma parte inativa"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Ordem de compilação não pode ser criado para uma parte desbloqueada"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Criar ordens só pode ser realizado externamente para partes compráveis"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Usuário ou grupo responsável deve ser especificado"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Parte do pedido de compilação não pode ser alterada"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "A data limite deve ser posterior à data inicial"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Referência do pedido de produção"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Referência do pedido de produção"
msgid "Reference"
msgstr "Referência"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Breve descrição da produção (opcional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Ordem de produção para qual este serviço está alocado"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Selecione a peça para construir"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referência do pedido de venda"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Ordem de Venda para qual esta produção está alocada"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Local de Origem"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Selecione o local para fazer estoque para esta compilação (deixe em branco para tirar a partir de qualquer local de estoque)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Produção Externa"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Esta ordem de compilação é atendida externamente"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Local de Destino"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Selecione o local onde os itens concluídos serão armazenados"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Quantidade de Produção"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Número de itens em estoque para produzir"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Itens concluídos"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Número de itens em estoque concluídos"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Progresso da produção"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Código de situação da produção"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Código do lote"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Código do lote para esta saída de produção"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Criado em"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Data inicial da produção"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Data de início agendada para esta ordem de produção"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Data alvo final"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data limite para finalização de produção. Estará atrasado a partir deste dia."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Data de conclusão"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "concluído por"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Emitido por"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Usuário que emitiu esta ordem de produção"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Responsável"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Usuário ou grupo responsável para esta ordem de produção"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Link Externo"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link para URL externa"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Prioridade de Produção"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioridade desta ordem de compilação"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Código do Projeto"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Código do projeto para esta ordem de compilação"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Não é possível concluir o pedido de produção com pedidos secundários abertos"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Não é possível concluir o pedido com saídas incompletas"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Falha ao descarregar tarefa para concluir alocações de compilação"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "O Pedido de produção {build} foi concluído"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Um pedido de produção foi concluído"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Números de série devem ser fornecidos para peças rastreáveis"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nenhuma saída de produção especificada"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Saída da produção já está concluída"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Saída da produção não corresponde à Ordem de Produção"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Quantidade deve ser maior que zero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "A quantidade não pode ser maior que a quantidade de saída"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "A saída da produção não passou em todos os testes necessários"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "A saída da produção {serial} não passou em todos os testes necessários"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Item da ordem de produção"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Compilar objeto"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Compilar objeto"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Quantidade"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Quantidade necessária para o pedido de produção"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "O item de estoque selecionado não coincide com linha da BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Quantidade deve ser 1 para estoque serializado"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "O item do estoque está sobre-alocado"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Quantidade alocada deve ser maior que zero"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Quantidade deve ser 1 para estoque serializado"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "O item de estoque selecionado não coincide com linha da BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Item de Estoque"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Origem do item em estoque"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Quantidade do estoque para alocar à produção"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Instalar em"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Destino do Item do Estoque"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Nível de produção"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Nome da Peça"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Rótulo de código do projeto"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Saída da Produção"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Saída de produção não coincide com a produção progenitora"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Peça de saída não coincide com a peça da ordem de produção"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Esta saída de produção já foi concluída"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Esta saída de produção não está totalmente alocada"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Insira a quantidade para construir a saída de produção"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Quantidade inteira necessária para peças rastreáveis"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Números de Série"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Digite os números de série para saídas de produção"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Local de estoque para saídas de produção"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Alocar Números de Série Automaticamente"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Os seguintes números de série já existem ou são inválidos"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Uma lista de saídas de produção deve ser fornecida"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Local de estoque para saídas eliminadas"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Descartar alocações"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Descartar quaisquer alocações de estoque para saídas eliminadas"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Motivo para eliminar saída(s) de produção"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Local para saídas de produção concluídas"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Aceitar Alocação Incompleta"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Consumir Estoque Alocado"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Remover Saídas Incompletas"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Não permitido"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Aceitar conforme consumido por esta ordem de produção"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Desatribua antes de completar esta ordem de produção"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Alguns itens de estoque foram sobrecarregados"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Aceitar não alocados"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta encomenda"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Estoque obrigatório não foi totalmente alocado"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Aceitar Incompleto"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Aceitar que o número requerido de saídas de produção não foi concluído"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Quantidade de produção requerida não foi concluída"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "A ordem de produção tem ordens de produção secundárias abertas"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Ordem de produção deve estar no estado de produção"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Ordem de produção tem saídas incompletas"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Linha de Produção"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Saída da Produção"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Saída de produção deve indicar a mesma produção"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Item da linha de produção"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part deve apontar para a mesma parte que a ordem de produção"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "O item deve estar em estoque"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantidade disponível ({q}) excedida"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Saída de produção deve ser definida para alocação de peças rastreadas"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Saída de produção não pode ser definida para alocação de peças não rastreadas"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Alocação de itens precisam ser fornecidos"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Localização do estoque onde as peças devem ser originadas (deixe em branco a partir de qualquer local)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Excluir Local"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Excluir itens de estoque desta localização selecionada"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Estoque Intercambiável"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Itens de estoque em múltiplos locais podem ser intercambiáveis"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Estoque Substituto"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Permitir alocação de peças substitutas"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Itens opcionais"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Alocar itens BOM opcionais para ordem de produção"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Falha ao iniciar tarefa de alocação automática"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Referência do BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID da parte BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Nome da peça BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Produção"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Quantidade Alocada"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Referência da produção"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Nome da Categoria"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Rastreável"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Herdado"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Item BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Em Produção"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Agendado para produção"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Estoque Externo"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Estoque Substituto Disponível"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Estoque de Variantes Disponível"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "Em Espera"
msgid "Cancelled"
msgstr "Cancelado"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Concluído"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Estoque obrigatório para a ordem de produção"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Ordem de produção {build} requer estoque adicional"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Ordem de produção vencido"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Ordem de produção {bo} está atrasada"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "É um link"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "É um arquivo"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "O usuário não tem permissão para deletar esses anexos"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "O usuário não tem permissão para deletar esse anexo"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Código de moeda inválido"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Código de moeda duplicado"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nenhum código de moeda válido fornecido"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Sem extensão"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Rótulo de código do projeto"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Atualizado"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Tempo da última atualização"
@@ -1546,778 +1554,778 @@ msgstr "Atualizado Por"
msgid "User who last updated this object"
msgstr "Usuário que atualizou este objeto pela última vez"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Código único do projeto"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Descrição do projeto"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Usuário ou grupo responsável por este projeto"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Chave de configurações"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Valor da Configuração"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Valor escolhido não é uma opção válida"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Valor deve ser um valor booleano"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Valor deve ser um número inteiro"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "O valor deve ser um número válido"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "O valor não passa em verificações de validação"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "A frase senha deve ser diferenciada"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Usuário"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Quantidade de Parcelamentos"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Preço"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Preço unitário na quantidade especificada"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Ponto final"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Ponto final em qual o webhook foi recebido"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Nome para este webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Ativo"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Este webhook está ativo"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Ficha"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Ficha para acesso"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Secreto"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Segredo compartilhado para HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID da Mensagem"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Identificador exclusivo desta mensagem"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Servidor"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Servidor do qual esta mensagem foi recebida"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Cabeçalho"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Cabeçalho da mensagem"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Corpo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Corpo da mensagem"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Ponto do qual esta mensagem foi recebida"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Trabalhado em"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "O trabalho desta mensagem foi concluído?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Título"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Publicado"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Resumo"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Lida"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Esta notícia do item foi lida?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Arquivo de imagem"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Tipo modelo de destino para esta imagem"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "ID do modelo de destino para esta imagem"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Unidade Personalizada"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "O símbolo da unidade deve ser único"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Nome da unidade deve ser um identificador válido"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Nome da unidade"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Símbolo de unidade opcional"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definição"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definição de unidade"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Anexo"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Arquivo ausente"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Link externo não encontrado"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Categoria de Modelo"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Tipo modelo de destino para esta imagem"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Comentário"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Comentário de anexo"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Data de envio"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Data em que o arquivo foi enviado"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Tamanho do arquivo"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Tamanho do arquivo em bytes"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Categoria de modelo especificado inválido para anexo"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Estado personalizado"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Estados personalizados"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Status Referência Definido"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Conjunto de status estendido com este estado personalizado"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Chave lógica"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Chave lógica de estado que é igual a este estado personalizado na lógica de negócios"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Valor"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Valor numérico que será salvo no banco de dados dos modelos"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Nome do estado"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiqueta"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiqueta que será exibida no frontend"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Cor"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Cor que será exibida no frontend"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modelo"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Modelo que este estado está associado a"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Modelo deve ser selecionado"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "A chave deve ser selecionada"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Chave lógica deve ser selecionada"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "A chave deve diferir da chave lógica"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Uma classe de estado de referência válida deve ser fornecida"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "A chave deve diferir das chaves lógicas do estado de referência"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "A chave lógica deve estar nas chaves lógicas do estado de referência"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "O nome deve diferir dos nomes do estado de referência"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Lista de Seleção"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Listas de Seleção"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Nome da lista de seleção"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Descrição da lista de seleção"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Bloqueado"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Esta lista de seleção está bloqueada?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Esta lista de seleção pode ser usada?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Extensão de origem"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Extensão que fornece a lista de seleção"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Série de Origem"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Série opcional identificando a fonte usada para esta lista"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Entrada Padrão"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Entrada padrão para esta lista de seleção"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Criado em"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Data e hora em que a lista de seleção foi criada"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Última Atualização"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Data e hora da última atualização da lista de seleção"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Entrada na lista de seleção"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Entradas na Lista de Seleção"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Lista de seleção à qual esta entrada pertence"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Valor da entrada da lista de seleção"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Rótulo para a entrada da lista de seleção"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Descrição da entrada da lista de seleção"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Esta entrada da lista de seleção está ativa?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Nome do Parâmetro"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Unidades"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Caixa de seleção"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Habilitado"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Modelo"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Dados"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Anotação"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
-msgstr ""
+msgstr "Campo opcional de notas"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Escaneamento de Código de Barras"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Dados de código de barras"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Usuário que escaneou o código de barras"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Marcador de hora"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Data e hora da verificação do código de barras"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "O endpoint da URL que processou o código de barras"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Contexto"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Dados de contexto para escanear código de barras"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Resposta"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Dados de resposta da verificação de código de barras"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultado"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "O código de barras foi digitalizado com sucesso?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Ocorreu um erro"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: exclusão de registro de e-mail está protegida. Defina INVENTREE_PROTECT_EMAIL_LOG para Falso para permitir a exclusão."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "Mensagem de e-mail"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "Mensagens de Email"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Anunciado"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Enviado"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Falhou"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Entregue"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Confirmado"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Entrada"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Saída"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Não responder"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Rastrear Entrega"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Monitorado"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Clique no caminho"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "ID Global"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Identificador para esta mensagem (pode ser fornecido por sistema externo)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID do Tópico"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Identificador deste tópico de mensagem (pode ser fornecido por sistema externo)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Tópico"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Tópico vinculado para esta mensagem"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Tópico do e-mail"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Tópicos de e-mail"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Chave"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Chave única para este tópico (usada para identificar o tópico)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Identificador exclusivo deste tópico"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Iniciado interno"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Este tópico foi iniciado internamente?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Data e hora em que o tópico foi criado"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Data e hora da última atualização do tópico"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} cancelado"
msgid "A order that is assigned to you was canceled"
msgstr "Um pedido atribuído a você foi cancelado"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Itens Recebidos"
@@ -2351,93 +2359,101 @@ msgstr "Os itens de um pedido de compra foram recebidos"
msgid "Items have been received against a return order"
msgstr "Os itens de um pedido de devolução foram recebidos"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "É indicado se a configuração é substituída por uma variável de ambiente"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Substituir"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Está em execução"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Tarefas Pendentes"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tarefas Agendadas"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tarefas com Falhas"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID da Tarefa"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ID Único da Tarefa"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Bloquear"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Congelar tempo"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Nome da tarefa"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Função"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Nome da função"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumentos"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumentos da tarefa"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Argumentos de Palavra-chave"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Argumentos Palavra-chave da Tarefa"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Nome do arquivo"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Categoria de Modelo"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Usuário não tem permissão para criar ou editar anexos para este modelo"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista de seleção bloqueada"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista de seleção bloqueada"
msgid "No group"
msgstr "Sem Grupo"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "URL do site está bloqueada por configuração"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Reinicialização necessária"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migrações pendentes"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Número de migrações pendentes na base de dados"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Códigos de aviso ativos"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Um dicionário dos códigos de aviso ativos"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "ID da instância"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Identificador exclusivo para esta instância do InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "Anúncio ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Anuncie a ID da instância do servidor na informação de estado do servidor (não autenticado)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Nome da Instância do Servidor"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Descritor de frases para a instância do servidor"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Usar nome da instância"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Usar o nome da instância na barra de título"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Restringir a exibição 'sobre'"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Mostrar 'sobre' modal apenas para superusuários"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Nome da empresa"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Nome interno da Empresa"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL de Base"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL de base para instância do servidor"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Moeda Padrão"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Selecione a moeda base para cálculos de preços"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Moedas Suportadas"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Lista de códigos de moeda suportados"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Intervalo de Atualização da Moeda"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dias"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Extensão de Atualização de Moeda"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Extensão de Atualização de Moeda a utilizar"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Baixar do URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Permitir baixar imagens remotas e arquivos de URL externos"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Limite de tamanho para baixar"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Tamanho máximo permitido para download da imagem remota"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Usuário-agente utilizado para baixar da URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Validação rigorosa de URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Exigir especificação de esquema ao validar URLs"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Atualizar Intervalo de Verificação"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Frequência para verificar atualizações (defina como zero para desativar)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Backup Automático"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Intervalo de Backup Automático"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Especificar o número de dia entre as cópias de segurança"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Intervalo para Excluir da Tarefa"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Intervalo para Excluir do Registro de Erro"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Registros de erros serão excluídos após um número especificado de dias"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Intervalo para Excluir de Notificação"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Notificações de usuários será excluído após um número especificado de dias"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Intervalo de Exclusão de e-mail"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Mensagens de e-mail serão excluídas após um determinado número de dias"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Proteger o Log de E-mail"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Evitar exclusão de entradas de registros de e-mail"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Suporte aos códigos de barras"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Ativar suporte a leitor de código de barras na interface web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Armazenar Resultados do Código de Barras"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Armazenar a verificação do código de barras no banco de dados"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Contagem máxima de códigos de barras"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Número máximo de resultados de digitalização de códigos de barras para armazenar"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Atraso na entrada de código de barras"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Tempo de atraso de processamento de entrada de barras"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Suporte a webcam com código de barras"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Permitir a verificação de códigos de barras via webcam no navegador"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Código de barras Exibir Dados"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Exibir dados do código de barras no navegador como texto"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Extensão de geração de códio de barras"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Extensão para usar para geração de dados de código de barras interno"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revisões de peças"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Ativar campo de revisão para a Peça"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Somente Revisão da Assembleia"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Permitir revisões apenas para peças de montagem"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Permitir a exclusão da Assembleia"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Permitir a exclusão de peças que são usadas em uma montagem"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Padrão de expressão regular para correspondência de Parte IPN"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Permitir Duplicação IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Permitir que várias peças compartilhem o mesmo IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Permitir Edição IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Permitir trocar o valor do IPN enquanto se edita a peça"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Copiar dados da LDM da Peça"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copiar dados da LDM por padrão quando duplicar a peça"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Copiar Dados de Parâmetro da Peça"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Copiar Dados Teste da Peça"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Copiar dados de teste por padrão quando duplicar a peça"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Copiar Parâmetros dos Modelos de Categoria"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Peças são modelos por padrão"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Peças podem ser montadas a partir de outros componentes por padrão"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Componente"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Peças podem ser usadas como sub-componentes por padrão"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Comprável"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Peças são compráveis por padrão"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Comercializável"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Peças vão vendíveis por padrão"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Peças vão rastreáveis por padrão"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtual"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Peças são virtuais por padrão"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Mostrar peças relacionadas"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Exibir peças relacionadas com uma peça"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Dados Iniciais de Estoque"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permitir a criação do estoque inicial quando adicionar uma nova peça"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Dados Iniciais de Fornecedor"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permitir a criação de dados iniciais de fornecedor quando adicionar uma nova peça"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Formato de Exibição do Nome da Peça"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formato para exibir o nome da peça"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Ícone de Categoria de Peça Padrão"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Mínimo de Casas Decimais do Preço"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Máximo Casas Decimais de Preço"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Usar Preços do Fornecedor"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Substituir Histórico de Compras"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Usar Preços do Item em Estoque"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Usar preço inserido manualmente no estoque para cálculos de valores"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Idade do preço do Item em Estoque"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Usar Preço Variável"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Incluir preços variáveis nos cálculos de valores gerais"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Apenas Ativar Variáveis"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Atualização automática dos preços"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Atualizar automaticamente o preço da peça quando dados internos forem alterados"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Intervalo de Reconstrução de Preços"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Número de dias antes da atualização automática dos preços das peças"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Preços Internos"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Habilitar preços internos para peças"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Substituição de preço interno"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Se disponível, os preços internos substituem os cálculos da faixa de preços"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Habilitar Impressão de Etiqueta"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Ativar impressão de etiqueta pela interface da internet"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI da Imagem na Etiqueta"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Ativar Relatórios"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Ativar geração de relatórios"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Modo de depuração"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Gerar relatórios em modo de depuração (saída HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Registro de erros"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Registrar erros que ocorrem ao gerar relatórios"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Tamanho da página"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Tamanho padrão da página PDF para relatórios"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Forçar Unidades de Parâmetro"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Seriais Únicos Globais"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Números de série para itens de estoque devem ser globalmente únicos"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Excluir Estoque Esgotado"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Determina o comportamento padrão, quando um item de estoque é esgotado"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Modelo de Código de Lote"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Modelo para gerar códigos de lote padrão para itens de estoque"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Validade do Estoque"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Ativar função de validade de estoque"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Vender estoque expirado"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Permitir venda de estoque expirado"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Tempo de Estoque Inativo"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Produzir Estoque Vencido"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Permitir produção com estoque vencido"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Controle de propriedade do estoque"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Ativar controle de propriedade sobre locais e itens de estoque"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Ícone padrão do local de estoque"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Mostrar Itens de Estoque Instalados"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Exibir itens de estoque instalados nas tabelas de estoque"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Verificar LDM ao instalar itens"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Itens do estoque instalado devem existir na LDM para a parte principal"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Permitir Fora de Transferência"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Produção"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Exigir proprietário responsável"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Um proprietário responsável deve ser atribuído a cada pedido"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Requer Parte Ativa"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Impedir a criação de ordem para partes inativas"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Exigir parte bloqueada"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Impedir criação de pedidos para peças desbloqueadas"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Exigir validade, BOM"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Impedir criação de pedido de compilação a menos que LDM tenha sido validada"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Exigir pedidos secundários fechados"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Impedir o preenchimento do pedido de construção até que todos os pedidos secundários sejam fechados"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Pedido de Produção Externo"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Ativar funcionalidade de pedido de construção externa"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Bloquear Até Passagem de Testes"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes necessários passem"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Ativar Pedidos de Devolução"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Ativar funcionalidade de pedido de devolução na interface do usuário"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Devolução"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Devolução"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Editar os Pedidos de Devolução Concluídos"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Venda"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Envio Padrão de Pedidos de Venda"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Habilitar criação de envio padrão com Pedidos de Vendas"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Editar os Pedidos de Vendas concluídos"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Marcar pedidos enviados como concluídos"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Pedidos de vendas marcados como enviados automaticamente serão concluídos, ignorando o status \"enviado\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Modelo de Referência de Pedidos de Compras"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Editar Pedidos de Compra Concluídos"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Converter Moeda"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Converter valor de item para moeda base quando receber o estoque"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Completar automaticamente os pedidos de Compra"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Ativar senha esquecida"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Ativar a função \"Esqueci minha senha\" nas páginas de acesso"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Ativar cadastro"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Ativar auto-registro para usuários na página de entrada"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Ativar SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Ativar SSO na página de acesso"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Ativar registro SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Ativar auto-registro via SSO para usuários nas páginas de login"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Ativar sincronização de grupo SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Ativar sincronização de grupos do InvenTree com grupos fornecidos pelo IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Chave de grupo SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "O nome dos grupos reivindicam o atributo fornecido pelo IdP"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Mapa do grupo SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Um mapeamento de grupos de SSO para grupos locais de InvenTree. Se o grupo local não existir, será criado."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Remover grupos fora do SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Se os grupos atribuídos ao usuário devem ser removidos somente se eles não são o backend pelo IdP. Pois, essa configuração desabilitada pode causar problemas de segurança"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email obrigatório"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Exigir do usuário o e-mail no cadastro"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Auto-preencher usuários SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Enviar email duplo"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Ao se registrar, peça aos usuários duas vezes por seus e-mails"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Senha duas vezes"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "No registro pedir aos usuários duas vezes pela senha"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Domínios permitidos"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupo no cadastro"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Grupo ao qual novos usuários serão atribuídos ao registro. Se a sincronização de grupo SSO estiver ativada, este grupo só estará definido se nenhum grupo puder ser atribuído a partir do IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Forçar AMF"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Os usuários devem usar uma segurança multifatorial."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Verificar extensões na inicialização"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Verificar por atualizações de extensão"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Ativar verificações periódicas de atualizações para a extensão instalados"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Ativar integração URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Ativar extensão para adicionar rotas URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Ativar integração de navegação"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Ativar extensões para integrar à navegação"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Ativar integração com aplicativo"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Ativar extensões para adicionar aplicativos"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Ativar integração com agendas"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Ativar extensões para executar tarefas agendadas"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Ativar integração de eventos"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Ativar extensões para responder a eventos internos"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Ativar integração de interface"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Ativar extensões para integrar na interface do usuário"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Ativar integração com o e-mail"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Ativar extensão para processar e-mails de saída/entrada"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Ativar códigos de projeto"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Ativar códigos de projeto para rastrear projetos"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Ativar Histórico de Ações"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Ativar funcionalidade para gravação de níveis e valor de estoque históricos"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Excluir Locais Externos"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Excluir itens de estoque em locais externos dos cálculos do histórico de ações"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Período de contagem automática"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Número de dias entre gravação automática de histórico de estoque"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "Excluir entradas antigas do histórico do estoque"
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "Eliminar entradas no histórico de ações anteriores ao número especificado de dias"
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "Intervalo de Exclusão do Histórico"
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "Histórico de ações de estoque será excluído após um número especificado de dias"
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Exibir nomes completos dos usuários"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Exibir nomes completos dos usuários em vez de nomes de usuários"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "Exibir Perfis de Usuário"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "Exibir Perfis de Usuários em sua página de perfil"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Ativar Dados da Estação de Teste"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Ativar coleção de dados da estação de teste para resultados de teste"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Exibir nomes completos dos usuários"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Exibir nomes completos dos usuários em vez de nomes de usuários"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "Exibir Perfis de Usuário"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "Exibir Perfis de Usuários em sua página de perfil"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Ativar Dados da Estação de Teste"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Ativar coleção de dados da estação de teste para resultados de teste"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3800,7 +3845,7 @@ msgstr ""
#: common/setting/user.py:202
msgid "Enable spotlight navigation functionality"
-msgstr ""
+msgstr "Ativar a navegação do Spotlight"
#: common/setting/user.py:207
msgid "Navigation Icons"
@@ -3868,7 +3913,7 @@ msgstr "Salvar as últimas máquinas de impressão usadas para um usuário"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Todos os modelos"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "A peça está ativa"
msgid "Manufacturer is Active"
msgstr "Fabricante está ativo"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "A peça do Fornecedor está ativa"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "A peça interna está ativa"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "O fornecedor está Ativo"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Empresa"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Tem estoque"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Empresas"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Descrição da empresa"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Descrição da empresa"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Página Web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL do Site da empresa"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Número de telefone"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Número de telefone do contato"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Endereço de e-mail do contato"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Contato"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Ponto de contato"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link para informações externas da empresa"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Esta empresa está ativa?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "É um cliente"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Você vende itens para esta empresa?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "É fornecedor"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Você compra itens desta empresa?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "É fabricante"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Esta empresa fabrica peças?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Moeda padrão utilizada para esta empresa"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "CNPJ"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "CNPJ da empresa"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Endereço"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Endereços"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Selecione a Empresa"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Título do endereço"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Título descrevendo a entrada do endereço"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Endereço Principal"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Definir como endereço principal"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Linha 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Linha de endereço 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Linha 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Linha de endereço 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "CEP"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Cidade/Região"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Cidade CEP / região"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Estado/Provincia"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Estado ou Província"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "País"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "País do endereço"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Notas de envio por correio"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Notas para o envio da transportadora"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Notas de envio interno"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Notas de envio para uso interno"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link para as informações do endereço (externo)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Fabricante da peça"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Peça base"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Selecionar peça"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Selecionar fabricante"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "NPF"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Número de Peça do Fabricante"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Descrição da peça do fabricante"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Unidades de pacote devem ser maior que zero"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Fornecedor"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Selecione o fornecedor"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Unidade de reserva de estoque fornecedor"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Esta parte de fornecedor está ativa?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Selecionar peça do fabricante"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Descrição da peça fornecedor"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "preço base"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Taxa mínima (ex.: taxa de estoque)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Embalagem"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Embalagem de peças"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens individuais."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "múltiplo"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Pedido múltiplo"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Quantidade disponível do fornecedor"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Disponibilidade Atualizada"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Data da última atualização de dados disponíveis"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Parcelamento de Preço do Fornecedor"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Retorna a representação de cadeia de caracteres para o endereço primário. Esta propriedade existe para compatibilidade retroativa."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Moeda padrão utilizada para este fornecedor"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Nome da Empresa"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Em Estoque"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Ocorreu um erro ao exportar os dados"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "A extensão de exportação de dados retornou dados incorretos"
@@ -4318,119 +4367,119 @@ msgstr "Localizado"
msgid "Invalid status code"
msgstr "Código de status inválido"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Arquivo de dados"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Arquivo de dados para importar"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Colunas"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Categoria de modelo de destino para esta sessão de importação"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Status de importação"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Campos padrões"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Substituições de campo"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Campo de Filtros"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Alguns campos necessários não foram mapeados"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "A coluna já está mapeada a um campo de banco de dados"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "O campo já está mapeado para uma coluna de dados"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Mapeamento de coluna deve ser ligado a uma sessão de importação válida"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "A coluna não existe no arquivo de dados"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "O campo não existe no modelo de destino"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "O campo selecionado é somente leitura"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Importar Sessão"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Campo"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Coluna"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Índice de fileira"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Dados da linha original"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Erros"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Válido"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Número de cópias para cada rótulo"
msgid "Connected"
msgstr "Conectado"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Desconhecido"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Referência do Pedido"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Pendente"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Tem código do projeto"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Criado por"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Criado Antes"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Criado Após"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Tem Data Inicial"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Data Inicial Antes"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Data Inicial Após"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Tem Data Prevista"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Data Prevista Antes"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Data Prevista Antes"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Tem Preço"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Concluído Antes"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Concluído Após"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Pedido de Produção Vencido"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Pedido"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Pedido Completo"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Peça Interna"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Pedido pendente"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Concluído"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Possui Envio"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Pedido de Compra"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Pedido de Compra"
msgid "Sales Order"
msgstr "Pedido de Venda"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Preço Total"
msgid "Total price for this order"
msgstr "Preço total deste pedido"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Moeda do Pedido"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Este pedido está bloqueado e não pode ser modificado"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "O contato não corresponde à empresa selecionada"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Data inicial deve ser anterior à data limite"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Descrição do pedido (opcional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Selecione o código do projeto para este pedido"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link para página externa"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Data inicial"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Data de início programada para esta encomenda"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Data Prevista"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Data de emissão"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Dia que o pedido foi feito"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Usuário ou grupo responsável para este pedido"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Ponto de contato para este pedido"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Endereço da empresa para este pedido"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Referência do pedido"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Situação"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Estado do pedido"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Empresa da qual os itens estão sendo encomendados"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Referencia do fornecedor"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Código de referência do pedido fornecedor"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "recebido por"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Dia que o pedido foi concluído"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Destino"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Destino para os itens recebidos"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Fornecedor de peça deve corresponder a fornecedor da OC"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Quantidade deve ser um número positivo"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Cliente"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Empresa para qual os itens foi vendidos"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Situação do Pedido de Venda"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Referência do Cliente "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Código de Referência do pedido do cliente"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Data de envio"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "O pedido já está completo"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "O pedido já está cancelado"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Apenas um pedido aberto pode ser marcado como completo"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Pedido não pode ser concluído, pois, há envios incompletos"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "O pedido não pode ser concluído, pois, há alocações incompletas"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "O pedido não pode ser concluído, pois, há itens de linha incompletos"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "O pedido está bloqueado e não pode ser modificado"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Quantidade do item"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Referência do Item em Linha"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Observações do Item de Linha"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data limite para este item de linha (deixe em branco para usar a data limite do pedido)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Descrição do item de linha (opcional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Contexto adicional para esta linha"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Preço Unitário"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Item de linha de pedido de compra"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "A peça do fornecedor deve corresponder ao fornecedor"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Pedido de produção deve ser marcada como externa"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Os pedidos de produção só podem ser vinculados a partes de montagem"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Criar parte do pedido deve combinar a parte do item de linha"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Fornecedor da Peça"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Recebido"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Número de itens recebidos"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Preço de Compra"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Preço unitário de compra"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Pedido de produção externa para ser preenchida por este item de linha"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Linha Extra do Pedido de Compra"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Item de Linha de Pedido de Vendas"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Preço de Venda"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Preço de venda unitário"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Enviado"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Quantidade enviada"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Envio do Pedido de Venda"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Data do envio"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Data de Entrega"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Data da entrega do envio"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Verificado por"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Usuário que verificou este envio"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Envio"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Número do Envio"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Número de rastreio"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informação de rastreamento"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Quantidade alocada deve ser maior que zero"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Linha"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Item"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Copiar linhas"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Duplicar Pedido"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "ID do pedido inválido"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "O pedido não pode ser cancelado"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Mesclar Itens"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Código (SKU)"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Número Interno da Peça"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Nome Interno da Peça"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Código de barras"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Código de barras lido"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Código de barras já está em uso"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Itens Alocados"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Os seguintes números de série não estão disponíveis"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr "Rejeitado"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Categoria da Peça"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Categorias de Peça"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Local Padrão"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Local padrão para peças desta categoria"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Palavras-chave Padrão"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Palavras-chave padrão para peças nesta categoria"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ícone"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ícone (opcional)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Valor Padrão"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Valor Padrão do Parâmetro"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Peças"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Nome da peça"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "É um modelo"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Descrição da peça (opcional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Palavras-chaves"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Categoria da Peça"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Fornecedor padrão da peça"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Validade Padrão"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Validade (em dias) para itens do estoque desta peça"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Criação de Usuário"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Data"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Modelos de teste só podem ser criados para partes testáveis"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Obrigatório"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sub peça"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Itens de Estoque"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Estoque Total"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Estoque Inicial"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Atualizar"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Ignorar Linhas Inválidas"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Habilite essa opção para ignorar linhas inválidas"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "Expirou {abs(days_diff)} dias atrás"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} dias"
@@ -6732,108 +6865,108 @@ msgstr "Nenhuma ação especificada"
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nenhum resultado encontrado para os dados do código de barras"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Correspondência encontrada para dados de código de barras"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Modelo não suportado"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Código de barras corresponde ao item existente"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Opções"
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Estoque mínimo"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Estoque máximo"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Responsável"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Selecionar Responsável"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nome de usuário"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Primeiro Nome"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Primeiro nome do usuário"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Sobrenome"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Sobrenome do usuário"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Endereço de e-mail do usuário"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superusuário"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Somente um superusuário pode ajustar este campo"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Senha"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Senha do usuário"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "Você não tem permissão para criar usuários"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Sua conta foi criada."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Bem-vindo(a) ao InvenTree"
diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po
index 2600bc902b..6bb3f34253 100644
--- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -17,409 +17,392 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
+msgstr "Criteriul API final nu a fost găsit"
+
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr ""
-
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
-msgstr ""
+msgstr "Articolele trebuie să fie furnizate ca o listă"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
-msgstr ""
+msgstr "Listă de articole nevalidă furnizată"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
+#: InvenTree/api.py:458
+msgid "All filter must only be used with true"
+msgstr "Toate filtrele trebuie folosite doar cu adevărat"
#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
-msgid "All filter must only be used with true"
-msgstr ""
-
-#: InvenTree/api.py:473
msgid "No items match the provided criteria"
-msgstr ""
+msgstr "Niciun articol nu corespunde criteriilor furnizate"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
-msgstr ""
+msgstr "Nu sunt furnizate date"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "Acest câmp trebuie să fie unic."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Utilizatorul nu are permisiunea de a vedea acest model"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
-msgstr ""
+msgstr "E-mail (din nou)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
-msgstr ""
+msgstr "Confirmare adresă e-mail"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
-msgstr ""
+msgstr "Trebuie să tastați același e-mail de fiecare dată."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
-msgstr ""
+msgstr "Adresa de e-mail principală furnizată nu este validă."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Domeniul de e-mail furnizat nu este aprobat."
#: InvenTree/conversion.py:240
#, python-brace-format
msgid "Invalid unit provided ({unit})"
-msgstr ""
+msgstr "Unitate nevalidă furnizată ({unit})"
#: InvenTree/conversion.py:257
msgid "No value provided"
-msgstr ""
+msgstr "Nicio valoare furnizată"
#: InvenTree/conversion.py:284
#, python-brace-format
msgid "Could not convert {original} to {unit}"
-msgstr ""
+msgstr "Nu s-a putut converti {original} în {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
-msgstr ""
+msgstr "Cantitate furnizata nevalida"
#: InvenTree/exceptions.py:136
msgid "Error details can be found in the admin panel"
-msgstr ""
+msgstr "Detaliile de eroare pot fi găsite în panoul de administrare"
#: InvenTree/fields.py:146
msgid "Enter date"
-msgstr ""
+msgstr "Enter Date"
#: InvenTree/fields.py:169
msgid "Invalid decimal value"
-msgstr ""
+msgstr "Valoare zecimală nevalidă"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
-msgstr ""
+msgstr "Notițe"
#: InvenTree/format.py:166
#, python-brace-format
msgid "Value '{name}' does not appear in pattern format"
-msgstr ""
+msgstr "Valoarea '{name}' nu apare în formatul modelului"
#: InvenTree/format.py:177
msgid "Provided value does not match required pattern: "
-msgstr ""
+msgstr "Valoarea furnizată nu se potrivește cu modelul necesar: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
-msgstr ""
+msgstr "Nu se pot serializa mai mult de 1000 de elemente odată"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
-msgstr ""
+msgstr "Golire șir de numere de serie"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Număr de serie duplicat"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
-msgstr ""
+msgstr "Grup nevalid: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
-msgstr ""
+msgstr "Interval de grup {group} depășește cantitatea permisă ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
-msgstr ""
+msgstr "Niciun număr de serie găsit"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
-msgstr ""
+msgstr "Numărul unic de numere de serie ({n}) trebuie să corespundă cu cantitatea ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
-msgstr ""
+msgstr "Elimină tag-urile HTML din această valoare"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
-msgstr ""
+msgstr "Datele conţin conţinut de marcaje interzis"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
-msgstr ""
+msgstr "Eroare de conexiune"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
-msgstr ""
+msgstr "Serverul a răspuns cu un cod de stare invalid"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
-msgstr ""
+msgstr "Excepție apărută"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
-msgstr ""
+msgstr "Serverul a răspuns cu o valoare de Content-Length invalidă"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
-msgstr ""
-
-#: InvenTree/helpers_model.py:167
-msgid "Image download exceeded maximum size"
-msgstr ""
+msgstr "Dimensiunea imaginii este prea mare"
#: InvenTree/helpers_model.py:172
-msgid "Remote server returned empty response"
-msgstr ""
+msgid "Image download exceeded maximum size"
+msgstr "Descărcarea imaginii a depăşit dimensiunea maximă"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:177
+msgid "Remote server returned empty response"
+msgstr "Serverul la distanță a returnat un răspuns gol"
+
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
-msgstr ""
+msgstr "URL-ul furnizat nu este un fișier imagine valid"
#: InvenTree/magic_login.py:31
msgid "Log in to the app"
-msgstr ""
+msgstr "Conectați-vă la aplicație"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
-msgstr ""
+msgstr "E-mail"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
-msgstr ""
+msgstr "Trebuie să activați autentificarea cu doi factori înainte de a face orice altceva."
#: InvenTree/models.py:114
msgid "Error running plugin validation"
-msgstr ""
+msgstr "Eroare la rularea validării plugin-ului"
#: InvenTree/models.py:195
msgid "Metadata must be a python dict object"
-msgstr ""
+msgstr "Metadata trebuie să fie un obiect dict python"
#: InvenTree/models.py:201
msgid "Plugin Metadata"
-msgstr ""
+msgstr "Metadatele plugin"
#: InvenTree/models.py:202
msgid "JSON metadata field, for use by external plugins"
-msgstr ""
+msgstr "Câmp de metadate JSON pentru utilizare de plugin-uri externe"
#: InvenTree/models.py:385
msgid "Improperly formatted pattern"
-msgstr ""
+msgstr "Model formatat incorect"
#: InvenTree/models.py:392
msgid "Unknown format key specified"
-msgstr ""
+msgstr "Format necunoscut cheie specificat"
#: InvenTree/models.py:398
msgid "Missing required format key"
-msgstr ""
+msgstr "Lipseste cheia de format"
#: InvenTree/models.py:409
msgid "Reference field cannot be empty"
-msgstr ""
+msgstr "Câmpul de referință nu poate fi gol"
#: InvenTree/models.py:417
msgid "Reference must match required pattern"
-msgstr ""
+msgstr "Referința trebuie să corespundă modelului necesar"
#: InvenTree/models.py:448
msgid "Reference number is too large"
-msgstr ""
+msgstr "Numărul de referință este prea mare"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
-msgstr ""
+msgstr "Alegere invalidă"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
-msgstr ""
+msgstr "Nume"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
-msgstr ""
+msgstr "Descriere"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
-msgstr ""
+msgstr "Descriere (opțional)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
-msgstr ""
+msgstr "Cale"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
-msgstr ""
+msgstr "Duplicate nume nu poate exista sub acelaşi părinte"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
-msgstr ""
+msgstr "Note Markdown (opțional)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
-msgstr ""
+msgstr "Date Cod de Bare"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
-msgstr ""
+msgstr "Date coduri de bare terțe"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
-msgstr ""
+msgstr "Date Cod de Bare"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
-msgstr ""
+msgstr "Hash unic al codului de bare"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
-msgstr ""
+msgstr "Cod de bare existent găsit"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
-msgstr ""
+msgstr "Eroare de server"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
-msgstr ""
+msgstr "A fost înregistrată o eroare de către server."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
-msgstr ""
+msgstr "Imagine"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
-msgstr ""
+msgstr "Trebuie sa fie un număr valid"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
-msgstr ""
+msgstr "Monedă"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
-msgstr ""
+msgstr "Selectați moneda din opțiunile disponibile"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Acest câmp nu poate fi null."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
-msgstr ""
+msgstr "Valoare invalidă"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
-msgstr ""
+msgstr "Imagini de la distanţă"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
-msgstr ""
+msgstr "URL-ul imaginii la distanţă"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
-msgstr ""
+msgstr "Descărcarea imaginilor din URL-ul de la distanţă nu este activată"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
-msgstr ""
+msgstr "Descărcarea imaginii din URL-ul de la distanță a eșuat"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Format de tip de conținut nevalid"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Tipul de conținut nu a fost găsit"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Tipul de conținut nu se potrivește cu mixin necesar clasei"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
-msgstr ""
+msgstr "Arabic"
#: InvenTree/setting/locales.py:21
msgid "Bulgarian"
-msgstr ""
+msgstr "Bulgară"
#: InvenTree/setting/locales.py:22
msgid "Czech"
-msgstr ""
+msgstr "Cehă"
#: InvenTree/setting/locales.py:23
msgid "Danish"
-msgstr ""
+msgstr "Daneză"
#: InvenTree/setting/locales.py:24
msgid "German"
-msgstr ""
+msgstr "Germană"
#: InvenTree/setting/locales.py:25
msgid "Greek"
-msgstr ""
+msgstr "Greacă"
#: InvenTree/setting/locales.py:26
msgid "English"
-msgstr ""
+msgstr "Engleză"
#: InvenTree/setting/locales.py:27
msgid "Spanish"
-msgstr ""
+msgstr "Spaniolă"
#: InvenTree/setting/locales.py:28
msgid "Spanish (Mexican)"
-msgstr ""
+msgstr "Spaniolă (Mexican)"
#: InvenTree/setting/locales.py:29
msgid "Estonian"
@@ -427,156 +410,156 @@ msgstr "Estonă"
#: InvenTree/setting/locales.py:30
msgid "Farsi / Persian"
-msgstr ""
+msgstr "Farsi / persană"
#: InvenTree/setting/locales.py:31
msgid "Finnish"
-msgstr ""
+msgstr "Finlandeză"
#: InvenTree/setting/locales.py:32
msgid "French"
-msgstr ""
+msgstr "Franceză"
#: InvenTree/setting/locales.py:33
msgid "Hebrew"
-msgstr ""
+msgstr "Ebraică"
#: InvenTree/setting/locales.py:34
msgid "Hindi"
-msgstr ""
+msgstr "Hindi"
#: InvenTree/setting/locales.py:35
msgid "Hungarian"
-msgstr ""
+msgstr "Maghiară"
#: InvenTree/setting/locales.py:36
msgid "Italian"
-msgstr ""
+msgstr "Italiană"
#: InvenTree/setting/locales.py:37
msgid "Japanese"
-msgstr ""
+msgstr "Japoneză"
#: InvenTree/setting/locales.py:38
msgid "Korean"
-msgstr ""
+msgstr "Coreeană"
#: InvenTree/setting/locales.py:39
msgid "Lithuanian"
-msgstr ""
+msgstr "Lituaniană"
#: InvenTree/setting/locales.py:40
msgid "Latvian"
-msgstr ""
+msgstr "Letonă"
#: InvenTree/setting/locales.py:41
msgid "Dutch"
-msgstr ""
+msgstr "Olandeză"
#: InvenTree/setting/locales.py:42
msgid "Norwegian"
-msgstr ""
+msgstr "Norvegiană"
#: InvenTree/setting/locales.py:43
msgid "Polish"
-msgstr ""
+msgstr "Poloneză"
#: InvenTree/setting/locales.py:44
msgid "Portuguese"
-msgstr ""
+msgstr "Portugheză"
#: InvenTree/setting/locales.py:45
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Portugheză (braziliană)"
#: InvenTree/setting/locales.py:46
msgid "Romanian"
-msgstr ""
+msgstr "Română"
#: InvenTree/setting/locales.py:47
msgid "Russian"
-msgstr ""
+msgstr "Rusă"
#: InvenTree/setting/locales.py:48
msgid "Slovak"
-msgstr ""
+msgstr "Slovacă"
#: InvenTree/setting/locales.py:49
msgid "Slovenian"
-msgstr ""
+msgstr "Slovenă"
#: InvenTree/setting/locales.py:50
msgid "Serbian"
-msgstr ""
+msgstr "Sârbă"
#: InvenTree/setting/locales.py:51
msgid "Swedish"
-msgstr ""
+msgstr "Suedeză"
#: InvenTree/setting/locales.py:52
msgid "Thai"
-msgstr ""
+msgstr "Thai"
#: InvenTree/setting/locales.py:53
msgid "Turkish"
-msgstr ""
+msgstr "Turcă"
#: InvenTree/setting/locales.py:54
msgid "Ukrainian"
-msgstr ""
+msgstr "Ucraineană"
#: InvenTree/setting/locales.py:55
msgid "Vietnamese"
-msgstr ""
+msgstr "Vietnameză"
#: InvenTree/setting/locales.py:56
msgid "Chinese (Simplified)"
-msgstr ""
+msgstr "Chineză (simplificată)"
#: InvenTree/setting/locales.py:57
msgid "Chinese (Traditional)"
-msgstr ""
+msgstr "Chineză (tradițională)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
-msgstr ""
+msgstr "Actualizare disponibilă"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
-msgstr ""
+msgstr "O actualizare pentru InvenTree este disponibilă"
#: InvenTree/validators.py:28
msgid "Invalid physical unit"
-msgstr ""
+msgstr "Unitate fizică nevalidă"
#: InvenTree/validators.py:34
msgid "Not a valid currency code"
-msgstr ""
+msgstr "Nu este un cod valutar valid"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
-msgstr ""
+msgstr "Starea comenzii"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
-msgstr ""
+msgstr "Construcție părinte"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
-msgstr ""
+msgstr "İnclude variante"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,434 +568,443 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/email/part_event_notification.html:15
#: templates/email/stale_stock_notification.html:17
msgid "Part"
-msgstr ""
+msgstr "Piesă"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
-msgstr ""
+msgstr "Categorie"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
-msgstr ""
+msgstr "Ancestor Build"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
-msgstr ""
+msgstr "Alocate mie"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
-msgstr ""
+msgstr "Atribuit către"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
-msgstr ""
+msgstr "Creat înainte de"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
-msgstr ""
+msgstr "Creat după"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
-msgstr ""
+msgstr "Are data de începere"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
-msgstr ""
+msgstr "Data de început înainte de"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
-msgstr ""
+msgstr "Data de incepere după"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
-msgstr ""
+msgstr "Are dată țintă"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
-msgstr ""
+msgstr "Data de început înainte de"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
-msgstr ""
+msgstr "Data de incepere după"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
-msgstr ""
+msgstr "Finalizat înainte de"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
-msgstr ""
+msgstr "Finalizat după"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
-msgstr ""
+msgstr "Dată min"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
-msgstr ""
+msgstr "Dată maximă"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
-msgstr ""
+msgstr "Exclude arbore"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
-msgstr ""
+msgstr "Construcția trebuie anulată înainte de a putea fi ștearsă"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
-msgstr ""
+msgstr "Consumabile"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
-msgstr ""
+msgstr "Opţional"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
-msgstr ""
+msgstr "Asamblate"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
-msgstr ""
+msgstr "Urmarit"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
-msgstr ""
+msgstr "Testabilă"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
-msgstr ""
+msgstr "Comandă restantă"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
-msgstr ""
+msgstr "Alocate"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
-msgstr ""
+msgstr "Consumat"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
-msgstr ""
+msgstr "Disponibil"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
+msgstr "Pe comandă"
+
+#: build/api.py:671
+msgid "Build not found"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
-msgstr ""
+msgstr "Comenzi de Producție"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
-msgstr ""
+msgstr "Locatie"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
-msgstr ""
+msgstr "Ieșire"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
-msgstr ""
+msgstr "Filtrează după ID-ul elementelor de ieșire din stoc. Utilizați \"null\" pentru a găsi elemente de construcție dezinstalate."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Comenzi de Producție"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
-msgstr ""
+msgstr "BOM-ul nu a fost validată"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
-msgstr ""
+msgstr "Comandă de producție nu poate fi creată pentru piesa inactiva"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
-msgstr ""
-
-#: build/models.py:201
-msgid "Build orders can only be externally fulfilled for purchaseable parts"
-msgstr ""
-
-#: build/models.py:208 order/models.py:370
-msgid "Responsible user or group must be specified"
-msgstr ""
+msgstr "Comandă de producție nu poate fi creată pentru piesa deblocată"
#: build/models.py:213
+msgid "Build orders can only be externally fulfilled for purchaseable parts"
+msgstr "Comenzile de producție pot fi îndeplinite extern doar pentru piesele achiziționabile"
+
+#: build/models.py:220 order/models.py:373
+msgid "Responsible user or group must be specified"
+msgstr "Utilizator sau grup responsabil trebuie specificat"
+
+#: build/models.py:225
msgid "Build order part cannot be changed"
-msgstr ""
+msgstr "Piesa din comanda de producție nu poate fi schimbata"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
-msgstr ""
+msgstr "Data țintă trebuie să fie după data de început"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
-msgstr ""
+msgstr "Referință comandă producție"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
#: report/templates/report/inventree_sales_order_report.html:28
msgid "Reference"
-msgstr ""
+msgstr "Referinţă"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
-msgstr ""
+msgstr "Scurtă descriere a construcției (opțional)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr ""
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr "Comanda de producție pentru care această construcție este alocată"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
-msgstr ""
+msgstr "Selectează piesa pentru construit"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
-msgstr ""
+msgstr "Referință comandă de vânzare"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr ""
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Comanda de vânzare pentru care această construcție este alocată"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
-msgstr ""
-
-#: build/models.py:296
-msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr ""
-
-#: build/models.py:302
-msgid "External Build"
-msgstr ""
-
-#: build/models.py:303
-msgid "This build order is fulfilled externally"
-msgstr ""
+msgstr "Locație sursă"
#: build/models.py:308
-msgid "Destination Location"
-msgstr ""
+msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
+msgstr "Selectați locația de unde se va prelua stocul pentru această producție (lăsați câmpul necompletat pentru a prelua stocul din orice locație)"
-#: build/models.py:313
-msgid "Select location where the completed items will be stored"
-msgstr ""
+#: build/models.py:314
+msgid "External Build"
+msgstr "Construcție externă"
-#: build/models.py:317
-msgid "Build Quantity"
-msgstr ""
+#: build/models.py:315
+msgid "This build order is fulfilled externally"
+msgstr "Această comandă de producție este îndeplinită extern"
#: build/models.py:320
+msgid "Destination Location"
+msgstr "Locul destinației"
+
+#: build/models.py:325
+msgid "Select location where the completed items will be stored"
+msgstr "Selectaţi locaţia unde vor fi stocate elementele complete"
+
+#: build/models.py:329
+msgid "Build Quantity"
+msgstr "Cantitatea construirii"
+
+#: build/models.py:332
msgid "Number of stock items to build"
-msgstr ""
+msgstr "Numărul de articole de stoc pentru producție"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
-msgstr ""
+msgstr "Articole finalizate"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
-msgstr ""
+msgstr "Numărul de articole din stoc care au fost finalizate"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
-msgstr ""
+msgstr "Stare producției"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
-msgstr ""
+msgstr "Cod status producție"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
-msgstr ""
+msgstr "Cod lot"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
-msgstr ""
+msgstr "Cod de lot pentru această producție"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
-msgstr ""
+msgstr "Data creării"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
-msgstr ""
+msgstr "Data începerii construcției"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
-msgstr ""
+msgstr "Data de început programată pentru această comandă de construcție"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
-msgstr ""
+msgstr "Data finalizării țintă"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
+msgstr "Data țintă pentru finalizarea construcției. Construcția va fi depășită după această dată."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
-msgstr ""
+msgstr "Data completării"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
-msgstr ""
+msgstr "finalizat până la"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
-msgstr ""
+msgstr "Emis de"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
-msgstr ""
+msgstr "Utilizatorul care a emis această comandă de producție"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
-msgstr ""
-
-#: build/models.py:400
-msgid "User or group responsible for this build order"
-msgstr ""
-
-#: build/models.py:405 stock/models.py:1093
-msgid "External Link"
-msgstr ""
-
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
-msgid "Link to external URL"
-msgstr ""
+msgstr "Responsabil"
#: build/models.py:412
-msgid "Build Priority"
-msgstr ""
+msgid "User or group responsible for this build order"
+msgstr "Utilizatorul sau grupul responsabil pentru această comandă de producție"
-#: build/models.py:415
-msgid "Priority of this build order"
-msgstr ""
+#: build/models.py:417 stock/models.py:1100
+msgid "External Link"
+msgstr "Link extern"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
-msgid "Project Code"
-msgstr ""
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
+msgid "Link to external URL"
+msgstr "Link către URL-ul extern"
#: build/models.py:424
+msgid "Build Priority"
+msgstr "Prioritate de construire"
+
+#: build/models.py:427
+msgid "Priority of this build order"
+msgstr "Prioritatea acestei comenzi de producție"
+
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
+msgid "Project Code"
+msgstr "Cod proiect"
+
+#: build/models.py:436
msgid "Project code for this build order"
-msgstr ""
+msgstr "Cod de proiect pentru această comandă de construcție"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
-msgstr ""
+msgstr "Nu se poate finaliza construcția comenzii cu versiuni deschise"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
-msgstr ""
+msgstr "Nu se poate completa comanda de producție cu rezultate incomplete"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
-msgstr ""
+msgstr "Nu s-a putut descărca sarcina pentru a finaliza alocarea construcției"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
-msgstr ""
+msgstr "A fost finalizată o comandă de producție {build}"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
-msgstr ""
+msgstr "A fost finalizată o comandă de producție"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
-msgstr ""
+msgstr "Numerele de serie trebuie furnizate pentru piesele urmăribile"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
-msgstr ""
+msgstr "Nu este specificată nicio ieșire de producție"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
-msgstr ""
+msgstr "Construcția este deja finalizată"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
-msgstr ""
+msgstr "Construcția nu se potrivește cu Comanda de producție"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
-msgstr ""
+msgstr "Cantitatea trebuie să fie mai mare decât zero"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
-msgstr ""
+msgstr "Cantitatea nu poate fi mai mare decât cantitatea de ieşire"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
-msgstr ""
+msgstr "Construcția nu a trecut toate testele necesare"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
-msgstr ""
+msgstr "Construcția {serial} nu a trecut toate testele necesare"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Stocurile alocate sunt încă în producţie"
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
-msgstr ""
+msgstr "Nu se poate finaliza parțial o construcție cu elemente alocate"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
-msgstr ""
+msgstr "Element linie comandă de producție"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
-msgstr ""
+msgstr "Construiește obiectul"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
-msgstr ""
+msgstr "Cantitate"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
-msgstr ""
+msgstr "Cantitatea necesară pentru comanda de producție"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
-msgstr ""
+msgstr "Cantitatea de stoc consumată"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
-msgstr ""
+msgstr "Articolul contruit trebuie să specifice o ieșire de construcție, deoarece piesa principală este marcată ca urmăribilă."
-#: build/models.py:1784
-#, python-brace-format
-msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
-msgstr ""
-
-#: build/models.py:1805 order/models.py:2547
-msgid "Stock item is over-allocated"
-msgstr ""
-
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
+#: build/models.py:1951
msgid "Selected stock item does not match BOM line"
-msgstr ""
+msgstr "Articolul din stoc selectat nu se potrivește cu linia BOM"
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
-#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
-msgid "Stock Item"
-msgstr ""
-
-#: build/models.py:1966
-msgid "Source stock item"
-msgstr ""
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "Cantitatea alocată trebuie să fie mai mare decât zero"
#: build/models.py:1976
-msgid "Stock quantity to allocate to build"
-msgstr ""
-
-#: build/models.py:1985
-msgid "Install into"
-msgstr ""
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Cantitatea trebuie sa fie 1 pentru stoc serializat"
#: build/models.py:1986
+#, python-brace-format
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr "Cantitate alocata ({q}) nu trebuie sa depaseasca cantitatea disponibila de stoc ({a})"
+
+#: build/models.py:2003 order/models.py:2556
+msgid "Stock item is over-allocated"
+msgstr "Articolul din stoc este supra alocat"
+
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
+#: report/templates/report/inventree_sales_order_shipment_report.html:29
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
+msgid "Stock Item"
+msgstr "Articol Stoc"
+
+#: build/models.py:2093
+msgid "Source stock item"
+msgstr "Locație articol stoc"
+
+#: build/models.py:2103
+msgid "Stock quantity to allocate to build"
+msgstr "Cantitatea de stoc alocată pentru construcție"
+
+#: build/models.py:2112
+msgid "Install into"
+msgstr "Instalează în"
+
+#: build/models.py:2113
msgid "Destination stock item"
-msgstr ""
+msgstr "Destinație articol in stoc"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
-msgstr ""
+msgstr "Nivel de construcție"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
-msgstr ""
+msgstr "Numele Piesei"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
-msgstr ""
+msgstr "Rezultat de construcție"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
-msgstr ""
+msgstr "Producția nu corespunde cu producția-mamă"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "Componenta de ieșire nu corespunde componentei din comanda de producție"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
-msgstr ""
+msgstr "Această producție este deja finalizată"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
-msgstr ""
+msgstr "Această producție nu este alocată integral"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
-msgstr ""
+msgstr "Introduceți cantitatea pentru producția de ieșire"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
-msgstr ""
+msgstr "Număr de serie"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
-msgstr ""
+msgstr "Nu este permisă"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
-msgstr ""
+msgstr "Acceptați nealocat"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
-msgstr ""
+msgstr "Acceptați Incomplet"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
-msgstr ""
+msgstr "Linie de construcție"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
-msgstr ""
+msgstr "Rezultatul construirii"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
-msgstr ""
+msgstr "Locația stocului de unde vor fi procurate piesele (lăsați necompletat pentru a prelua piesele din orice locație)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
+msgstr "Nume piesă BOM"
+
+#: build/serializers.py:1242
+msgid "Install Into"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
-msgstr ""
+msgstr "Producție"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
-msgstr ""
+msgstr "Nume Categorie Piesă"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
-msgstr ""
+msgstr "În Producţie"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
-msgstr ""
+msgstr "Stoc extern"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
-msgstr ""
+msgstr "Stoc disponibil"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
-msgstr ""
+msgstr "Stoc de înlocuire disponibil"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1458,83 +1462,87 @@ msgstr ""
#: generic/states/tests.py:131 order/status_codes.py:12
#: order/status_codes.py:44 order/status_codes.py:76 order/status_codes.py:102
msgid "Pending"
-msgstr ""
+msgstr "În așteptare"
#: build/status_codes.py:12
msgid "Production"
-msgstr ""
+msgstr "Producție"
#: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:51
#: order/status_codes.py:81
msgid "On Hold"
-msgstr ""
+msgstr "Suspendat"
#: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:53
#: order/status_codes.py:84
msgid "Cancelled"
-msgstr ""
+msgstr "Anulat"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
-msgstr ""
+msgstr "Finalizat"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
-msgstr ""
+msgstr "Comandă de producție restantă"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
-msgstr ""
+msgstr "Comanda de producție {bo} este în întârziere"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Etichetă Cod Proiect"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
-msgstr ""
+msgstr "Descrierea proiectului"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
-msgstr ""
+msgstr "Utilizatorul sau grupul responsabil pentru acest proiect"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
-msgstr ""
+msgstr "Valoarea nu trece verificările de validare"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
-msgstr ""
+msgstr "Utilizator"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
-msgstr ""
+msgstr "Preț"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
-msgstr ""
+msgstr "Preț unitar la cantitatea specificată"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
-msgstr ""
+msgstr "Punct final"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
-msgstr ""
+msgstr "Punctul final la care acest webhook este primit"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
-msgstr ""
+msgstr "Nume pentru acest webhook"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
-msgstr ""
-
-#: common/models.py:1419
-msgid "Is this webhook active"
-msgstr ""
-
-#: common/models.py:1435 users/models.py:172
-msgid "Token"
-msgstr ""
+msgstr "Activ"
#: common/models.py:1436
+msgid "Is this webhook active"
+msgstr "Este acest webhook activ"
+
+#: common/models.py:1452 users/models.py:172
+msgid "Token"
+msgstr "Token-ul"
+
+#: common/models.py:1453
msgid "Token for access"
-msgstr ""
+msgstr "Token pentru acces"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
-msgstr ""
+msgstr "Secret"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
-msgstr ""
+msgstr "Host"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
-msgstr ""
+msgstr "Host de la care acest mesaj a fost primit"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
-msgstr ""
+msgstr "Id-ul"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
-msgstr ""
+msgstr "Titlu"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
-msgstr ""
+msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
-msgstr ""
+msgstr "Publicată"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
-msgstr ""
+msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
-msgstr ""
+msgstr "Rezumat"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
-msgstr ""
-
-#: common/models.py:1735
-msgid "Was this news item read?"
-msgstr ""
+msgstr "Citit"
#: common/models.py:1752
-msgid "Image file"
-msgstr ""
+msgid "Was this news item read?"
+msgstr "A fost citită această știre?"
-#: common/models.py:1764
+#: common/models.py:1769
+msgid "Image file"
+msgstr "Fișier imagine"
+
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
-msgstr ""
+msgstr "Unitate personalizată"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
-msgstr ""
+msgstr "Numele unității trebuie să fie un identificator valid"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
-msgstr ""
+msgstr "Numele unității"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
-msgid "Comment"
-msgstr ""
-
-#: common/models.py:1998
-msgid "Attachment comment"
-msgstr ""
-
#: common/models.py:2014
-msgid "Upload date"
-msgstr ""
+msgid "Comment"
+msgstr "Comentariu"
#: common/models.py:2015
+msgid "Attachment comment"
+msgstr "Comentariu atașament"
+
+#: common/models.py:2031
+msgid "Upload date"
+msgstr "Data încărcării"
+
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
-msgstr ""
+msgstr "Numele statului"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
-msgstr ""
+msgstr "Descrierea listei de selecție"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
-msgstr ""
+msgstr "Descrierea parametrului"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
-msgstr ""
+msgstr "Numele acțiunii"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
-msgstr ""
+msgstr "Nume funcție"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
-msgstr ""
+msgstr "Nume fișier"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
-msgstr ""
+msgstr "Nume Instanţă Server"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
-msgstr ""
+msgstr "Utilizaţi numele instanţei"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
-msgstr ""
+msgstr "Denumire companie"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
-msgstr ""
+msgstr "Versiune Componente"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
-msgstr ""
+msgstr "Șablon Cod lot"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
-msgstr ""
+msgstr "Șablon pentru generarea codurilor de lot implicite pentru elementele de stoc"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
-msgstr ""
+msgstr "Necesită Titularul Responsabil"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
-msgstr ""
+msgstr "Titularul responsabil trebuie să fie atribuit fiecărei comenzi"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Comenzi externe de producție"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
-msgstr ""
+msgstr "Blochează până la trecerea testelor"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
-msgstr ""
+msgstr "Previne ca ieșirile de construcție să fie finalizate până când toate testele necesare trec"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
-msgstr ""
+msgstr "Comenzile de vânzare marcate ca expediate vor fi finalizate automat, ocolind starea \"expediate\""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
-msgstr ""
+msgstr "Activează parola uitată"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
-msgstr ""
+msgstr "Activare parolă uitată funcție pe paginile de autentificare"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
-msgstr ""
+msgstr "Parola de două ori"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
-msgstr ""
+msgstr "La înscriere, cere de două ori parola lor"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Afișează numele complet al utilizatorilor în loc de nume de utilizator"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Afișează numele complet al utilizatorilor în loc de nume de utilizator"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
-msgstr ""
+msgstr "Descrierea Companiei"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
-msgstr ""
+msgstr "Descrierea companiei"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
-msgstr ""
+msgstr "Descrierea piesei de la producător"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
-msgid "Supplier part description"
+msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
+msgid "Supplier part description"
+msgstr "Descrierea piesei furnizorului"
+
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
-msgstr ""
+msgstr "Id comandă"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
-msgstr ""
+msgstr "Descrierea comenzii (opțional)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr "Utilizatorul sau grupul responsabil pentru această comandă de producție"
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
-msgstr ""
+msgstr "Descrierea elementului de rând (opțional)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
-msgstr ""
+msgstr "Introduceți codul lotului pentru articolele din stoc primite"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
-msgstr ""
+msgstr "Este versiune"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
-msgstr ""
+msgstr "Are Versiuni"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
-msgstr ""
+msgstr "Descrierea piesei (opțional)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
-msgstr ""
+msgstr "Versiunea"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
-msgstr ""
+msgstr "Este aceasta parte o versiune a unei alte părți?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
-msgstr ""
+msgstr "Versiune Din"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
-msgstr ""
+msgstr "Responsabil pentru acest capitol"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
-msgstr ""
+msgstr "Descriere test"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
-msgstr ""
+msgstr "Introduceți descrierea pentru acest test"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
-msgstr ""
+msgstr "Este necesar acest test pentru a trece?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
-msgstr ""
+msgstr "Versiunea"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "Descrierea piesei"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6943,7 +7076,7 @@ msgstr ""
#: plugin/base/ui/serializers.py:49
msgid "Feature Description"
-msgstr ""
+msgstr "Descrierea funcției"
#: plugin/base/ui/serializers.py:54
msgid "Feature Icon"
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7036,7 +7169,7 @@ msgstr ""
#: plugin/builtin/events/auto_issue_orders.py:32
msgid "Automatically issue build orders on the assigned target date"
-msgstr ""
+msgstr "Eliberarea automată a comenzilor de producție la data țintă atribuită"
#: plugin/builtin/events/auto_issue_orders.py:38
msgid "Auto Issue Purchase Orders"
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -7860,11 +7993,11 @@ msgstr ""
#: report/models.py:223
msgid "Template description"
-msgstr ""
+msgstr "Descrierea șablonului"
#: report/models.py:229
msgid "Revision number (auto-increments)"
-msgstr ""
+msgstr "Număr versiune (creșteri automate)"
#: report/models.py:235
msgid "Attach to Model on Print"
@@ -7969,7 +8102,7 @@ msgstr ""
#: report/models.py:816
msgid "Snippet file description"
-msgstr ""
+msgstr "Descrierea detaliată a fișierului"
#: report/models.py:834
msgid "Asset"
@@ -7981,7 +8114,7 @@ msgstr ""
#: report/models.py:842
msgid "Asset file description"
-msgstr ""
+msgstr "Descriere fișier Asset"
#: report/serializers.py:95
msgid "Select report template"
@@ -8043,7 +8176,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_report.html:152
msgid "Issued By"
-msgstr ""
+msgstr "Emis de"
#: report/templates/report/inventree_purchase_order_report.html:15
msgid "Supplier was deleted"
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8084,7 +8217,7 @@ msgstr ""
#: report/templates/report/inventree_sales_order_shipment_report.html:47
#: templates/email/stale_stock_notification.html:20
msgid "Batch"
-msgstr ""
+msgstr "Lot"
#: report/templates/report/inventree_stock_location_report.html:97
msgid "Stock location items"
@@ -8097,14 +8230,14 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:111
#: report/templates/report/inventree_test_report.html:167
msgid "Serial"
-msgstr ""
+msgstr "Serie"
#: report/templates/report/inventree_test_report.html:97
msgid "Test Results"
@@ -8116,7 +8249,7 @@ msgstr ""
#: report/templates/report/inventree_test_report.html:129
msgid "Pass"
-msgstr ""
+msgstr "Ok"
#: report/templates/report/inventree_test_report.html:131
msgid "Fail"
@@ -8130,501 +8263,525 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
-msgstr ""
+msgstr "Proprietar"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
-msgstr ""
+msgstr "Codul lotului pentru acest element din stoc"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
#: stock/serializers.py:85
msgid "Generated batch code"
-msgstr ""
+msgstr "Cod lot generat"
#: stock/serializers.py:94
msgid "Select build order"
@@ -8632,15 +8789,15 @@ msgstr ""
#: stock/serializers.py:103
msgid "Select stock item to generate batch code for"
-msgstr ""
+msgstr "Selectați articolul din stoc pentru a genera codul de lot"
#: stock/serializers.py:112
msgid "Select location to generate batch code for"
-msgstr ""
+msgstr "Selectaţi locaţia pentru a genera codul de lot pentru"
#: stock/serializers.py:121
msgid "Select part to generate batch code for"
-msgstr ""
+msgstr "Selectați articolul pentru a genera codul de lot pentru"
#: stock/serializers.py:130
msgid "Select purchase order"
@@ -8648,7 +8805,7 @@ msgstr ""
#: stock/serializers.py:137
msgid "Enter quantity for batch code"
-msgstr ""
+msgstr "Introduceți cantitatea pentru codul de lot"
#: stock/serializers.py:163
msgid "Generated serial number"
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Nume utilizator"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Prenumele"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Prenumele utilizatorului"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
-msgstr ""
+msgstr "Parolă"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
-msgstr ""
+msgstr "Parolă pentru utilizator"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
-msgstr ""
+msgstr "Suprascrie avertismentul cu privire la regulile parolei"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
-msgstr ""
+msgstr "Vă rugăm să utilizați funcția de resetare a parolei pentru a vă autentifica"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
index 5cbd8c8ad0..1dfad47fbb 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Конечная точка API не обнаружена"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Список элементов или фильтров должен быть указан для массовых операций"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Элементы должны быть представлены в виде списка"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Предоставлен недопустимый список элементов"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Фильтры должны быть предоставлены в виде словаря"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Не верные фильтры"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Все фильтры будут использоваться с параметром True"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Нет элементов, соответствующих заданным критериям"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Данные не предоставлены"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "Поле должно быть уникальным."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "У пользователя недостаточно прав для просмотра этой модели!"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (еще раз)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Подтверждение адреса электронной почты"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Вы должны вводить один и тот же адрес электронной почты."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Указанный основной адрес электронной почты неверен."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Указанный домен электронной почты не утверждён."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Невозможно преобразовать {original} в {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
@@ -112,13 +104,13 @@ msgstr "Введите дату"
msgid "Invalid decimal value"
msgstr "Не верное десятичное значение"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Заметки"
@@ -131,75 +123,75 @@ msgstr "Значение '{name}' отсутствует в формате ша
msgid "Provided value does not match required pattern: "
msgstr "Предоставленное значение не соответствует требуемому формату: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Одновременно можно сериализовать только 1000 элементов"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Пустая строка серийного номера"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Повторяющийся серийный номер"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Недопустимая группа: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Диапазон группы {group} превышает допустимое количество ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Серийных номеров не найдено"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Количество уникальных серийных номеров ({n}) должно быть равно ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Удалить HTML теги из этого значения"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Данные содержат недопустимую разметку"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Ошибка соединения"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Сервер ответил неверным кодом статуса"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Произошло исключение"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Сервер ответил неверным значением Контент-Длина"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Изображение слишком большое"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Загрузка изображения превышен максимальный размер"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Удаленный сервер вернул пустой ответ"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Предоставленный URL не является допустимым файлом изображения"
@@ -207,11 +199,11 @@ msgstr "Предоставленный URL не является допусти
msgid "Log in to the app"
msgstr "Войти в приложение"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Электронная почта"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Вы должны включить двухфакторную аутентификацию, прежде чем делать что-нибудь еще."
@@ -255,135 +247,126 @@ msgstr "Ссылка должна соответствовать шаблону
msgid "Reference number is too large"
msgstr "Номер ссылки слишком большой"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Название"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Описание"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Описание (необязательно)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Путь"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Записи о скидке (необязательно)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Данные штрихкода"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Данные стороннего штрих-кода"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Хэш штрих-кода"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Уникальный хэш данных штрих-кода"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Обнаружен существующий штрих-код"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Задача не удалась"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Фоновый процесс '{f}' после {n} попыток завершился с ошибкой"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Ошибка сервера"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Сервер зарегистрировал ошибку."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Изображение"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Валюта"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Выберите валюту из доступных вариантов"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Это поле не может быть пустым."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Неверное значение"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Удаленное изображение"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "ССЫЛКА файла изображения на удаленном сервере"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Загрузка изображений с удаленного URL-адреса не включена"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Не удалось загрузить изображение из URL адреса"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Неверный формат типа содержимого"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "Тип содержимого не найден"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "Тип содержимого не соответствует требуемому классу миксина"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Китайский (Упрощенный)"
msgid "Chinese (Traditional)"
msgstr "Китайский (Традиционный)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Доступно обновление"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "Доступно обновление для InvenTree"
@@ -553,30 +536,30 @@ msgstr "Неверная физическая единица"
msgid "Not a valid currency code"
msgstr "Неверный код валюты"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Статус заказа"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Родительский заказ на производство"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Включая варианты"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Включая варианты"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Включая варианты"
msgid "Part"
msgstr "Деталь"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Категория"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Родительская сборка"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Назначено мне"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Назначено"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Создано до"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Создано после"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Есть дата начала"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Дата начала до"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Дата начала после"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Есть целевая дата"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Целевая дата до"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Целевая дата после"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Завершено до"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Завершено после"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "Минимальная дата"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Максимальная дата"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Исключить дерево"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Заказ на производство должен быть отменен перед удалением"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Расходник"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Необязательно"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Сборная деталь"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Отслеживается"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Тестируемая"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Невыполненные заказы"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Зарезервировано"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Потреблено"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Доступно"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "В заказе"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Заказ на производство"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Расположение"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Выход"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "Фильтрация по идентификатору исходящей складской позиции. Используйте 'null', чтобы найти несмонтированные элементы сборки."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Заказы на производство"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Сборка BOM не подтверждена"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Порядок сборки не может быть создан для неактивной части"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Порядок сборки не может быть создан для разблокированной части"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "Заказ на сборку может быть помечен сторонним только для покупных деталей"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Должен быть указан ответственный пользователь или группа"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Деталь заказа на производства не может быть изменена"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Целевая дата должна быть после даты начала"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Ссылка на заказ на производство"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Ссылка на заказ на производство"
msgid "Reference"
msgstr "Номер"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Краткое описание заказа на производство (необязательно)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr "Заказ на производство, которому принадлежит этот заказ на производство"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Выберите деталь для производства"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr "Заказ на продажу, которому принадлежит этот заказ на производство"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Место хранения комплектующих"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "Сторонняя сборка"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "Этот заказ на сборку выполнен сторонней компанией"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Место хранения результата"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Выберите место хранения завершенных элементов"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Количество производимых деталей"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Количество складских позиций для производства"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Произведенные детали"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Количество складских позиций, которые были произведены"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Статус заказа на производство"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Код статуса заказа на производство"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Код партии"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Код партии для продукции"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Дата создания"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "Дата начала сборки"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "Запланированная начальная дата этого заказа на сборку"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Целевая дата завершения"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Дата завершения"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Создано"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Пользователь, создавший этот заказ на производство"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Ответственный"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Пользователь, ответственный за этот заказ на производство"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Внешняя ссылка"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Приоритет производства"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Приоритет этого заказа на производство"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Код проекта"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Код проекта для этого заказа на производство"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Невозможно завершить заказ на сборку при наличии открытых дочерних сборок"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Невозможно завершить заказ на сборку при незавершенных выходах"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Не удалось выгрузить задачу для распределения на сборку"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Заказ на производство {build} был завершен"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Заказ на производство был завершен"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Для отслеживаемых деталей должны быть указаны серийные номера"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Продукция не указана"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Продукция уже произведена"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Продукция не совпадает с заказом на производство"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Количество не может быть больше количества продукции"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "Выход сборки не прошёл все необходимые тесты"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Сборка {serial} не прошла все необходимые тесты"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Выделенные на складе товары все еще находятся в производстве"
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr "Невозможно частично завершить выход сборки с распределёнными элементами"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Номер позиции для производства"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Объект производства"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Объект производства"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Количество"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Требуемое количество для заказа на производство"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Количество израсходованного запаса"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Выбранная складская позиция не соответствует позиции в BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "Резервируемое количество должно быть больше нуля"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Количество должно быть 1 для сериализованных запасов"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Складская позиция перераспределена"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Резервируемое количество должно быть больше нуля"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Количество должно быть 1 для сериализованных запасов"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Выбранная складская позиция не соответствует позиции в BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Выделенное количество превышает доступный запас"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Складская позиция"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Исходная складская позиция"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Количество на складе для производства"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Установить в"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Целевая складская позиция"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Уровень сборки"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Наименование детали"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Название кода проекта"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Выход Продукции"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Продукция не совпадает с родительским заказом на производство"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Продукция не соответствует детали заказа на производство"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Эта продукция уже помечена как завершенная"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Сырье для этой продукции не полностью зарезервировано"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Введите количество продукции"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Серийные номера"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Введите серийные номера для продукции"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Местоположение склада для результата сборки"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Автоматически выделить серийные номера"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Следующие серийные номера уже существуют или недействительны"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Необходимо представить список выхода деталей"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Место хранения для списанной продукции"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Отменить резервирование"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Отменить все резервы запасов для списанной продукции"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Причина списания продукции"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Место хранения для завершенной продукции"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Разрешить неполное резервирование"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Завершить продукцию, даже если остатки не были полностью зарезервированы"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Израсходовать зарезервированные остатки"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Израсходовать складские позиции, которые были зарезервированы для этой продукции"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Удалить незавершенную продукцию"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Удалить всю незавершенную продукцию"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Запрещено"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Принять как поглощенный этим заказом на производство"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Отменить резерв, до завершения заказа на производство"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Перераспределенные запасы"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Некоторые складские позиции были перераспределены"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Разрешить не полное резервирование"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Необходимые запасы не были полностью зарезервированы"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Разрешить незавершенные производимые детали"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Допустить, что требуемое кол-во продукции не завершено"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Требуемое количество деталей не было произведено"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Производственный заказ имеет незавершённые дочерние заказы"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Заказ на производство должен быть в стадии выполнения"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Заказ на производство имеет незавершенную продукцию"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Позиция для производства"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Выход продукции"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Продукция должна указывать на тот же производство"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Позиция для производства"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Элемент должен быть в наличии"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Превышено доступное количество ({q})"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Продукция должна быть указан для резервирования отслеживаемых частей"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Необходимо указать резервируемые элементы"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Исключить место хранения"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Исключить складские позиции из этого выбранного места хранения"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Обменный остаток"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Заменить остатки"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Разрешить резервирование замещающих деталей"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Необязательные элементы"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Зарезервировать необязательные позиции BOM для заказа на производство"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Не удалось запустить задачу автораспределения"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Ссылка на спецификацию (BOM)"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID детали в спецификации (BOM)"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Название детали в спецификации (BOM)"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "Установить в"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Сборка"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Деталь поставщика"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Зарезервированное количество"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Ссылка на сборку"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Название категории детали"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Отслеживание"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Унаследованные"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Есть варианты"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Позиция BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "В производстве"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "Запланировано к сборке"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Внешний склад"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Доступный запас"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Доступный запас заменителей"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Доступный запас вариантов"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "Потреблённое количество превышает выделенное количество"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Дополнительные примечания по расходу запаса"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "Элемент сборки должен ссылаться на правильный заказ на сборку"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "Дублирование выделения элемента сборки"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "Строка сборки должна ссылаться на правильный заказ на сборку"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "Дублирование выделения строки сборки"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "Должен быть указан хотя бы один элемент или строка"
@@ -1474,67 +1478,71 @@ msgstr "Отложен"
msgid "Cancelled"
msgstr "Отменён"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Завершён"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Необходимый запас для заказа на производство"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Заказ на сборку {build} требует дополнительный запас"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Просроченный заказ сборки"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Заказ на производство {bo} просрочен"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Ссылка"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Файл"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "У пользователя нет прав для удаления этих вложений"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "У пользователя нет прав на удаление этого вложения"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Неверный код валюты"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Код валюты дублируется"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Не указаны действительные коды валют"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Нет плагина"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Название кода проекта"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Обновлено"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Временная метка последнего обновления"
@@ -1546,778 +1554,778 @@ msgstr "Обновлено"
msgid "User who last updated this object"
msgstr "Пользователь, последний раз обновивший этот объект"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Уникальный код проекта"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Описание проекта"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Пользователь или группа, ответственные за этот проект"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Ключ настроек"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Значения настроек"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Выбранное значение не является допустимым"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Значение должно быть булевым"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Значение должно быть целым числом"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Значение должно быть допустимым числом"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Значение не прошло проверку"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Строка ключа должна быть уникальной"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Пользователь"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Скидка распространяется на заданное количество"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Цена"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Цена за единицу для указанного количества"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Конечная точка"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Конечная точка, на которой принимается этот веб-хук"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Имя для этого веб-хука"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Активный"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Этот веб-хук активен?"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Токен"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Токен для доступа"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Секрет"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Общий ключ для HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID Сообщения"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Уникальный идентификатор этого сообщения"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Хост"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Хост, с которого было получено это сообщение"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Заголовок"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Заголовок этого сообщения"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Тело"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Текст этого сообщения"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Конечная точка, на которую было получено это сообщение"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Работал над"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Работа над этим сообщением завершена?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Код"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Заголовок"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Ссылка"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Опубликовано"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Автор"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Итого"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Читать"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Эта новость была прочитана?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Файл изображения"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Тип целевой модели для этого изображения"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "ID целевой модели для этого изображения"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Пользовательская единица измерения"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Символ единицы должен быть уникальным"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Имя единицы должно быть действительным идентификатором"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Название единицы"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Символ"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Обозначение единицы измерения (необязательно)"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Определение"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Определение единицы измерения"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Вложения"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Файл не найден"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Тип модели"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "Тип целевой модели для изображения"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Комментарий"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Описание вложения"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Дата загрузки"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Дата загрузки файла"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Размер файла"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Размер файла в байтах"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Указан недопустимый тип модели для вложения"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Пользовательское состояние"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Пользовательские состояния"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Группа статусов"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Группа статусов, которая будет дополнена пользовательским состоянием"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Логическое состояние"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Логическое состояние, соответствующее пользовательскому состоянию в бизнес-логике"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Значение"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Числовое значение, которое будет сохранено в базе данных"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Название состояния"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Метка"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Метка, которая будет отображаться на фронтенде"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Цвет"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Цвет отображения в интерфейсе"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Модель"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Модель, с которой связано это состояние"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Необходимо выбрать модель"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Необходимо выбрать ключ"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Логическое состояние должно быть выбрано"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Ключ должен отличаться от логического ключа"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Должен быть указан корректный класс ссылочного статуса"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Состояние должно отличаться от других логических состояний выбранного статуса"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Логическое состояние должно быть из множества логических состояний выбранного статуса"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Имя должно отличаться от имен эталонного статуса"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Список выбора"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Списки выбора"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Название списка выбора"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Описание списка выбора"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Заблокирована"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Этот список выбора заблокирован?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Можно ли использовать этот список выбора?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Исходный плагин"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Плагин, который предоставляет список выбора"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Исходная строка"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Необязательная строка, определяющая источник, используемый для этого списка"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Запись по умолчанию"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Вариант по умолчанию для этого списка выбора"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Создано"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Дата и время создания списка выбора"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Последнее обновление"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Дата и время последнего обновления списка выбора"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Вариант списка выбора"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Варианты списка выбора"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Список выбора, к которому относится данный вариант"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Значение варианта списка выбора"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Метка для элемента списка выбора"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Описание варианта списка выбора"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Активен ли варианта списка выбора?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Шаблоны параметров"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "У параметров-переключателей не может быть единицы измерения"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "У параметров-переключателей не может быть вариантов"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Варианты должны быть уникальными"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Имя шаблона параметров должно быть уникальным"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Тип целевой модели для этого шаблона параметра"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Название параметра"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Единица измерения"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Физическая единица этого параметра"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Описание параметра"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Переключатель"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Этот параметр является переключателем?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Варианты"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Возможные варианты этого параметра (разделить запятой)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Список выбора для этого параметра"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Включено"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Включен ли этот шаблон параметра?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Параметр"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Параметры"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Недопустимое значение параметра"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Указан неверный тип модели для параметра"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "ID модели"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "ID целевой модели для этого параметра"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Шаблон"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Шаблон параметра"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Данные"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Значение параметра"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Заметка"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Опциональное поле записей"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Сканирование штрихкодов"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Данные штрихкода"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Пользователь, который сканировал штрих-код"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Метка времени"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Дата и время сканирования штрих-кода"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "URL-адрес, обработавший штрихкод"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Контекст"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Контекстные данные для сканирования штрих-кода"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Ответ"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Данные ответа от сканирования штрихкода"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Результат"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Сканирование штрихкода было успешным?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Произошла ошибка"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8: Удаление журнала электронной почты защищено. Установите INVENTREE_PROTECT_EMAIL_LOG в False, чтобы разрешить удаление."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "Сообщение электронной почты"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "Сообщения электронной почты"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Объявлено"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Отправлено"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Неудача"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Доставлено"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Подтверждено"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Входящее"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Исходящее"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Без ответа"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Отслеживать доставку"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Отслеживать прочтение"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Отслеживать клики"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "Глобальный идентификатор"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Идентификатор этого сообщения (может быть предоставлен внешней системой)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "ID цепочки"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Идентификатор темы этого сообщения (может быть предоставлен внешней системой)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Цепочка"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Связанная цепочка для этого сообщения"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr "Приоритет"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "Цепочка электронной почты"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "Цепочки электронной почты"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Ключ"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Уникальный ключ для этой цепочки (используется для идентификации цепочки)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Уникальный идентификатор этой цепочки"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Запущено внутренне"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Эта цепочка была начата внутри?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Дата и время создания цепочки"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Дата и время последнего обновления цепочки"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} отменен"
msgid "A order that is assigned to you was canceled"
msgstr "Заказ, назначенный вам, был отменён"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Полученные элементы"
@@ -2351,93 +2359,101 @@ msgstr "Товары были получены по заказу на закуп
msgid "Items have been received against a return order"
msgstr "Товары были получены по заказу на возврат"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Показывает, если изменение этой настройки требует подтверждения"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Этот параметр требует подтверждения перед изменением. Пожалуйста, подтвердите изменения."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Указывает, переопределена ли настройка переменной окружения"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Переопределить"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Запущен"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Ожидающие задачи"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Запланированные задания"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Невыполненные Задачи"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Код задачи"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Уникальный ID задачи"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Заблокировать"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Время блокировки"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Название задачи"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Функция"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Имя функции"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Аргументы"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Аргументы задачи"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Именованные аргументы"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Именованные аргументы задачи"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Имя файла"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Тип модели"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Пользователь не имеет разрешения создавать или редактировать вложения для этой модели"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "У пользователя нет разрешения на создание или редактирование параметров для этой модели"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Список выбора заблокирован"
@@ -2445,1128 +2461,1157 @@ msgstr "Список выбора заблокирован"
msgid "No group"
msgstr "Нет группы"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "URL сайта заблокирован настройками"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Требуется перезапуск"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Настройки были изменены, что требует перезапуска сервера"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Ожидаемые миграции"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Количество ожидаемых миграций базы данных"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Активные коды предупреждений"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Словарь активных кодов предупреждений"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "Идентификатор экземпляра"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Уникальный идентификатор для этого экземпляра InvenTree"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "ID объявления"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "Сообщить ID экземпляра сервера в информации о состоянии сервера (без аутентификации)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Название сервера"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Текстовое описание сервера"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Название инстанса"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Имя сервера в заголовке"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Ограничить отображение `О...`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Показать `О...` только суперпользователям"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Название компании"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Внутреннее название компании"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Базовая ссылка"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Базовая ссылка для экземпляра сервера"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Валюта по умолчанию"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Выберите базовую валюту для расчета цены"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Поддерживаемые валюты"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Список поддерживаемых кодов валют"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Интервал обновления курса валют"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "дней"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Плагин обновления валют"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Модуль обновления валюты"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Скачать по ссылке"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Ограничение размера загрузки"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Максимально допустимый размер загрузки для удалённого изображения"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-Agent, используемый для загрузки из URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Строгая проверка URL-адреса"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Требуется спецификация схемы при проверке URL-адресов"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Интервал проверки обновлений"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Автоматическое резервное копирование"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Интервал резервного копирования"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Укажите количество дней между событиями автоматического резервного копирования"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Интервал удаления задачи"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Результаты фоновых задач будут удалены после указанного количества дней"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Интервал удаления журнала ошибок"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Журналы ошибок будут удалены после указанного количества дней"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Интервал удаления уведомления"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Уведомления пользователя будут удалены после указанного количества дней"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "Интервал удаления электронной почты"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "Сообщения электронной почты будут удалены через указанное количество дней"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "Защитить журнал электронной почты"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "Предотвращать удаление записей журнала электронной почты"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Поддержка штрих-кодов"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Сохранять результаты сканирования штрихкодов"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Сохранять результаты сканирования штрихкодов в базе данных"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Максимальное количество сохранённых сканирований штрихкодов"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Максимальное число результатов сканирования штрихкодов для хранения"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Задержка сканирования штрих-кода"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Время задержки обработки штрих-кода"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Поддержка веб-камер штрих-кодов"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Показать данные штрих-кода"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Отображать данные штрих-кода в браузере в виде текста"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Плагин генерации штрих-кода"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Плагин для использования внутренней генерации данных штрих-кодов"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Ревизия детали"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Включить поле ревизии для элемента"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Только ревизия сборки"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Разрешить ревизии только для сборочных деталей"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Разрешить удаление из заказа"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Разрешить удаление частей, которые используются в заказе"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Регулярное выражение IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Шаблон регулярного выражения для сопоставления IPN детали"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Разрешить повторяющиеся IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Разрешить нескольким элементам использовать один и тот же IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Разрешить редактирование IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Разрешить изменение значения IPN при редактировании детали"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Скопировать данные BOM детали"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Копировать данные BOM по умолчанию при дублировании детали"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Скопировать данные параметров детали"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Копировать данных параметров по умолчанию при дублировании детали"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Скопировать данные тестирования детали"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Копировать данные тестирования по умолчанию при дублировании детали"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Скопировать параметры по шаблону категории"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Копировать параметры по шаблону категории при создании детали"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "По умолчанию детали могут быть собраны из других компонентов"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Компонент"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Можно купить"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Можно продавать"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Детали продаются по умолчанию"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Виртуальная"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Детали являются виртуальными по умолчанию"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Показывать связанные детали"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Отображать связанные детали для элемента"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Начальные данные о запасах"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Разрешить создание начального запаса при добавлении новой детали"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Исходные данные о поставщике"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Разрешить создание исходных данных о поставщике при добавлении новой детали"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Формат отображения детали"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Формат для отображения имени детали"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Значок раздела по умолчанию"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Минимальные Цены Десятичные Значки"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Минимальное количество десятичных знаков при отображении данных о ценах"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Макс. Цены десятичные знаки"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Минимальное количество десятичных знаков при отображении данных о ценах"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Использовать цены поставщика"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Включить разницу цен поставщиков при расчетах цен"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Изменить историю покупки"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Ценообразование по историческим заказам на поставку отменяет различия в ценах поставщиков"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Использовать цены из складских позиций"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Возраст цен складских позиций"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Использовать варианты цен"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Включить разницу цен поставщиков при расчетах цен"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Только Активные Варианты"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Использовать только активные запчасти для расчета стоимости варианта"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "Автоматическое обновление цен"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "Автоматически обновлять цены деталей при изменении внутренних данных"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Интервал пересчета цен"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Количество дней до автоматического обновления цены"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Внутренние цены"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Разрешить внутренние цены для частей"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Переопределение внутренней цены"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "При наличии внутренних цен переопределить ценовой диапазон"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Включить печать этикеток"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Включить печать этикеток из веб-интерфейса"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Изображение меток DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Включить отчеты"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Включить генерацию отчетов"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Режим отладки"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Генерировать отчеты в режиме отладки (вывод HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Журнал ошибок отчета"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Журнал ошибок, которые возникают при создании отчетов"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Размер страницы"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Размер страницы по умолчанию для PDF отчетов"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Принудительное применение единиц измерения параметров"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Глобально уникальные серийные номера"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Серийные номера для складских позиций должны быть уникальными глобально"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Удалить исчерпанный запас"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Код партии Шаблона"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Срок годности Запасов"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Включить функцию истечения срока годности"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Использовать просроченные остатки в производстве"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Разрешить продажу просроченных запасов"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Время Залежалости Запасов"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Количество дней перед тем как складская единица будет считаться просроченной"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Использовать просроченные остатки в производстве"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Разрешить использовать просроченные остатки в производстве"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Контроль за собственными запасами"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Значок местоположения по умолчанию"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Показать установленные складские позиции"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Отображать установленные складские позиции в складских таблицах"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Проверять спецификацию при установке изделий"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Разрешить передачу товара, отсутствующего на складе"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Разрешить перемещение товаров, которых нет на складе, между складами"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Паттерн ссылки заказа на производство"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Поле требуемого паттерна для создания ссылки заказа на производство"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Требуется ответственный владелец"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Ответственный владелец должен быть назначен для каждого заказа"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Требовать активную деталь"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Запрещать создание заказов на сборку для неактивных деталей"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Требовать заблокированную деталь"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Запрещать создание заказов на сборку для разблокированных деталей"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Требовать валидную спецификацию"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Запрещать создание заказов на сборку, пока спецификация не будет подтверждена"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Требовать закрытия дочерних заказов"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Запрещать завершение заказа на сборку, пока не закрыты все дочерние заказы"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "Сторонний заказ на сборку"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "Включить функциональность сторонних заказов на сборку"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Блокировать до прохождения тестов"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Запретить вывод сборки до тех пор, пока не пройдут все необходимые тесты"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Включить заказы на возврат"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Включите функцию заказа на возврат в пользовательском интерфейсе"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Шаблон заказа на возврат товара"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Необходимый шаблон для создания поля «Возврат заказа»"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Редактировать завершенные возвратные заказы"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Разрешить редактирование возвращенных заказов после их завершения"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Шаблон заказа на возврат товара"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Необходимый шаблон для создания поля «Возврат заказа»"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Отгрузка по умолчанию для заказа на продажу"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Включить создание отгрузки по умолчанию для заказов на продажу"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Редактирование завершённых заказов на продажу"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Разрешить редактирование заказов на продажу после их отправки или завершения"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr "Отгрузка требует проверки"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr "Запрещать завершение отгрузок, пока товары не проверены"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Отмечать отправленные заказы как завершённые"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Заказы на продажу, помеченные как отгруженные, будут автоматически завершены, минуя статус 'отгружено'"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Шаблон ссылки заказа на закупку"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Требуемый шаблон для генерации поля ссылки заказа на закупку"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Редактировать завершённые заказы на закупку"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Разрешить редактирование заказов после их отправки или завершения"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "Конвертировать валюту"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "Преобразовывать стоимость товара в базовую валюту при поступлении на склад"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Автоматически выполнять заказы на закупку"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Автоматически отмечать заказы на закупку как завершённые при получении всех позиций"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Включить функцию восстановления пароля"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Включить функцию восстановления пароля на странице входа"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Разрешить регистрацию"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Включить самостоятельную регистрацию пользователей на странице входа"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Включить SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Включить SSO на странице входа"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Включить регистрацию через SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Включить самостоятельную регистрацию пользователей через SSO на странице входа"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Включить синхронизацию групп через SSO"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Включить синхронизацию групп InvenTree с группами, предоставляемыми IdP"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "Ключ группы SSO"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Имя атрибута группы, предоставленного провайдером идентификации"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Отображение групп SSO"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Отображение от групп SSO к локальным группам InvenTree. Если локальная группа не существует, она будет создана."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Удалять группы вне SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Удалять ли группы, назначенные пользователю, если они не поддерживаются провайдером идентификации. Отключение этой настройки может привести к проблемам безопасности"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Требовать электронную почту при регистрации"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Автозаполнение пользователей SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Автоматически заполнять данные пользователя из аккаунта SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Написать дважды"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "При регистрации дважды спрашивать адрес электронной почты"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Пароль дважды"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "При регистрации запросить пароль у пользователей дважды"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Разрешенные домены"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Ограничить регистрацию определёнными доменами (через запятую, начиная с @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Группа при новой регистрации"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Группа, на которую назначаются новые пользователи при регистрации. Если включена синхронизация группы SSO, эта группа задается только в том случае, если ни одна группа не может быть назначена через IdP."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Принудительное MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Пользователи должны использовать многофакторную безопасность."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Включение этой настройки потребует от всех пользователей настройки многофакторной аутентификации. Все сессии будут отключены немедленно."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Проверять плагины при запуске"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Проверять, что все плагины установлены при запуске — включать в контейнерных средах"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Проверка обновлений плагинов"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Включить периодическую проверку обновлений установленных плагинов"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Включить интеграцию URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Разрешить плагинам добавлять маршруты URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Включить интеграцию навигации"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Разрешить плагинам интегрироваться в навигацию"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Включить интеграцию приложений"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Разрешить плагинам добавлять приложения"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Включить интеграцию расписаний"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Разрешить плагинам запускать запланированные задачи"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Включить интеграцию событий"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Разрешить плагинам реагировать на внутренние события"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Включить интеграцию интерфейса"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Разрешить плагинам интегрироваться в пользовательский интерфейс"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "Включить интеграцию почты"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "Разрешить плагинам обрабатывать исходящую и входящую почту"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "Включить коды проекта"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "Включить коды проекта для отслеживания проектов"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "Включить историю запасов"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr "Включить инвентаризацию"
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "Включить функцию записи истории уровней и стоимости запасов"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Исключить сторонний склад"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "Исключать складские позиции во внешних локациях из расчёта истории запасов"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr "Исключить из инвентаризации единицы хранения на внешних складах"
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Автоматический период инвентаризации"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "Количество дней между автоматическими записями истории запасов"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr "Кол-во дней между автоматических записей инвентаризации"
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr "Удалять устаревшие записи инвентаризаций"
+
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr "Удалять записи инвентаризаций старше N дней"
+
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr "Частота удаления записей инвентаризаций"
+
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr "Записи инвентаризации будут удалены после N дней"
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
msgstr "Удалять старые записи истории запасов"
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
msgstr "Удалять записи истории запасов старше указанного количества дней"
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
msgstr "Интервал удаления истории запасов"
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
msgstr "Записи истории запасов будут удалены через указанное количество дней"
-#: common/setting/system.py:1123
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "Показывать полные имена пользователей"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "Отображать полные имена пользователей вместо логинов"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "Отображать профили пользователей"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "Отображать профили пользователей на их странице профиля"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "Добавлять данные об испытательном оборудовании"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "Добавлять данные об испытательном оборудовании в результаты тестирования"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
msgstr "Включить пинг машин"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr "Включить периодическую задачу пинга зарегистрированных машин для проверки их статуса"
@@ -3596,11 +3641,11 @@ msgstr "Отображение PDF-этикетки в браузере вмес
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Сканирование штрих-кодов в формах"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Разрешить ввод со сканера штрихкодов в поля формы"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3868,7 +3913,7 @@ msgstr "Сохранять последние использованные пе
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Все модели"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3911,366 +3956,370 @@ msgstr "Деталь активна"
msgid "Manufacturer is Active"
msgstr "Производитель активен"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Поставляемая деталь активна"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Внутренняя деталь активна"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Поставщик активен"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Производитель"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Компания"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Есть запас"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Компании"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Описание компании"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Описание компании"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Сайт"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Сайт компании"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Телефон"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Контактный телефон"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Электронная почта контакта"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Контакт"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Контактное лицо"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Эта компания активна?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Покупатель"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Является ли компания покупателем?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Поставщик"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Является ли компания поставщиком деталей?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Производитель"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "Налоговый идентификатор"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "Налоговый идентификатор компании"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Адрес"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Адреса"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Выберите компанию"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Заголовок адреса"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Заголовок, описывающий запись адреса"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Основной адрес"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Указать основным адресом"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Строка 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Адресная строка 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Строка 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Адресная строка 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Почтовый индекс"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Город/Регион"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Почтовый индекс, город/регион"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Регион/Область"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Штат или провинция"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Страна"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Страна адреса"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Записи отправления"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Записи для курьера"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Внутренние записи отправления"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Записи отправления для внутреннего пользования"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Ссылка на адресную информацию (внешняя)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Производитель детали"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Базовая деталь"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Выберите деталь"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Выберите производителя"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "Артикул производителя"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Артикул производителя"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "Ссылка на сайт производителя"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Описание детали производителя"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Единицы измерения упаковки должны быть совместимы с единицами базовой детали"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Единицы упаковки должны быть больше нуля"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Поставщик"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Выберите поставщика"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Артикул поставщика"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Является ли эта поставляемая деталь активной?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Выберите производителя части"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "Ссылка на сайт поставщика"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Описание детали поставщика"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "базовая стоимость"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Минимальная плата (например, складская)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Упаковка"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Упаковка детали"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Количество в упаковке"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Общее количество, поставляемое в одной упаковке. Оставьте пустым для отдельных элементов."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "множественные"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Кратность заказа"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Количество, доступное у поставщика"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Доступность обновлена"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Дата последнего обновления данных о доступности"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Ценовой порог поставщика"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "Возвращает строковое представление основного адреса. Это свойство существует для обратной совместимости."
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Валюта по умолчанию для этого поставщика"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Название компании"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "На складе"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr "Ценовые пороги"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "Произошла ошибка при экспорте данных"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "Плагин экспорта данных вернул неправильный формат данных"
@@ -4318,119 +4367,119 @@ msgstr "Оформлен"
msgid "Invalid status code"
msgstr "Недопустимый код статуса"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Файл данных"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Файл с данными импорта"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Столбцы"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "Целевой тип модели для этой сессии импорта"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Статус импорта"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Значения по умолчанию"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Переопределения полей"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Фильтры полей"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "Обновлять существующие записи"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "Если включено, существующие записи будут обновлены новыми данными"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Некоторые обязательные поля не были сопоставлены"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "Существующий идентификатор записи в базе данных"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Колонка уже сопоставлена с полем базы данных"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Поле уже сопоставлено с колонкой данных"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Сопоставление столбцов должно быть связано с корректным сеансом импорта"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Колонка не существует в файле данных"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Поле не существует в целевой модели"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Выбранное поле доступно только для чтения"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Сессия импорта"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Поле"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Колонка"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Номер строки"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Исходные данные строки"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Ошибки"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Корректный"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "Для обновления существующих записей требуется ID."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "Запись с указанным ID не найдена"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "Указан недействительный формат ID"
@@ -4530,7 +4579,7 @@ msgstr "Количество копий для печати каждой эти
msgid "Connected"
msgstr "Подключен"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Неизвестно"
@@ -4658,105 +4707,117 @@ msgstr "Максимальный прогресс"
msgid "Maximum value for progress type, required if type=progress"
msgstr "Максимальное значение для типа прогресса, требуется, если тип=progress"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Ссылка на заказ"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Невыполненный"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Есть код проекта"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Создал"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Создано до"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Создано после"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "Есть дата начала"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "Дата начала до"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "Дата начала после"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "Есть целевая дата"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Целевая дата до"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Целевая дата после"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Имеет цену"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Завершено до"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Завершено после"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "Сторонний заказ на сборку"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Заказ"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Заказ выполнен"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Внутренняя деталь"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Заказ в ожидании"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Завершённые"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Есть отгрузка"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Заказ на закупку"
msgid "Sales Order"
msgstr "Заказ на продажу"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Общая стоимость"
msgid "Total price for this order"
msgstr "Общая стоимость этого заказа"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Валюта заказа"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Валюта заказа (оставьте пустым для использования валюты по умолчанию для компании)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "Этот заказ заблокирован и не может быть изменён"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Контакт не соответствует выбранной компании"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "Дата начала должна быть до целевой даты"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr "Адрес не соответствует выбранной компании"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Описание заказа (дополнительно)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Выберите код проекта для этого заказа"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Ссылка на внешнюю страницу"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Начальная дата"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "Запланированная начальная дата этого заказа"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Целевая дата"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Ожидаемая дата доставки заказа. После этой даты заказ будет считаться просроченным."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Дата создания"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Дата выдачи заказа"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Пользователь или группа, ответственная за этот заказ"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Контактное лицо по данному заказу"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Адрес компании по этому заказу"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Ссылка на заказ"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Статус"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Статус заказа на закупку"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Компания, в которой детали заказываются"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Номер у поставщика"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Номер заказа у поставщика"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "получил"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Дата завершения заказа"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Место хранения"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Место хранения для полученных позиций"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Поставщик детали должен совпадать с поставщиком заказа на закупку"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Позиция не соответствует заказу на закупку"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "В позиции отсутствует связанная деталь"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Количество должно быть положительным числом"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Покупатель"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Компания, которой детали продаются"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Статус заказа на продажу"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Ссылка клиента"
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Код ссылки на заказ клиента"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Дата отгрузки"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "Отправлено"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Заказ уже выполнен"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Заказ уже отменен"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Только открытый заказ может быть отмечен как завершённый"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Заказ не может быть завершён, так как есть незавершённые отгрузки"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Заказ не может быть завершён, так как есть незавершённые распределения"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Заказ не может быть завершён, так как есть незавершённые позиции"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "Заказ заблокирован и не может быть изменён"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Количество"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Номер позиции"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Записи о позиции"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Целевая дата этой позиции (оставьте пустой, чтобы использовать целевую дату заказа)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Описание позиции (необязательно)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Дополнительный контекст для этой строки"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Цена за единицу"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Позиция заказа на закупку"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Поставляемая деталь должна соответствовать поставщику"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "Заказ на сборку должен быть отмечен как внешний"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "Заказы на сборку могут быть связаны только со сборочными деталями"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "Деталь заказа на сборку должна соответствовать детали позиции"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Деталь поставщика"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Получено"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Количество полученных предметов"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Закупочная цена"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Закупочная цена"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "Внешний заказ на сборку, который будет выполнен этой позицией"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Дополнительная позиция заказа на закупку"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Позиция заказа на продажу"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Только продаваемые детали могут быть назначены заказу на продажу"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Цена продажи"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Цена последней продажи"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Доставлен"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Отгруженное кол-во"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Отгрузка заказа на продажу"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr "Адрес отгрузки должен соответствовать клиенту"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr "Адрес доставки для этой отгрузки"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Дата отправления"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Дата доставки"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Дата доставки отгрузки"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Проверн"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Пользователь, проверивший эту отгрузку"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Отправление"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Номер отправления"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Номер отслеживания"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Информация об отслеживании доставки"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Номер счета"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Номер ссылки на связанную накладную"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Отгрузка уже отправлена"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Отправка не имеет зарезервированных складских позиций"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr "Отгрузка должна быть проверена, прежде чем её можно завершить"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Дополнительная позиция заказа на продажу"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Распределение заказа на продажу"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Складская позиция не была назначена"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Невозможно распределить запас к позиции без детали"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Количество распределения не может превышать количество на складе"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Резервируемое количество должно быть больше нуля"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Количество должно быть 1 для сериализированных складских позиций"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Заказ на продажу не соответствует отгрузке"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Отгрузка не соответствует заказу на продажу"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Строка"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Ссылка на отгрузку заказа на продажу"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Элемент"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Выберите складскую позицию для резервирования"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Укажите резервируемое количество"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Ссылка на заказ на возврат"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Компания, из которой возвращаются товары"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Статус заказа на возврат"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Позиция заказа на возврат"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Необходимо указать складской элемент"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Количество возврата превышает количество на складе"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Количество возврата должно быть больше нуля"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Недопустимое количество для серийного складского элемента"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Выберите позицию, возвращаемую от клиента"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Дата получения"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Дата получения этого возвращаемого предмета"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr "Дата возврата"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Результат"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Результат для этой позиции"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Стоимость, связанная с возвратом или ремонтом этой позиции"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Дополнительная позиция заказа на возврат"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID заказа"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID заказа для дублирования"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Копировать позиции"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Копировать позиции из исходного заказа"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Копировать дополнительные позиции"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Копировать дополнительные позиции из исходного заказа"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Скопировать параметры"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Позиции"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Завершённые позиции"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Дублировать заказ"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Указать параметры для дублирования этого заказа"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Недействительный ID заказа"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Имя поставщика"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Заказ не может быть отменён"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Разрешить закрывать заказ с незавершёнными позициями"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "В заказе есть незавершённые позиции"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Заказ не открыт"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Автоматическая цена"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Автоматически рассчитывать закупочную цену на основе данных детали поставщика"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Валюта заказа на закупку"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Объединять элементы"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Объединять в одну позицию элементы, у которых одинаковая деталь, место хранения и целевая дата"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Артикул"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Внутренний артикул детали"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Внутреннее название детали"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Необходимо указать поставляемую деталь"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Необходимо указать заказ на закупку"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Поставщик должен соответствовать заказу на закупку"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Заказ на закупку должен соответствовать поставщику"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Позиция"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Выберите место назначения для полученных элементов"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Введите код партии для поступающих складских позиций"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Истекает"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "Введите дату истечения срока годности для поступающих складских единиц"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Введите серийные номера для входящих складских позиций"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Переопределить информацию об упаковке для поступающих складских единиц"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Дополнительная заметка для поступающих складских единиц"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Штрих-код"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Сканированный штрих-код"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Штрихкод уже используется"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Необходимо предоставить позиции"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Необходимо указать место назначения"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Предоставленные значения штрихкодов должны быть уникальными"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Отгрузки"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Выполненные отгрузки"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "Зарезервированные позиции"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Валюта цены продажи"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Выделенные элементы"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Информация об отгрузке не предоставлена"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Позиция не связана с этим заказом"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Количество должно быть положительным"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Введите серийные номера для резервирования"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Отгрузка уже отправлена"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Отгрузка не связана с этим заказом"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Совпадений для следующих серийных номеров не найдено"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Следующие серийные номера недоступны"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Позиция заказа на возврат"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Позиция не соответствует заказу на возврат"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Позиция уже получена"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Предметы могут быть получены только по заказам, которые находятся в процессе выполнения"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Количество для возврата"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Валюта цены позиции"
@@ -5532,1174 +5613,1226 @@ msgstr "Возврат"
msgid "Reject"
msgstr "Отклонён"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Просроченные заказы на закупку"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Заказ на закупку {po} просрочен"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Просроченные заказы на продажу"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Заказ на продажу {so} просрочен"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "Просроченный заказ на возврат"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "Заказ на возврат {ro} просрочен"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Помечено звёздочкой"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Фильтровать по отмеченным категориям"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Глубина"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Фильтровать по глубине категории"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Верхний уровень"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Фильтровать по категориям верхнего уровня"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Каскад"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Включать подкатегории в отфильтрованные результаты"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Родитель"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Фильтровать по родительской категории"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Исключить подкатегории указанной категории"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Есть результаты"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Является вариантом"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Является ревизией"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Есть ревизии"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Спецификация валидна"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr "Каскадные категории"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr "Если включено, включать элементы в дочерних категориях указанной категории"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr "Фильтровать по числовому идентификатору категории или литералу 'null'"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "Сборочная деталь активна"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "Отслеживаемая сборочная деталь"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Сборная деталь тестируется"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr "Деталь компонента активна"
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr "Отслеживаемая деталь компонента"
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Компонент тестируется"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr "Сборочная деталь компонента"
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr "Виртуальная деталь компонента"
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr "На складе"
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Использования"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Категория детали"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Категория детали"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Место хранения по умолчанию"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Место хранения по умолчанию для деталей этой категории"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Структура"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Ключевые слова по умолчанию"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Ключевые слова по умолчанию для деталей этой категории"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Значок"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Значок (необязательно)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Вы не можете сделать эту категорию деталей структурной, потому что некоторые детали уже назначены ей!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Шаблон параметров категории деталей"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Значение по умолчанию"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Значение параметра по умолчанию"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Детали"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "Нельзя удалить параметры заблокированной детали"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "Нельзя изменить параметры заблокированной детали"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Нельзя удалить эту деталь, так как она заблокирована"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Нельзя удалить эту деталь, так как она ещё активна"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Нельзя удалить эту деталь, так как она используется в сборке"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Деталь '{self}' не может быть использована в спецификации для '{parent}' (рекурсивно)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Деталь '{parent}' используется в спецификации для '{self}' (рекурсивно)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN должен соответствовать регулярному выражению {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Деталь не может быть ревизией самой себя"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Нельзя создать ревизию детали, которая уже является ревизией"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Необходимо указать код ревизии"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Ревизии разрешены только для сборочных деталей"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Нельзя сделать ревизию шаблонной детали"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Родительская деталь должна указывать на тот же шаблон"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Складская позиция с этим серийным номером уже существует"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Дублирующий IPN не разрешён в настройках детали"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Дублирующая ревизия детали уже существует."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Деталь с таким именем, внутренним артикулом и ревизией уже существует."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Детали не могут быть назначены структурным категориям!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Разновидность"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Описание детали (необязательно)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Ключевые слова"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Категория"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "Внутренний артикул"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Ревизия или серийный номер детали"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Ревизия"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Является ли эта деталь ревизией другой детали?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Ревизия от"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Поставщик по умолчанию"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Поставляемая деталь по умолчанию"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Срок действия по умолчанию"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Срок годности (в днях) для складских позиций этой детали"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Минимальный запас"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Единицы измерения этой детали"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Можно ли в этой детали записывать результаты тестов?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Эта деталь активна?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Заблокированные детали нельзя редактировать"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "Спецификация подтверждена"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "Валидна ли спецификация для этой детали?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Контрольная сумма BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Сохранённая контрольная сумма спецификации"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOM проверил"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Дата проверки BOM"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Создатель"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Ответственный владелец этой детали"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Продать несколько"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Валюта, используемая для кэширования расчётов цен"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Минимальная Стоимость BOM"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Минимальная стоимость компонентных деталей"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Максимальная Стоимость BOM"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Максимальная стоимость компонентных деталей"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Минимальная стоимость закупки"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Минимальная историческая стоимость закупки"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Максимальная стоимость закупки"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Максимальная историческая стоимость закупки"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Минимальная внутренняя цена"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Минимальная стоимость на основе внутренних ценовых уровней"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Максимальная внутренняя цена"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Максимальная стоимость на основе внутренних ценовых уровней"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Минимальная цена поставщика"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Минимальная цена детали от внешних поставщиков"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Максимальная цена поставщика"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Максимальная цена детали от внешних поставщиков"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Минимальная стоимость варианта"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Расчётная минимальная стоимость вариантов деталей"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Максимальная стоимость варианта"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Расчётная максимальная стоимость вариантов деталей"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Минимальная Стоимость"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Переопределить минимальную стоимость"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Максимальная Стоимость"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Переопределить максимальную стоимость"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Расчётная общая минимальная стоимость"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Расчётная общая максимальная стоимость"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Минимальная цена продажи"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Минимальная цена продажи на основе ценовых уровней"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Максимальная цена продажи"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Максимальная цена продажи на основе ценовых уровней"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Минимальная стоимость продажи"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Минимальная историческая цена продажи"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Максимальная стоимость продажи"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Максимальная историческая цена продажи"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Деталь для инвентаризации"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Количество элементов"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Количество отдельных складских позиций на момент инвентаризации"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Общий доступный запас на момент инвентаризации"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Дата"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Дата проведения инвентаризации"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Минимальная стоимость запасов"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Оценочная минимальная стоимость имеющихся запасов"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Максимальная стоимость запасов"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Оценочная максимальная стоимость имеющихся запасов"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Цена продажи детали по порогу"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Шаблон теста детали"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Недопустимое имя шаблона — должно содержать хотя бы один буквенно-цифровой символ"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Шаблоны тестов можно создавать только для тестируемых деталей"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Шаблон теста с тем же ключом уже существует для детали"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Название теста"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Введите имя для теста"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Ключ теста"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Упрощённый ключ для теста"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Описание теста"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Введите описание для этого теста"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Активен ли данный тест?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Необходим"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Необходимо ли пройти этот тест?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Требуется значение"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Требуется ли значение для этого теста при добавлении результата?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Требуются вложения"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Требуется ли прикреплять вложение в виде файла при добавлении результатов теста?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Допустимые варианты данного теста(через запятую)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "Пункт спецификации нельзя изменить — сборка заблокирована"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Пункт спецификации нельзя изменить — вариант сборки заблокирован"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Суб-деталь"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Количество элементов в спецификации"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Эта позиция спецификации необязательна"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Эта позиция - расходник (она не отслеживается в заказах на производство)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "Количество для подготовки"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "Дополнительное требуемое количество для сборки, учитывающее потери при подготовке"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "Потери"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "Оценочные потери для сборки, выраженные в процентах (0–100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "Округление до кратности"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "Округлять требуемое производственное количество до ближайшего кратного этого значения"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Ссылка на позицию спецификации"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Заметка о позиции в спецификации"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Контрольная сумма"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Контрольная сумма строки спецификации"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Проверен"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Этот пункт спецификации подтверждён"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Наследуется"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Позиция спецификации наследуется разновидностями детали"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Эту позицию можно заменять деталями, которые находятся на складе"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Необходимо указать поддеталь"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Замена пункта спецификации"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Деталь для замены не может быть такой же, как основная деталь"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Позиция BOM-родителя"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Замена детали"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Деталь 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Деталь 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Выберите связанную деталь"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Заметка для данной связи"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Нельзя создать отношение детали с самой собой"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Дублирующее отношение уже существует"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Родительская категория"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Родительская категория деталей"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Подкатегории"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Результаты"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Количество результатов, зарегистрированных по этому шаблону"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Валюта закупки складской позиции"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "Файл не является изображением"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Оригинальная деталь"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Выберите исходную деталь для копирования"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Копировать Изображение"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Копировать изображение из исходной детали"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Скопировать BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Копировать спецификацию из исходной детали"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Скопировать параметры"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Копировать данные параметров из исходной детали"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Копировать Записи"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Скопировать записи из оригинальной детали"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Копировать тесты"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "Копировать шаблоны тестов из исходной детали"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Начальное количество на складе"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Задайте начальное количество этой детали на складе. Если количество равно 0, складская позиция не будет добавлена."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Начальное местоположение запаса"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Укажите начальное местоположение запаса для этой детали"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Артикул производителя"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Выбранная компания не является допустимым поставщиком"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Выбранная компания не является допустимым производителем"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Деталь производителя с данным артикулом уже существует"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Деталь поставщика с данным артикулом уже существует"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Название категории"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Производится"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "Количество этой детали, находящееся в производстве"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "Оставшееся количество этой детали, запланированное к сборке"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Складские позиции"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Ревизии"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Поставщики"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Общий запас"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Нераспределённый запас"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Запас вариантов"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Дублировать деталь"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Копировать начальные данные из другой детали"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Начальный запас"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Создавать деталь с начальным количеством на складе"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Информация о поставщике"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Добавить начальную информацию о поставщике для этой детали"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Копировать параметры категории"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Копировать шаблоны параметров из выбранной категории деталей"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Существующее изображение"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Имя файла существующего изображения детали"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Файл изображения не существует"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Проверить всю спецификацию"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Можно произвести"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "Требуется для заказов на сборку"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "Выделено для заказов на сборку"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "Требуется для заказов на продажу"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "Выделено для заказов на продажу"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr "Внутренний артикул детали"
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "Описание детали"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr "Выберите деталь (и любые её варианты) для которой сгенерировать информацию об инвентаризации"
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr "Выберите категорию (и любые её подкатегории) для которой сгенерировать информацию об инвентаризации"
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr "Выберите склад, чтобы включить все детали в наличии в указанном складе (включая подразделы)"
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr "Создать записи инвентаризации"
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr "Сохранить записи инвентаризации для выбранных деталей"
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "Создать отчет"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr "Создать отчёт инвентаризации для выбранных деталей"
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Минимальная цена"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Переопределить рассчитанное значение минимальной цены"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Валюта минимальной цены"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Максимальная цена"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Переопределить рассчитанное значение максимальной цены"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Валюта максимальной цены"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Обновить"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Обновить цены для этой детали"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Не удалось конвертировать из предоставленных валют в {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Минимальная цена не должна превышать максимальную цену"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Максимальная цена не должна быть меньше минимальной"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Выберите родительскую сборку"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Выберите деталь, которая является компонентом"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Выберите деталь, из которой копировать спецификацию"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Удалить существующие данные"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Удалить существующие пункты спецификации перед копированием"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Включая наследуемые"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Включать пункты спецификации, унаследованные от шаблонных деталей"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Пропустить некорректные строки"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Включите эту опцию, чтобы пропускать недопустимые строки"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Копировать детали-заменители"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Копировать детали-заменители при дублировании пунктов спецификации"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Уведомление о низком уровне запаса"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Доступный запас для {part.name} упал ниже настроенного минимального уровня"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "Уведомление о просроченном запасе"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "У вас 1 складская единица приближается к дате истечения срока годности"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "У вас {item_count} складских единиц приближаются к дате истечения срока годности"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "Нет даты истечения"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "Истёк {abs(days_diff)} дней назад"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "Истекает сегодня"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry} дней"
@@ -6732,108 +6865,108 @@ msgstr "Действие не указано"
msgid "No matching action found"
msgstr "Соответствующее действие не найдено"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Не найдено совпадений для данных штрих-кода"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Найдено совпадение по штрих-коду"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Модель не поддерживается"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Экземпляр модели не найден"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Штрихкод соответствует существующему элементу"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Не найдено соответствующих данных детали"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Не найдено соответствующих поставляемых деталей"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Найдено несколько соответствующих поставляемых деталей"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Плагин, соответствующий данным штрихкода, не найден"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Соответствующая поставляемая деталь"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Предмет уже был получен"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Нет совпадения плагина для штрихкода поставщика"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Найдено несколько соответствующих позиций"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Не найдено соответствующей позиции"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Заказ на продажу не указан"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Штрих-код не соответствует существующим складским позициям"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Складская позиция не соответствует позиции"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Недостаточно запаса"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Складская позиция зарезервирована заказом на продажу"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Недостаточно информации"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Найден соответствующий элемент"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Поставляемая деталь не соответствует позиции"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Позиция уже завершена"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Для получения позиции требуется дополнительная информация"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Полученная позиция заказа на закупку"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Не удалось получить позицию"
@@ -6972,7 +7105,7 @@ msgstr "Предоставляет встроенную поддержку шт
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr "Выпускать задатированные заказы"
msgid "Automatically issue orders that are backdated"
msgstr "Автоматически выпускать заказы с прошедшей датой"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Уровни"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "Количество уровней для экспорта — установите ноль, чтобы экспортировать все уровни спецификации"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "Общее количество"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "Включать общее количество каждой детали в спецификацию"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "Данные о запасах"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "Включать данные о запасах детали"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "Данные о ценах"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "Включать данные о цене детали"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "Данные о поставщиках"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "Включать данные о поставщиках"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "Данные о производителях"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "Включать данные о производителях"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "Данные о заменителях"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "Включать данные о детях-заменителях"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "Данные о параметрах"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "Включать данные о параметрах детали"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "Экспорт многоуровневой спецификации"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "Предоставляет поддержку экспорта многоуровневых спецификаций"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "Уровень спецификации"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "Замена {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "Поставщик {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "Артикул поставщика {n}"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "Поставщик {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "Производитель {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "Производитель {n} MPN"
@@ -7189,19 +7322,19 @@ msgstr "Предоставляет поддержку экспорта данн
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "Исключить неактивные"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "Исключить параметры, которые неактивны"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "Экспортёр параметров"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "Экспортёр данных параметров модели"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr "Интегрированные методы уведомлений Slack"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL входящего webhook для Slack"
+msgid "Slack incoming webhook URL"
+msgstr "Ссылка \"Slack incoming webhook\""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "Печать этикеток на машине InvenTree"
msgid "Provides support for printing using a machine"
msgstr "Предоставляет поддержку печати с использованием машины"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "последнее использование"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Параметры"
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr "Ключ плагина"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr "Имя плагина"
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr "Пакетный плагин"
msgid "Plugin"
msgstr "Плагин"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Автор не найден"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Плагин '{p}' несовместим с текущей версией InvenTree {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Плагин требует как минимум версию {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Плагин требует не более версии {v}"
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr "Установка не подтверждена"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr "Необходимо указать название пакета или URL"
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr "Всего"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Серийный номер"
@@ -8097,7 +8230,7 @@ msgstr "Отчет тестирования складской позиции"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Установленные элементы"
@@ -8130,495 +8263,519 @@ msgstr "Нет результата (обязательно)"
msgid "No result"
msgstr "Нет результата"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Файл ресурса не существует"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Файл изображения не найден"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "Тег part_image требует экземпляр детали"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "Тег company_image требует экземпляр компании"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Фильтровать по глубине местоположения"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Фильтровать по местоположениям верхнего уровня"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Включать подместоположения в отфильтрованные результаты"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Основной склад"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Фильтровать по родительскому местоположению"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Название детали (без учёта регистра)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Название детали содержит (без учёта регистра)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Название детали (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "IPN детали (без учёта регистра)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "IPN детали содержит (без учёта регистра)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "IPN детали (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Минимальный запас"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Максимальный запас"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Код статуса"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Внешнее местоположение"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Израсходовано для заказов на сборку"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Установлено в другом складе"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Древо Деталей"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Обновлено до"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Обновлено после"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Инвентаризация до"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Инвентаризация после"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Дата истечения до"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Дата истечения после"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Залежалый"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "Укажите первичный ключ складского элемента, чтобы исключить этот элемент и всех его потомков"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "Каскад местоположений"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "Если включено, включать элементы в дочерних местоположениях данного местоположения"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "Фильтровать по числовому идентификатору местоположения или литералу 'null'"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Необходимо указать количество"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Необходимо предоставить действительную деталь"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Указанная поставляемая деталь не существует"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "У поставляемой детали определён размер упаковки, но флаг use_pack_size не установлен"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Не нужно указывать серийные номера для неотслеживаемых деталей"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr "Включать установленные"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr "Если включено, включать результаты тестов для предметов, установленных под данным складским элементом"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr "Фильтровать по числовому идентификатору складского элемента"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr "Складской элемент с ID {id} не существует"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "Включая варианты деталей"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "После"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "До"
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Тип местоположения склада"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Типы местоположения склада"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Значок по умолчанию для мест хранения с невыбранным значком (необязательно)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Место хранения"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Места хранения"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Владелец"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Выберите владельца"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Внешний"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Это сторонний склад"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Тип места хранения"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Тип места хранения данного склада"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Вы не можете сделать это место хранение структурным, потому, что некоторые складские позиции уже находятся в нем!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "{field} не существует"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Необходимо указать деталь"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Складские позиции не могут находиться в структурных местах хранения!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Складская позиция не может быть создана для виртуальных деталей"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Тип детали ('{self.supplier_part.part}') должен быть {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Количество должно быть 1 для элемента с серийным номером"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Серийный номер нельзя задать, если количество больше 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Элемент не может принадлежать сам себе"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Элемент должен иметь ссылку на производство, если is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Ссылка на производство не указывает на тот же элемент"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Складская позиция"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Базовая деталь"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Выберите соответствующего поставщика детали для этой складской позиции"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Где находится эта складская позиция?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Упаковка этой складской позиции хранится в"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Установлено в"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Установлен ли этот элемент в другой элемент?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Серийный номер для этого элемента"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Код партии для этой складской позиции"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Количество на складе"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Исходное производство"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Производства для этой складской позиции"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Поглощен"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Заказ на производство, который поглотил эту складскую позицию"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Исходный заказ на закупку"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Заказ на закупку для этой складской позиции"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Целевой заказ на продажу"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Дата истечения срока годности для складской позиции. Остатки будут считаться просроченными после этой даты"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту складскую позицию при обнулении складского запаса"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Цена за единицу на момент покупки"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Преобразовано в деталь"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "Количество превышает доступный запас"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Количество должно быть целым числом"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Количество не должно превышать доступный запас ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Серийные номера должны быть предоставлены в виде списка"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Количество не соответствует серийным номерам"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr "Нельзя назначить запас в структурное местоположение"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Шаблон теста не существует"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Складская позиция была назначена заказу на продажу"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Складская позиция установлена в другую деталь"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Складская позиция содержит другие детали"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Складская позиция была назначена покупателю"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Складская позиция в производстве"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Серийные запасы нельзя объединить"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Дублирующие складские элементы"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Складские позиции должны ссылаться на одну и ту же деталь"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Коды статуса запаса должны совпадать"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Складской элемент нельзя переместить, так как он отсутствует на складе"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Отслеживание складского элемента"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Заметки к записи"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Результат теста складского элемента"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Для этого теста должно быть указано значение"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Для этого теста требуется загрузить вложения"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Недопустимое значение для этого теста"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Результат тестирования"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Результат выполнения теста"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Вложение с результатом теста"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Заметки о тестировании"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Испытательное оборудование"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Идентификатор испытательного оборудования, на котором выполнялось тестирование"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Запущен"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Время начала тестирования"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Завершён"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Время окончания тестирования"
@@ -8662,246 +8819,246 @@ msgstr "Выберите деталь для генерации серийног
msgid "Quantity of serial numbers to generate"
msgstr "Количество серийных номеров для генерации"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Шаблон теста для этого результата"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr "Для этой детали не найдено подходящего теста"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "Необходимо указать ID шаблона или имя теста"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Время завершения теста не может быть раньше времени начала"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Родительский элемент"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Родительский складской элемент"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Использовать размер упаковки при добавлении: заданное количество — это количество упаковок"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "Использовать размер упаковки"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Введите серийные номера для новых элементов"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Номер детали поставщика"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Просрочен"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Дочерние элементы"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Отслеживание элементов"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Введите количество складских позиций для сериализации"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "Складской элемент не предоставлен"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Количество не должно превышать доступный запас ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Целевое место хранения"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Серийные номера не могут присваиваться данной детали"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Выберите складскую позицию для установки"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Количество для установки"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Введите количество элементов для установки"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Добавить запись к транзакции (необязательно)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Количество для установки должно быть не менее 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Складская позиция недоступна"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Выбранная деталь отсутствует в спецификации"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Количество для установки не должно превышать доступное количество"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Место назначения для демонтированного элемента"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Выберите деталь в которую будет преобразована складская позиция"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Выбранная деталь не является допустимым вариантом для преобразования"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Статус складской позиции"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Выберите складские позиции для изменения статуса"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Не выбрано ни одной складской позиции"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Места хранения"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Родительское местоположение запаса"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Деталь должна быть продаваемой"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Элемент распределён в заказ на продажу"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Элемент зарезервирован для заказа на производство"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Покупатель для назначения складских позиций"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Выбранная компания не является покупателем"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Записи о назначенных запасах"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Необходимо предоставить список складских позиций"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Заметки об объединении складских позиций"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Разрешить несоответствие поставщиков"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Разрешить объединение складских позиций с различными поставщиками"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Разрешить несоответствие статусов"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Разрешить объединение складских позиций с различными статусами"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Необходимо предоставить как минимум 2 складские позиции"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Нет изменений"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Первичный ключ складского элемента"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Складской элемент отсутствует на складе"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "Складской элемент уже на складе"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "Количество не должно быть отрицательным"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Заметки об изменении склада"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "Объединить с существующим запасом"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "Объединять возвращённые элементы с существующими складскими элементами, если возможно"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "Следующий серийный номер"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "Предыдущий серийный номер"
@@ -9383,83 +9540,83 @@ msgstr "Заказы на продажу"
msgid "Return Orders"
msgstr "Заказы на возврат"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Логин"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Имя"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Имя пользователя"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Фамилия"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Фамилия пользователя"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Адрес электронной почты пользователя"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Персонал"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Имеет ли этот пользователь права персонала"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Суперпользователь"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Это пользователь является суперпользователем"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Активна эта учетная запись"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "Только суперпользователь может изменить это поле"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Пароль"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "Пароль пользователя"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "Игнорировать предупреждение"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "Игнорировать предупреждение о правилах пароля"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "У вас нет разрешения на создание пользователей"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Ваша учётная запись была успешно создана."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Пожалуйста, используйте функцию сброса пароля для входа"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Добро пожаловать в InvenTree"
diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
index 5743f98b50..ab6477c792 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr ""
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr ""
@@ -112,13 +104,13 @@ msgstr ""
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr ""
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr ""
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr ""
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr ""
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr ""
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr ""
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
index 81ae4cc9d9..a2dccbf7be 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API vmesnik ni najden"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Uporabnik nima dovoljenja pogleda tega modela"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Ponovnite e-pošto"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Potrdite e-pošto"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "E-pošti se morata ujemati"
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Podana epošta ni veljavna."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Domena epošte ni podprta."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Ni mogoče pretvoriti {original} v {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Podana napačna količina"
@@ -112,13 +104,13 @@ msgstr "Vnesi datum"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Zapiski"
@@ -131,75 +123,75 @@ msgstr "Vrednost '{name}' ni v predpisanem formatu"
msgid "Provided value does not match required pattern: "
msgstr "Podana vrednost se ujema s predpisanim vzorcem: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Prazno polje serijske številke"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Dvojna serijska številka"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Doseg skupine {group} presega dovoljene količine ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Serijske številke niso najdene"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Odstranite oznako HTML iz te vrednosti"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Napaka povezave"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Odziv serverja: napravilni status kode"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Pojavila se je izjema"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Odziv serverja: napačna dolžina vrednosti"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Prevelika velikost slike"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Prenos slike presegel največjo velikost"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Oddaljeni server vrnil prazen odziv"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Podani URL ni veljavna slikovna datoteka"
@@ -207,11 +199,11 @@ msgstr "Podani URL ni veljavna slikovna datoteka"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-pošta"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "Referenca se mora ujemati s vzorcem"
msgid "Reference number is too large"
msgstr "Referenčna številka prevelika"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Nedovoljena izbira"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Ime"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Opis (opcijsko)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Pot"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown opombe (neobvezno)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Podatki čtrne kode"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Podatki črtne kode tretje osebe"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Oznaka črtne kode"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Enolična oznaka podatkov črtne kode"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Črtna koda že obstaja"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Napaka strežnika"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Izberite valuto med razpoložljivimi možnostmi"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Neveljavna vrednost"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Oddaljena slika"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "Povezava do oddaljene slike"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Kitajščina (poenostavljena)"
msgid "Chinese (Traditional)"
msgstr "Kitajščina (tradicionalno)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Neveljavna fizična enota"
msgid "Not a valid currency code"
msgstr "Neveljavna oznaka valute"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Nadrejena izgradnja"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Del"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Dodeljeno meni"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Dodeljeno"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Neobvezno"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montaža"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Sledi"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testno"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Dodeljeno"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Na voljo"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Nalog izgradnje"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr ""
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Nalogi izgradnje"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Sestava BOM ni bila potrjena"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Naveden mora biti odgovorni uporabnik ali skupina"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Referenca naloga izgradnje"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Referenca naloga izgradnje"
msgid "Reference"
msgstr "Referenca"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Izberite del za izgradnjo"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referenca dobavnica"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Dobavnica na katero se navezuje ta izgradnja"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Lokacija vira"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Ciljna lokacija"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Količina izgradenj"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Število postavk za izgradnjo"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Končane postavke"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Število postavk zaloge, ki so bile končane"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Status izgradnje"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Koda statusa izgradnje"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Številka serije"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Številka serije za to izgradnjo"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Datum ustvarjenja"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Rok dokončanja"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Datom končanja"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "dokončal"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Izdal"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Uporabnik, ki je izdal nalog za izgradnjo"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Odgovoren"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Odgovorni uporabnik ali skupina za to naročilo"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Zunanja povezava"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Zunanja povezava"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Nalog izgradnje {build} je dokončan"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Nalog izgradnej dokončan"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Ni določena izgradnja"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Igradnja je že dokončana"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Izgradnja se ne ujema s nalogom izdelave"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Količina"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Količina za zalogo s serijsko številko mora biti 1"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Preveč zaloge je prestavljene"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Prestavljena količina mora biti večja od 0"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Količina za zalogo s serijsko številko mora biti 1"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Postavka zaloge"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Izvorna postavka zaloge"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Količina zaloge za prestavljanje za izgradnjo"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Inštaliraj v"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Destinacija postavke zaloge"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Izgradnja"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Izhodni del se ne ujema s naročilom sestava"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Ta sestava je že zaključena"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Preklicano"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Končano"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Uporabnik"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktivno"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Povezava"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Priloga"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Manjka datoteka"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Manjka zunanja povezava"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Izberite prilogo"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Ime datoteke"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Postavljeno"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Podatki datoteke"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Poslano"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Prestavljena količina mora biti večja od 0"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr ""
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Uporabniško ime"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Ime"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Ime uporabnika"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Priimek"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Priimek uporabnika"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Email uporabnika"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Osebje"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Ali ima ta uporabnik pravice osebja"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superuporabnik"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Ali je ta uporabnik superuporabnik"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Ali je ta račun aktiven"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Vaš račun je bil ustvarjen."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Za prijavo uporabite funkcijo ponastavitve gesla"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Dobrodošli v InvenTree"
diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
index 146d188d87..4da7fdf3fa 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API krajnja tačka nije pronađena"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Lista nevalidiranih stavki"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Dati su neispravni filteri"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Korisnik nema dozvolu za pregled ovog modela"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-pošta (ponovo)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Potvrda adrese e-pošte"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Svaki put morate upisati istu e-poštu."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Navedena primarna adresa e-pošte nije važeća."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Navedeni domen adrese e-pošte nije prihvaćen."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Nije moguće konvertovati {original} u {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Isporučena nevažeća količina"
@@ -112,13 +104,13 @@ msgstr "Unesite datum"
msgid "Invalid decimal value"
msgstr "Neispravna decimalna vrednost"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Napomene"
@@ -131,75 +123,75 @@ msgstr "Vrednost '{name}' se ne pojavljuje u formatu obrasca"
msgid "Provided value does not match required pattern: "
msgstr "Navedena vrednost ne odgovara traženom obrascu: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Nije moguće dati više od 1000 serijskih brojeva stavkama odjednom"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Serijski broj nije popunjen"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Dupliciraj serijski broj"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Nevažeća grupa: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Raspon grupe {group} prelazi dozvoljenu količinu ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Nisu pronađeni serijski brojevi"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Uklonite HTML oznake iz ove vrednosti"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Podatak sadrži zabranjen jezički sadržaj"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Greška u povezivanju"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Server je odgovorio nevažećim statusnim kodom"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Došlo je do izuzetka"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Server je odgovorio nevažećom vrednošću dužina sadržaja"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Veličina slike je prevelika"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Preuzimanje slike premašilo je maksimalnu veličinu"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Udaljeni server vratio je prazan odgovor"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Navedeni URL nije važeća slikovna datoteka"
@@ -207,11 +199,11 @@ msgstr "Navedeni URL nije važeća slikovna datoteka"
msgid "Log in to the app"
msgstr "Prijavljivanje na aplikaciju"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-Pošta"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "Referenca mora odgovarati traženom obrascu"
msgid "Reference number is too large"
msgstr "Broj reference je predugačak"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Nevažeći izvor"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Ime"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Opis (Opciono)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Putanja"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Zabeleške (Opciono)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Podaci sa barkoda"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Podaci sa barkoda trećih lica"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Heš barkoda"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Jedinstveni hash barkoda"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Postojeći barkod pronađen"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Neuspešan zadatak"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Pozadinski proces '{f}' neuspešan posle {n} pokušaja"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Greška servera"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Server je zabležio grešku."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Slika"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Mora biti važeći broj"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Odaberite valutu među dostupnim opcijama"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Nevažeća vrednost"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Udaljena slika"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL udaljene slike"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "Neuspešno preuzimanje slike sa udaljene URL"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Kineski (Uprošćeni)"
msgid "Chinese (Traditional)"
msgstr "Kineski (Tradicionalni)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Nevažeća jedinica mere"
msgid "Not a valid currency code"
msgstr "Nevažeći kod valute"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Status naloga"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Roditeljski proizvod"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Uključi varijante"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Uključi varijante"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Uključi varijante"
msgid "Part"
msgstr "Deo"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategorija"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Proizvod predaka"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Dodeljeno meni"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Dodeljeno"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Kreirano pre"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Kreirano nakon"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Ciljni datum pre"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Ciljni datum nakon"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Završeno pre"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Završeno nakon"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Ne uključuj stablo"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Proizvod mora biti poništen pre nego što se izbriše"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Potrošni materijal"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Opciono"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Sklapanje"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Praćeno"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Proverljivo"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "Neizmirena narudžbina"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Alocirano"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Dostupno"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Po narudžbini"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Nalog za izradu"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Lokacija"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Nalozi za izradu"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "BOM za sastavljanje nije potvrđeno"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Nalog za izradu se ne može kreirati za neaktivan deo"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Nalog za izradu se ne može kreirati za zaključan deo"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Odgovorni korisnik ili grupa mora biti određena"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Deo u nalogu za izradu ne može se izmeniti"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Reference naloga za pravljenje"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Reference naloga za pravljenje"
msgid "Reference"
msgstr "Referenca"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Kratak opis izrade (nije obavezno)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Nalog za izradu za koju je ova izrada alocirana"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Izaberi deo za izgradnju"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Referenca naloga za prodaju"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Nalog za prodaju za koju je ova izrada alocirana"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Lokacija izvora"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Izaberi lokaciju zaliha za ovu izgradnju (ostaviti prazno ako hoćete bilo koju lokaciju zaliha"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Lokacija odredišta"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Izaberi lokaciju gde će se završene stavke skladištiti"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Količina izgradnje"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Broj stavki za izgradnju"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Kompletirane stavke"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Broj stavki u zalihama koje su kompletirane"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Status izgradnje"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Kod statusa izgradnje"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Kod serije"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Kod izgradnje za ovaj izlaz"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "datum kreiranja"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Datum ciljanog završetka"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ciljani datum za završetak izgradnje. Izgradnja će biti u prekoračenju nakon ovog datuma"
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Datum završetka"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "kompletirano od "
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "izdato od"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Korisnik koji je izdao nalog za izgradnju"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Odgovoran"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Korisnik ili grupa koja je odgovorna za ovaj nalog za izgradnju"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Spoljašnja konekcija"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Link za eksterni URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Prioritet izgradnje"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Prioritet ovog naloga za izgradnju"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Kod projekta"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Kod projekta za ovaj nalog za izgradnju"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Nije uspelo preuzimanje zadataka da bi se dovršila alokacija izgradnje"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Nalog za izgradnju {build} je kompletiran"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Nalog za izgradnju je kompletiran"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Za delove koji mogu da se prate moraju se dostaviri serijski brojevi"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Nije određen izlaz izgradnje"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Izlaz izgradnje je već kompletiran"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Količina mora biti veća od nule"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Količina ne sme da bude veća od izlazne količine"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Izlaz izgradnje {serial} nije zadovoljio zahtevane testove"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Stavka porudžbine naloga za izgradnju"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Objekat izgradnje"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Objekat izgradnje"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Količina"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Potrebna količina za nalog za izgradnju"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Stavka izgradnje mora imati izlaz izgradnje, jer je nadređeni deo markiran da može da se prati"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Izabrana stavka zaliha se ne slaže sa porudžbinom sa spiska materijala"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Količina mora da bude 1 za zalihe koje su serijalizovane"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Alocirana količina ({q}) ne sme da bude veća od količine dostupnih zaliha ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Stavka zaliha je prealocirana"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Količina alokacije mora da bude veća od nule"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Količina mora da bude 1 za zalihe koje su serijalizovane"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Izabrana stavka zaliha se ne slaže sa porudžbinom sa spiska materijala"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Stavka zaliha"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Izvor stavke zaliha"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Količina zaliha za alociranje za izgradnju"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Ugradi u"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Stavka zaliha odredišta"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Nivo izgradnje"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Ime dela"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Naziv koda projekta"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Izlaz izgradnje"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Izlaz izgradnje se ne slaže sa nadređenom izgradnjom"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Izlazni deo se ne slaže sa delom Naloga za Izgradnju"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Ovaj izlaz izgradnje je već kompletiran"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Ovaj izlaz izgradnje nije u potpunosti alociran"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Unesi količinu za izlaz izgradnje"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Brojčana količina potrebna za delove koji mogu da se prate"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Potrebna je brojčana količina, jer opis materijala sadrži delove koji se mogu pratiti"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Serijski brojevi"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Unesi serijske brojeve za izlaz izgradnje"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Lokacija zaliha za izlaz izgradnje"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Automatski alociraj serijske brojeve"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatski alociraj tražene stavke sa odgovarajućim serijskim brojevima"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Sledeći serijski brojevi već postoje ili su neispravni"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "Lista izlaza izgradnje se mora obezbediti"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Lokacija zaliha za otpisane izlaze"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Odbaci alokacije"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Odbaci bilo kojiu alokaciju zaliha za otpisane izlaze"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Razlog za otpisane izlaz(e) izgradnje"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Lokacija za završene izlaze izgradnje"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Prihvati nekompletirane Alokacije"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "kompletiraj izlaze ako zalihe nisu u potpunosti alocirane"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Troši alocirane zalihe"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Troši bilo koje zalihe koje su već alocirane za ovu izgradnju"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Ukloni nekompletirane izlaze"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Izbriši svei izlaze izgradnje koji nisu kompletirani"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Nije dozvoljeno"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Prihvati kao potrošeno od strane ovog naloga za izgradnju"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Izmesti bre završetka ovog naloga za izgradnju"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Sveukupne izdvojene zalihe"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Šta želite da radite sa viškom stavki u zalihama koje su dodeljene nalogu za izgradnju?"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Neke stavke zaliha su prealocirane"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Prihvati nealocirano"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Prihvati da stavke zaliha nisu u potpunosti alocirane za ovaj nalog za izgradnju"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Tražene zalihe nisu u potpunosti alocirane"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Prihvati nekompletirano"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Prihvati da je traženi broj izlaza izgradnje nekompletan"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Traženi broj izgradnji nije kompletan"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Nalog za izgradnju ima otvoren potčinjene naloge za izgradnju"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Nalog za izgradnju mora biti u stanju produkcije"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Nalog za izgradnju ima nekompletne izlaze"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Porudžbina izgradnje"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Izlaz izgradnje"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Izlaz izgradnje mora da referencira istu izgradnju"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Stavka porudžbine za izradu"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part mora da se referencira istom delu kao u nalogu za izgradnju"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Stavka mora da bude u zalihama"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Dostupna količina ({q}) premašena"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Izlaz izgradnje mora da određen za alokaciju praćenih delova"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Izlaz izgradnje ne može biti određen za alokaciju nepraćenih delova"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Stavke alociranja se moraju odrediti"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lokacija zaliha koje će da budu izvor delova (ostavi prazno ukoliko uzimate sa bilo koje lokacije)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Isključi lokaciju"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Isključi stavke zaliha za ovu selektovanu lokaciju"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Zamenljive zalihe"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Stavke zaliha koje su na različitim lokacijama se mogu međusobno menjati"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Zamenske zalihe"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Dozvoli alociranje delova koji su zamenski"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Opcionalne stavke"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Alociraj opcione BOM stavke na nalog za izgradnju"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Greška prilikom startovanja auto alociranja"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "Referenca BOM"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "BOM ID dela"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "BOM ime dela"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Deo dobavljača"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Alocirana količina"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Referenca izgradnje"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Ime kategorije dela"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Može da se prati"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Nasleđen"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Dozvoli varijante"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "BOM stavka"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "U proizvodnji"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Spoljašnje zalihe"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Dostupne zalihe"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Dostupne zamenske zalihe"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Dostupne varijante zaliha"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "Na čekanju"
msgid "Cancelled"
msgstr "Otkazano"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Gotovo"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Potrebne su zalihe za nalog izgranje"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Prekoračeni nalog za izgradnju"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Nalog za izgradnju {bo} je sada prekoračen"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "je link"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "je datoteka"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Korisnik nema potrebne dozvole da bi izbrisao ove atačmente"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Korisnik nema dozvolu da izbriše ovaj atačment"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Neispravan kod valute"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Napravi duplikat koda valute"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Nisu obezbeđeni ispravni kodovi valuta"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Nema dodataka"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Naziv koda projekta"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Ažurirano"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Vreme poslednjeg ažuriranja"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Jedinstveni kod projekta"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Opis projekta"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Korisnik ili grupa odgovorni za ovaj projkat"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Ključ za podešavanje"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Vrednost podešavanja"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Izabrana vrednost nije ispravna opcija"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Vrednost mora da bude boolean tipa"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Vrednost mora da bude integer tipa"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Vrednost mora biti broj"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Vrednost ne prolazi test ispravnosti"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Tekstualni ključ mora da bude jedinstven"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Korisnik"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Prelomna količina cene"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Cena"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Cena jedinice za određenu količinu"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Krajnja tačka"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Krajnja tačka na kojoj je primljen zahtev za izmenu web stranice"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Ime ovog zahteva za izmenu stranice"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktivan"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Da li je ovaj zahtev za izmenu aktivan?"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Token za pristup"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Tajna"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Deljena tajna za HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "ID poruke"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Jedinstveni identifikator za ovu poruku"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Računar"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Računar koji je primio ovu poruku"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Zaglavlje"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Zaglavlje ove poruke"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Telo"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Telo ove poruke"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Krajnja tačka na kojoj je ova poruka primljena"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Radilo se na "
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Da li je rad sa ovom porukom završen?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Naslov"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Link"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Objavljeno"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Autor"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Rezime"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Čitaj"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Da li je ova stavka vesti pročitana"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Datoteka slike"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "Ciljni tip modela za ovu sliku"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "Ciljni ID modela za ovu sliku"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Posebna jedinica"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Simbol jedinice mora biti jedinstven"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Ime jedinice mora da bude ispravan identifikator"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Ime jedinice"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Simbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Opcioni simbol jedinice"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definicija"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Definicija jedinice"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Prilog"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Nedostaje datoteka"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Nedostaje eksterni link"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Izaberite datoteku za prilog"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Komentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Komentar priloga"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Datum učitavanja"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Datum kada je datoteka učitana"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Veličina datoteke"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Veličina datoteke u bajtovima"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Određen je neispravan tip modela za prilog"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Posebno stanje"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Posebna stanja"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Referentni status podešen"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Status je podešen i produžen je sa ovim posebnim stanjem"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Logički ključ"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "Stanje logičkog ključa je jednako posebnom ključu u poslovnoj logici"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Vrednost"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Numerička vrednost koja će biti sačuvana u bazi podataka modela"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Ime stanja"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiketa"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Etiketa koja će biti prikazana na korisničkoj strani"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Boja"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Boja koja će biti prikazana na korisničkoj strani"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Model ovog stanja je povezan sa "
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Model mora biti izabran"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Ključ mora biti izabran"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Logički ključ mora biti izabran"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Ključ mora da se razlikuje od logičkog ključa"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Validna referenca statusa klase mora biti dostavljena"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Ključ mora biti različit od logičkog ključa referentnog statusa"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Logički ključ mora biti među logičkim ključevima referentnog statusa"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "Naziv mora biti različit od naziva u statusu reference"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Lista odabira"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Liste odabira"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Ime liste odabira"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Opis liste odabira"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Zaključano"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Da li je ova lista odabira zaključana?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Da li se ova lista odabira može koristiti?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Ekstenzija/dodatak za izvor"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Ekstenzija koja pruža listu odabira"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "String izvora"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Opcioni string koji identifikuje izvor koji se koristi za ovu listu"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Podrazumevani unos"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Podrazumevani unos za ovu listu odabira"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Kreirano"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Datum i vreme kada je ova lista odabira kreirana"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Poslednje ažuriranje"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Datum i vreme kada je ova lista odabira ažurirana"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Unos liste odabira"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Unosi liste odabira"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Lista odabira kojoj ovaj unos pripada"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Vrednost ovog unosa liste odabira"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Naziv ovog unosa liste odabira"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Opis ovog unosa liste odabira"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Da li je unos ove liste odabira aktivan?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Šablon parametra"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Checkbox parametri ne mogu imati jedinice"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Checkbox parametri ne mogu imati izbore"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Izbori moraju biti jedinstveni"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Ime šablona parametra mora biti jedinstveno"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Naziv parametra"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Jedinice"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Fizičke jedinice za ovaj parametar"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Opis parametra"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Polje za potvrdu"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Da li je ovaj parametar checkbox?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Izbori"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Validni izbori za ovaj parametar (razdvojeni zapetom)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "Lista izbora za ovaj parametar"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Omogućen"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Nije validan izbor za vrednost parametra"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Šablon"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Podaci"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Vrednost parametra"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Beleška"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Opciona beleška"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Skeniranje bar koda"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Podaci bar koda"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Korisnik koji je skenirao bar kod"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Vremenski trag"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Datum i vreme skeniranja bar koda"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "URL krajnja tačka kojaj je obradila bar kod"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Kontekst"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Kontekst podataka za skeniranje bar koda"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Odgovor"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Podaci odgovora za skeniranje bar koda"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Rezultat"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Da li je skeniranje bar koda bilo uspešno?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Ključ"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} poništeno"
msgid "A order that is assigned to you was canceled"
msgstr "Narudžbina koja je bila dodeljena vama je otkazana"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Stavke primljene"
@@ -2351,93 +2359,101 @@ msgstr "Stavke su primljene uprkos nalogu za kupovinu"
msgid "Items have been received against a return order"
msgstr "Stavke su primljene uprkos nalogu za povrat"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Pokrenuto je"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Čekaju se zadaci"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Planirani zadaci"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Propali zadaci"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID zadatka"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Jedinstveni ID zadatka"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Zaključaj"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Vreme zaključavanja"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Naziv zadatka"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funkcija"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Ime funkcije"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argumenti"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Argumenti zadatka"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Ključne reči argumenata"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Ključne reči argumenata zadatka"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Ime datoteke"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Tip modela"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Korisnik nema dozvolu da napravi ili izmeni priloge za ovaj model"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Lista odabira je zaključana"
@@ -2445,1128 +2461,1157 @@ msgstr "Lista odabira je zaključana"
msgid "No group"
msgstr "Nema grupe"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "URL sajta je zaključan od strane konfiguracije"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Ponovno pokretanje potrebno"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Podešavanje je izmenjeno i zahteva ponovno pokretanje servera"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Migracije na čekanju"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Broj migracija baze podataka koje su na čekanju"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Ime instance servera"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Stringovni opis instance servera"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Ime instance korisnika"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Koristi ime instance u naslovnoj liniji"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Zabrani prikazivanje `O nama`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Prikaži `O nama` samo superkorisnicima"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Ime kompanije"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Interno ime kompanije"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Osnovni URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Osnovni URL za instancu servera"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Podrazumevana valuta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Izaberi osnovnu valutu za određivanje cena"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Podržane valute"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Lista kodova podržanih valuta"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Interval ažuriranja valuta"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Koliko često ažurirati devizne kurseve (podesi na nulu za onemogućti)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dani"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Dodatak za ažuriranje valute"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Dodatak za ažuriranje valute koji će se koristiti"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Skini sa URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Dozvoli skidanje sa udaljenih lokacija slika i datoteka"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Ograničenje veličine skidanja"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Maksimalna dozvoljena veličina slike koja se skida"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "Korisnik-agent koji se koristi za skidanje sa URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Dozvoli premošćavanje koji će se korisnik-agent koristiti za skidanje slika i datoteka sa spoljašnjeg URL (ostavi prazno da se podesi kao podrazumevano)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Stroga validacija URL"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "Traži specifikaciju za validaciju URL-ova"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Ažuriraj interval provere"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Koliko često da proveravam za nova ažuriranja? (podesi na nulu da bi isključio)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Automatsko pravljenje rezervne kopije"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Omogući automatsko pravljenje rezervne kopije baze podataka i medijskih datoteka"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Automatski interval pravljenja rezervnih kopija"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Odredi broj dana između automatskih pravljenja rezervnih kopija"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Interval brisanja zadataka"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Rezultati pozadinskih zadataka biće izbrisani nakon određenog broja dana "
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Interval brisanja evidencije grešaka"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Evidencija grešaka biće izbrisana nakon određenog broja dana"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Interval brisanja obaveštenja"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Korisnička obaveštenja biće izbrisana nakon određenog broja dana"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Podrška za bar kod"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Omogući podršku za bar kod skener preko interfejsa stranice"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "Uskladišti rezultate bar koda"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "Uskladišti rezultate bar koda u bazu podataka"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "Maksimalan broj skeniranja bar koda"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "Maksimalan broj rezultata skeniranja bar koda koji treba da se skladišti"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Kašnjenje unosa bar koda"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Vreme kašnjena obrađivanja ulaza bar koda"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Podrška za bar kod veb kameru"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Omogući skeniranje bar koda pomoću veb kamere u pretraživaču"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Prikaži podatke bar koda"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Prikaži podatke bar koda u pretraživaču kao tekst"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Dodatak za generisanje bar koda"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Dodatak koji će se koristiti kao interni generator podataka bar koda"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Revizije dela"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Omogući polje za reviziju dela"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Jedino revizija sastavljanja "
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Dozvoli jedino revizije za sastavne delove"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Dozvoli brisanje iz sastavljanja"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Dozvoli brisanje delova koji su korišćeni u sastavljanju"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Interni broj dela regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regularni obrazac izraza za podudaranje IPN dela"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Dozvoli duple IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Dozvoli da više delova dele isti IPN"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Dozvoli izmenu IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Dozvoli izmenu IPN vrednosti u toku izmene dela"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Kopiraj BOM podatke dela"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Podrazumevaj kopiranje BOM podataka prilikom pravljenja duplikata dela "
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Kopiraj podatke parametara dela"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Podrazumevaj kopiranje podataka parametara dela prilikom pravljenja duplikata dela"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Kopiraj podatke testiranja dela"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Podrazumevaj kopiranje podataka testiranja dela prilikom pravljenja duplikata dela"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kopiraj šablone parametara kategorije"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Kopiraj šablone parametara kategorije prilikom pravljenja dela"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Podrazumevano je da su delovi šabloni"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Podrazumevano je da se delovi mogu sastavljati od drugih komponenti"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponenta"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Podrazumevano je da se delovi mogu koristi kao pod-komponente"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Može da se kupi"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Podrazumevano je da se delovi mogu kupiti"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Može da se proda"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "podrazumevano je da delovi mogu da se prodaju"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Podrazumevano je da delovi mogu da se prate"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuelni"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Podrazumevano je da su delovi virtuelni"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Prikaži povezane delove"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Prikaži povezane delove za deo"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Inicijalni podaci zaliha"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Dozvoli kreiranje inicijalne alihe prilikom dodavanja novog dela"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Podaci inicijalnog dobavljača"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Dozvoli kreiranje inicijalnog dobavljača prilikom dodavanja novog dela"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Format prikazivanja imena dela"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Format u kome će se prikazivati ime dela"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Podrazumevana ikona za kategoriju dela"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Podrazumevana ikona za kategoriju dela (prazno znači bez ikone)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Minimalan broj decimalnih mesta za cene"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Minimalan broj decimalnih mesta prilikom generisanja cenovnih podataka"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Maksimalan broj decimalnih mesta za cene"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Maksimalan broj decimalnih mesta prilikom generisanja cenovnih podataka"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Koristi cene dobavljača"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Uključi pauziranje cene dobavljača u sveukupnom računanju cene"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Premosti istorijat kupovina"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Prethodne cene narudžbenice zamenjuje pauze cena dobavljača"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Koristi cene stavki u zalihama"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Koristi cene koje su ručno unete u podatke zaliha"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Godina cena stavki u zalihama"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Odstrani stavke zaliha iz kalkulacija cena, koje su starije od ovog broja dana"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Koristi drugačije cene"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Uključi drugačije cene u sveukupnim kalkulacijama cene"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Samo aktivne varijante"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Koristi samo aktivne varijante za određivanje varijante cene"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Vremenski period za ponovno određivanje cena"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Broj dana koji treba da prođe da bi se cene delova automatski ažurirale"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interne cene"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Omogući interne cene za delove"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Premošćavanje internih cena"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Ako su dostupne, interne cene premošćuju kalkulacije opsega cena"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Omogući štampanje etiketa"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Omogući štampanje etiketa preko web interfejsa"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI slike etikete"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI rezolucija prilikom generisanja slikovne datoteke za dodatak koji štampa etikete"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Omogući izveštaje"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Omogući generisanje izveštaja"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Mod otklanjanja grešaka"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Generiši izveštaje u modu za otklanjanje grešaka (izlaz je u HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Greške evidencije izveštaja"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Greške evidentiranja koje se dese prilikom generisanja izveštaja"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Veličina stranice"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Podrazumevana veličina strane za izveštaje u PDF formatu"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Zahtevaj jedinice parametara"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Ako su jedinice date, vrednosti parametara moraju odgovarati datim jedinicama"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Globalno jedinstveni serijski brojevi"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Serijski brojevi za stavke zaliha moraju da budu globalno jedinstveni"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Obriši ispražnjene zalihe"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "Ovo određuje podrazumevano ponašanje kada je stavka zaliha istrošena"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Šablon koda serije"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Šablon za generisanje podrazumevanih kodova serije stavki u zalihama"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Datum isteka zaliha"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Omogući funkcionalnost isteka zaliha"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Prodaja isteklih zaliha"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Dozvoli prodaju isteklih zaliha"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Vreme zastarevanja zaliha"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Broj dana tokom kojih će se stavke zaliha smatrati zastarelim pre isteka"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Izrada sa isteklim zalihama"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Dozvoli izradu sa isteklim zalihama"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Vlasnička kontrola zaliha"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Omogući vlasničku kontrolu nad lokacijama zaliha i stavkama"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Podrazumevana ikonica lokacije zaliha"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Podrazumevana ikonica lokacije zaliha (prazno znači da nema ikonice)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Prikaži instalirane stavke sa zaliha"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Prikaži instalirane stavke sa zaliha u stok tabelama"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "Proveri spisak materijala pri instalaciji stavki"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "Instalirane stavke sa zaliha moraju postojati u spisku materijala nadređenog dela"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Dozvoli transfer van zaliha"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "Dozvoli da stavke sa zaliha koje nisu na zalihama budu premeštane između lokacija zaliha"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Referentni šablon naloga za izradu"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Potreban šablon za generisanje referentnog polja naloga za izradu"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Potreban odgovoran vlasnik"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Odgovoran vlasnik mora biti dodeljen svakom nalogu"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "Potreban aktivan deo"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "Spreči kreiranje naloga za izradu za neaktivne delove"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Potreban zaključan deo"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "Spreči kreiranje nalogaza izradu za otključane delove"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Potreban validan spisak materijala"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "Spreči kreiranje naloga za izradu pre validacije spiska materijala"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Potrebno završavanje podređenih naloga"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "Spreči završavanje naloga za izradu pre završavanja svih podređenih naloga"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Blokiraj dok ne prođe test"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Spreči završavanje naloga za izradu pre uspešnog završetka svih testova"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Omogući naloge za vraćanje"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Omogući funkcionalnost vraćana u korisničkom interfejsu"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Referentni šablon naloga za vraćanje"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "Potreban šablon pri generisanju referentnog polja naloga za vraćanje"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Izmeni završene naloge za vraćanje"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Dozvoli izmenu naloga za vraćanje nakon što su završeni"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Referentni šablon naloga za prodaju"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Potreban šablon pri generisanju referentnog polja naloga za prodaju"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Podrazumevana isporuka naloga za prodaju"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Omogućava kreiranje podrazumevane isporuke sa nalozima za prodaju"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Izmeni završene naloge za prodaju"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Dozvoli izmenu naloga za prodaju nakon što su isporučeni ili završeni"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Označi isporučene naloge kao završene"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "Nalozi za prodaju označeni kao isporučeni će automatski biti završeni, zaobilazeći status isporučen"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Referentni šablon naloga za kupovinu"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Potreban šablon pri generisanju referentnog polja naloga za kupovinu"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Izmeni završene naloge za kupovinu"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Dozvoli izmenu naloga za kupovinu nakon što su isporučeni ili završeni"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Automatski završi naloge za kupovinu"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "Automatski označi naloge za kupovinu kao završene kada su primljene sve stavke porudžbine"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Omogući zaboravljenu lozinku"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Omogući funkcionalnost zaboravljene lozinke na stranicama za prijavljivanje"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Omogući registraciju"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Omogući registraciju korisnicima na stranicama za prijavljivanje"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Omogući SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Omogući SSO na stranicama za prijavljivanje"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Omogući SSO registraciju"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Omogući registraciju preko SSO za korisnike na stranicaa za prijavljivanje"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "Omogući SSO sinhronizaciju grupa"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "Omogući sinhronizaciju grupa aplikacije sa grupama IdP-a"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO ključ grupe"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "Nazivi grupa dobijaju atribute od IdP-a"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "Mapiranje SSO grupa"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "Mapiranje SSO grupa u lokalne grupe aplikacije. Ukoliko lokalna grupa ne postoji, biće kreirana."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "Ukloni grupe van SSO"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Da li će grupe dodeljene korisnicima biti uklonjene ukoliko nisu podržane IdP-om. Onemogućavanje ovoga može dovesti do problema."
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Email neophodan"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Zahtevaj od korisnika da dostavi mejl prilikom registracije"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Automatski popuni SSO korisnike"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatski popuni korisnikove podatke iz SSO naloga"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Email dva puta"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Pitaj korisnika dva puta za email prilikom registracije"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Lozinka dva puta"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Pitaj korisnika dva puta za lozinku prilikom registracije"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Dozvoljeni domeni"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Ograniči registraciju na određene domene (razdvojeni zapetom, počinju sa @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Grupa pri registrovanju"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Grupa kojoj se novi korisnici dodeljuju pri registraciji. Ukoliko je SSO group sync omogućen, ova grupa će se dodavati ukoliko korisnik ne može da dobije grupu iz IdP-a."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Nametni MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Korisnici moraju koristiti multifaktorsku bezbednost"
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Proveri plugine pri pokretanju"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Proveri da li su svi pluginovi instalirani pri pokretanju - omogućeni u kontejnerskim okruženjima"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Proveri ažuriranja pluginova"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "Omogući periodično proveranje pluginova"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Omogući URL integraciju"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Omogući da pluginovi dodaju URL rute"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Omogući integraciju u navigaciju"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Omogući integraciju pluginova u navigaciju"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Omogući integraciju aplikacija"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Omogući pluginovima da dodaju aplikacije"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Omogući integraciju planiranja"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Omogući da plugini izvršavaju planirane zadatke"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Omogući integraciju događaja"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Omogući da plugini odgovaraju na unutrašnje događaje"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "Omogući integraciju interfejsa"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "Omogući integraciju pluginova u korisnički interfejs"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Ne uključuj eksterne lokacije"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Period automatskog popisa"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Prikaži puna imena korisnika"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Prikaži puna imena korisnika umesto korisničkih imena"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "Omogući podatke test stanica"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "Omogući prikupljanje podataka sa test stanica radi rezultata testova"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Prikaži puna imena korisnika"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Prikaži puna imena korisnika umesto korisničkih imena"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Omogući podatke test stanica"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Omogući prikupljanje podataka sa test stanica radi rezultata testova"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Deo je aktivan"
msgid "Manufacturer is Active"
msgstr "Proizvođač je aktivan"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Deo dobavljača je aktivan"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Interni deo je aktivan"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "Dobavljač je aktivan"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Proizvođač"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Kompanija"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "Ima zalihe"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Kompanije"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Opis kompanije"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Opis kompanije"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Vebsajt"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "Vebsajt kompanije"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Broj telefona"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Broj telefona kontakta"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Email adresa kontakta"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Osoba za kontakt"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Link ka eksternim informacijama o kompaniji"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "Da li je ova kompanija aktivna?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Je mušterija"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Da li prodajete stavke ovoj kompaniji?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Je dobavljač"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Da li kupujete stavke od ove kompanije?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Je proizvođač"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Da li ova kompanija proizvodi delove?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Podrazumevana valuta za ovu kompaniju"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adrese"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adrese"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Izaberi kompaniju"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Naslov adrese"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Naslov koji opisuje adresu"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Primarna adresa"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Postavi kao primarnu adresu"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Telefon 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adresa 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Telefon 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adresa 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Poštanski broj"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Grad/region"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Poštanski broj"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Država/provincija"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Država ili provincija"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Zemlja"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Adresa zemlje"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Beleške za kurira"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Beleške za kurira"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Interne beleške o isporuci"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Beleške o isporuci za internu upotrebu"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Link za adresne informacije (eksterni)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Deo proizvođača"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Osnovni deo"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Izaberi deo"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Izaberi proizvođača"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "Broj dela proizvođača"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Broj dela proizvođača"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL za link eksternog dela proizvođača"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Opis dela proizvođača"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Jedinice pakovanja moraju biti kompatibilne sa osnovnim jedinicama dela"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Jedinice pakovanja moraju biti veće od nule"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Dobavljač"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Izaberi dobavljača"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Jedinica za držanje dobavljačevih zaliha"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "Da li je ovaj deo dobavljača aktivan?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Izaberi deo proizvođača"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL za link dela eksternog dobavljača"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Opis dela dobavljača"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "osnovni trošak"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimalna naplata (npr. taksa za slaganje)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Pakovanje"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Pakovanje delova"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Količina pakovanja"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Ukupna količina dostavljena u jednom pakovanju. Ostaviti prazno za pojedinačne stavke."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "više"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Naruči više"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Količine dostupne od dobavljača"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Dostupnost ažurirana"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Datum poslednjeg ažuriranja podataka o dostupnosti"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "Smanjenje cene dobavljača"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Naziv kompanije"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Na zalihama"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Postavljen"
msgid "Invalid status code"
msgstr "Nevažeći statusni kod"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datoteka"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "Fajl sa podacima za uvoz"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Kolone"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "Status uvoza"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "Podrazumevane vrednosti polja"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "Promene polja"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Filteri polja"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "Neka neophodna polja nisu mapirana"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "Kolona je već mapirana u polje u bazi podataka"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "Polje je već mapirano u kolonu sa podacima"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "Mapiranje kolona mora biti linkovano da bi se uvezla važeća sesija"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "Kolona ne postoji u fajlu sa podacima"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "Polje ne postoji u ciljnom modelu"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "Izabrano polje je samo za čitanje"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "Uvezi sesiju"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Polje"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Kolona"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Indeks vrsta"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "Originalni podaci vrste"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Greške"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Važeće"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "Broj kopija za štampanje od svakog natpisa"
msgid "Connected"
msgstr "Konektovano"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Nepoznato"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Referenca naloga"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "Izvanredno"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Ima šifru projekta"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Kreirano do strane"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "Kreirano pre"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Kreirano nakon"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "Krajnji datum pre"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "Krajnji datum nakon"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "Ima cenu"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "Završen pre"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "Završen nakon"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Nalog"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "Nalog završen"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Interni deo"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "Nalog na čekanju"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Završeno"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "Ima isporuku"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Nalog za kupovinu"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Nalog za kupovinu"
msgid "Sales Order"
msgstr "Nalog za prodaju"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Ukupna cena"
msgid "Total price for this order"
msgstr "Totalna cena ovog naloga"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Valuta naloga"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Valuta za ovaj nalog (ostaviti prazno za podrazumevanu valutu kompanije)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Kontakt se ne poklapa sa izabranom kompanijom"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Opis naloga (opciono)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Izaberi šifru projekta za ovaj nalog"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Link ka eksternoj stranici"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Ciljani datum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Očekivani datum za isporuku. Nalog će biti zastareo nakon ovog datuma."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Datum izdavanja"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Datum kada je nalog izdat"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Korisnik ili grupa odgovorni za ovaj nalog"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Lice za kontakt za ovaj nalog"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Adresa kompanije za ovaj nalog"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Referenca naloga"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Status naloga za kupovinu"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Kompanija od koje su stavke naručene"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Referenca dobavljača"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Referentni kod dobavljača naloga"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "primljeno od strane"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Datum kada je nalog završen"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Odredište"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "Odredište za primljene stavke"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Dobavljač dela se mora poklapati sa dobavljačem naloga za kupovinu"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Stavka porudžbine se ne poklapa sa nalogom za kupovinu"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Količina mora biti pozitivan broj"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Mušterija"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Kompanija kojoj se prodaju stavke"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "Status naloga za prodaju"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Referenca mušterije"
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Referentni kod mušterijinog naloga"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Datum isporuke"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "isporučeno od strane"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "Nalog je već završen"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "Nalog je već otkazan"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Samo otvoren nalog može biti označen kao završen"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Nalog ne može biti završen jer ima nepotpunih isporuka"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "Nalog ne može biti završen jer ima nepotpunih alokacija"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Nalog ne može biti završen jer ima nezavršenih stavki porudbžine"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Količina stavki"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Referenca stavke porudbžine"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Beleške stavke porudbžine"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Krajnji datum za ovu stavku porudbćine (ostaviti prazno za krajnji datum sa naloga)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Opis stavke porudžbine (opciono)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Dodatni kontekst za ovu porudžbinu"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Cena jedinice"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "Stavka porudžbine naloga za kupovinu"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Deo dobavljača se mora poklapati sa dobavljačem"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Deo dobavljača"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Primljeno"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Broj primljenih stavki"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Kupovna cena"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Kupovna cena jedinice"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "Dodatna porudbžina naloga za kupovinu"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "Stavka porudžbine naloga za prodaju"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Samo delovi koji se mogu prodati mogu biti dodeljeni nalogu za prodaju"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Prodajna cena"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Prodajna cena jedinice"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Poslato"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Isporučena količina"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "Isporuka naloga za prodaju"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Datum isporuke"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Datum dostavljanja"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Datum dostavljanja isporuke"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Provereno od strane"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Korisnik koji je proverio ovu isporuku"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Isporuka"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Broj isporuke"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Broj praćenja"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Informacije o praćenju isporuke"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Broj računa"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Referentni broj za dodeljeni račun"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Isporuka je već poslata"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Isporuka nema alocirane stavke sa zaliha"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "Dodatne porudbžine naloga za prodaju"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "Alokacije naloga za prodaju"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Stavka sa zaliha nije dodeljena"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Ne mogu se alocirati stavke sa zaliha porudbžini sa drugačijim delom"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Ne mogu se alocirati zalihe porudbžini bez dela"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Alocirana količina ne sme da pređe količinu zaliha"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Količina alokacije mora da bude veća od nule"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Količina mora biti 1 za serijalizovane stavke sa zaliha"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Nalog za prodaju se ne poklapa sa isporukom"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Isporuka se ne poklapa sa nalogom za prodaju"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Porudbžina"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Referenca isporuke naloga za prodaju"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Stavka"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Izaberi stavku sa zaliha za alokaciju"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Unesi količinu za alokaciju zaliha"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Referenca naloga za vraćanje"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Kompanija čije stavke su vraćene"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Status naloga za vraćanje"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "Vrati stavku porudbžine"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "Stavka sa zaliha mora biti određena"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "Količina vraćanja je premašila količinu zaliha"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "Količina vraćanja mora biti veća od nule"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "Nevažeća količina za serijalizovane stavke sa zaliha"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Izaberi stavku za vraćanje od mušterije"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Primljeno datuma"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Datum kada je ova vraćena stavka primljena"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Ishod"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Ishod za ovu stavku porudžbine"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Trošak asociran sa popravkom ili vraćanjem ove stavke porudžbine"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "Doda"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "ID naloga"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "ID naloga koji će se duplirati"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "Kopiraj porudžbine"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "Kopiraj stavke porudžbine sa originalnog naloga"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "Kopiraj dodatne porudžbine"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "Kopiraj dodatne stavke porudžbine sa originalnog naloga"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopiraj parametre"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Stavke porudbžine"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "Završene porudbžine"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "Dupliraj nalog"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "Odredi opcije za dupliranje ovog naloga"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "Nevažeći ID naloga"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Naziv dobavljača"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Nalog ne može biti otkazan"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Dozvoli da nalog bude zatvoren sa nepotpunim porudžbinama"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Nalog ima nepotpune stavke porudžbine"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Nalog nije otvoren"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "Automatske cene"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "Automatski izračunaj kupovnu cenu na osnovu podataka o delovima dobavljača"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Valuta kupovne cene"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "Spoj stavke"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "Spoj stavke sa istim delom, odredištem i ciljanim datumom u jednu stavku porudžbine"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "Jedinica za praćenje zaliha"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Interni broj dela"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "Interni naziv dela"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Deo dobavljača mora biti određen"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Nalog za kupovinu mora biti određen"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Dobavljač mora da se poklapa sa nalogom za kupovinu"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Nalog za kupovinu mora da se poklapa sa dobavljačem"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Stavka porudbžine"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Izaberi odredišnu lokaciju za primljene stavke"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Unesi šifru ture za nadolazeće stavke sa zaliha"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Datum isteka"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Unesi serijske brojeve za nadolazeće stavke sa zaliha"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "Promeni informacije o pakovanju za nadolazeće stavke sa zaliha"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "Dodatne beleške za nadolazeće stavke sa zaliha"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Bar kod"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Skeniran bar kod"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Bar kod je već u upotrebi"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Stavke porudžbine moraju biti dostavljene"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Odredišna lokacija mora biti određena"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Pružene vrednosti bar kodova moraju biti jedinstvene"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "Isporuke"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Završene isporuke"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Valuta prodajne cene"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "Alocirane stavke"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Nisu dostavljeni detalji isporuke"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Stavka porudžbine nije asocirana sa ovim nalogom"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Količina mora biti pozitivna"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Unesi serijske brojeve za alokaciju"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Isporuka je već isporučena"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Isporuka nije povezana sa ovim nalogom"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Nema pronađenih poklapanja za sledeće serijske brojeve"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "Sledeći serijski brojevi su nedostupni"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Stavka porudžbine naloga za vraćanje"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Stavka porudžbine se ne poklapa sa nalogom za vraćanje"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Stavka porudžbine je već primljena"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Stavke se mogu primiti samo na osnovu naloga koji su u toku"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "Količina za vraćanje"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Valuta cene porudžbine"
@@ -5532,1174 +5613,1226 @@ msgstr "Refundiraj"
msgid "Reject"
msgstr "Odbij"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Istekli nalozi za kupovinu"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Nalog za kupovinu {po} je sada istekao"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Istekli nalozi za prodaju"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Nalog za prodaju {so} je sada istekao"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "Označeno zvezdicom"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "Filtiraj po kategorijama označenim zvezdicom"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Dubina"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "Filtriraj po dubini kategorije"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "Vrhovni"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "Filtriraj po vrhovnim kategorijama"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "Kaskadno"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "Uključi pod-kategorije u filtriranim rezultatima"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Nadređen"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Filtriraj po nadređenoj kategoriji"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "Ne uključuj pod-kategorije pod specifičnom kategorijom"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Ima rezultate"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "Je revizija"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "Ima revizije"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "Spisak materijala validan"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "Deo sklopa se može testirati"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "Deo komponente se može testirati"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Koristi"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Kategorija dela"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Kategorije delova"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Podrazumevana lokacija"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Podrazumevana lokacija za delove ove kategorije"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Strukturno"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Delovi ne mogu biti direktno dodeljene strukturnoj kategoriji, ali mogu biti dodeljeni podređenim kategorijama."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Podrazumevane ključne reči"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Podrazumevane ključne reči za delove ove kategorije"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikonica"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikonica (opciono)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Ova kategorija dela se ne može podesiti kao strukturna jer već ima dodeljene neke delove!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "Šablon parametara kategorije dela"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Podrazumevana vrednost"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Podrazumevana vrednost parametra"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Delovi"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Ovaj deo se ne može izbrisati jer je zaključan"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Ovaj deo se ne može izbrisati jer je i dalje aktivan"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Ovaj deo se ne može obrisati jer se koristi u sklopu"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Deo '{self}' ne može biti korišćen u spisku materijala za '{parent}' (recursive)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Deo '{parent}' se koristi u spisku materijala za '{self}' (recursive)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "Interni broj dela se mora slagati sa regex šablonom {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "Deo ne može biti revizija samog sebe"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "Ne može se kreirati revizija dela koji je već revizija"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "Šifra revizije mora biti dostavljena"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "Revizije su dozvoljene samo za delove sklopove"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "Ne može se izvršiti revizija šablonskog dela"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "Nadređeni deo mora biti vezan sa istim šablonom"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Stavka sa ovim serijskim brojem već postoji"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Duplirani interni brojevi dela nisu dozvoljeni u podešavanjima dela"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "Identična revizija dela već postoji"
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Deo sa ovim nazivom, internim brojem dela i revizijom već postoji"
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Delovi ne mogu biti dodeljeni strukturnim kategorijama delova!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Naziv dela"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Jeste šablon"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Da li je ovaj deo šablonski deo?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Da li je ovaj deo varijanta drugog dela?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Varijanta od"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Opis dela (opciono)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Ključne reči"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Ključne reči dela da bi se poboljšala vidljivost u rezultatima pretrage"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Kategorija dela"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "Interni broj dela"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Revizija dela ili broj verzije"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revizija"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "Da li je ovaj deo revizija drugog dela?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Revizija od"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Gde je ova stavka inače skladištena?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Podrazumevani dobavljač"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Podrazumevani deo dobavljača"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Podrazumevani istek"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Vreme isteka (u danima) za stavke sa zaliha ovog dela"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimalne zalihe"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Minimalni dozvoljen nivo zaliha"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Jedinice mere za ovaj deo"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Da li ovaj deo može biti izgrađen od drugih delova?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Da li ovaj deo može biti korišćen za izradu drugih delova?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Da li ovaj deo ima praćenje za više stavki?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "Da li ovaj deo može imati svoje rezultate testa?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Da li ovaj deo može biti kupljen od eksternih dobavljača?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Da li ovaj deo može biti prodat mušterijama?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Da li je ovaj deo aktivan?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "Zaključani delovi se ne mogu menjati"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Da li je ovo virtuelni deo, kao na primer softver ili licenca?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Suma spiska materijala"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Uskladištena suma spiska materijala"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "Spisak materijala proveren od strane"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Spisak materijala proveren datuma"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Korisnik koji je kreirao"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Vlasnik odgovoran za ovaj deo"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Prodaj više"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Valuta korišćena za vršenje proračuna o cenama"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Minimalna vrednost spiska materijala"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Minimalna vrednost komponenti delova"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Maksimalna vrednost spiska materijala"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Maksimalna vrednost komponenti delova"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Minimalna kupovna vrednost"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Minimalna istorijska kupovna vrednost"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Maksimalna kupovna vrednost"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Maksimalna istorijska kupovna vrednost"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Minimalna interna cena"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Minimalna cena bazirana na internim sniženjima cena"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Maksimalna interna cena"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Maksimalna vrednost bazirana na internim sniženjima cena"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Minimalna cena dobavljača"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Minimalna cena dela od eksternih dobavljača"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Maksimalna cena dobavljača"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Maksimalna cena dela od eksternih dobavljača"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Minimalna vrednost varijanti"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Izračunata minimalna vrednost varijanti delova"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Maksimalna vrednost varijanti"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Izračunata maksimalna vrednost varijanti delova"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Minimalna vrednost"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Promeni minimalnu vrednost"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Maksimalna vrednost"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Promeni maksimalnu vrednost"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Ukupna izračunata minimalna vrednost"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Ukupna izračunata maksimalna vrednost"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Minimalna prodajna cena"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Minimalna prodajna cena bazirana na osnovu sniženja cena"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Maksimalna prodajna cena"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Maksimalna prodajna cena bazirana na osnovu sniženja cena"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Minimalna prodajna vrednost"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Minimalna istorijska prodajna cena"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Maksimalna prodajna vrednost"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Maksimalna istorijska prodajna cena"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Deo za popis"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Broj stavki"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Broj individualnih unosa zaliha u vreme popisa"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Ukupne dostupne zalihe za vreme popisa"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Datum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Datum kada je izvršen popis"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Minimalna vrednost zaliha"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Procenjena minimalna vrednost trenutnih zaliha"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Maksimalna vrednost zaliha"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Procenjena maksimalna vrednost trenutnih zaliha"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "Smanjenje prodajne cene dela"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "Šablon testa dela"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "Nevažeći naziv šablona - mora da uključuje bar jedan alfanumerički karakter"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "Test šabloni mogu biti kreirani samo za delove koje je moguće testirati"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "Test šablon sa istim ključem već postoji za ovaj deo"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Naziv testa"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Unesi naziv za ovaj test"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "Test ključ"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "Pojednostavljen ključ za test"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Opis testa"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Unesi opis za ovaj test"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "Da li je ovaj test omogućen?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Neophodno"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Da li je neophodno da ovaj test prođe?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Zahteva vrednost"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Da li ovaj test zahteva vrednost prilikom dodavanja rezultata testa?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Zahteva prilog"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Da li ovaj test zahteva fajl kao prilog prilikom dodavanja rezultata testa?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "Validni izbori za ovaj test (razdvojeni zapetom)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje je zaključano"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje varijanti je zaključano"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Izaberi nadređeni deo"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Pod-deo"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Izaberi deo koji će biti korišćen u spisku materijala"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Količina spiskova materijala za ovu stavku sa spiska materijala"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Ova stavka sa spiska materijala je opciona"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ova stavka sa spiska materijala se može potrošiti (nije praćena u nalozima za izradu)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Referenca stavke sa spiska materijala"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Beleške stavki sa spiska materijala"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Suma"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Suma spiska materijala"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validirano"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Ova stavka sa spiska materijala je validirana"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Biva nasleđeno"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ova stavka sa spiska materijala je nasleđivana od spiska materijala za varijante delova"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Stavke sa zaliha za varijante delova se mogu koristiti za ovu stavku sa spiska materijala"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Količina mora biti ceo broj za delove koji se mogu pratiti"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Zamenski deo mora biti određen"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Zamenska stavka sa spiska materijala"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Zamenski deo ne može biti isti kao glavni deo"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Nadređena stavka sa spiska materijala"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Zamenski deo"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Deo 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Deo 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Izaberi povezan deo"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "Beleška za ovu relaciju"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Relacija između delova ne može biti kreirana između jednog istog dela"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Identična veza već postoji"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "Nadređena kategorija"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "Nadređena kategorija dela"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Podkategorije"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Rezultati"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "Broj rezultata napravljenih na osnovu ovog šablona"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Valuta kupovine za ovu stavku sa zaliha"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Originalni deo"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Izaberi originalni deo za duplikaciju"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopiraj sliku"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Kopiraj sliku sa originalnog dela"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Kopiraj spisak materijala"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Kopiraj spisak materijala sa originalnog dela"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopiraj parametre"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Kopiraj parametarske podatke sa originalnog dela"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Kopiraj beleške"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Kopiraj beleške sa originalnog dela"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Inicijalna količina zaliha"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Odredi inicijalnu količinu zaliha za ovaj deo. Ukoliko je količina nula, neće biti dodate zalihe."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Inicijalna lokacija zaliha"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Odredi inicijalnu lokaciju zaliha za ovaj deo"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Izaberi dobavljača (ostavi prazno za preskakanje)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Izaberi proizvođača (ostavi prazno za preskakanje)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Broj dela proizvođača"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Izabrana kompanija nije validan dobavljač"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Izabrana kompanija nije validan proizvođač"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Deo proizvođača koji se poklapa sa ovim brojem dela proizvođača već postoji"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "Deo dobavljača koji se opklapa sa ovim brojem dela dobavljača već postoji"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Naziv kategorije"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Izrađivanje"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Stavke sa zaliha"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Revizije"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Dobavljači"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Ukupne zalihe"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "Nealocirane zalihe"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "Varijante zaliha"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Dupliraj deo"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "Kopiraj inicijalne podatke od drugog dela"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Početne zalihe"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "Kreiraj deo sa početnom količinom zaliha"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Informacije o dobavljaču"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Kopiraj parametre kategorije"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Postojeća slika"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "Ime fajla postojeće slike dela"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Fajl sa slikom ne postoji"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Validiraj ceo spisak materijala"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Može se izgraditi"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Minimalna cena"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Izmeni izračunatu vrednost za minimalnu cenu"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Minimalna valuta cene"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Maksimalna cena"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Izmeni izračunatu vrednost maksimalne cene"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Maksimalna valuta cene"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Ažuriraj"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Ažuriraj cene za ovaj deo"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Nija moguća konverzija iz dostavljen valute u {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "Minimalna cena ne sme biti veća od maksimalne cene"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "Maksimalna cena ne sme biti manja od minimalne cene"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "Izaberi nadređeni sklop"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "Izaberi komponentu dela"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "Izaberi deo sa kog će se kopirati spisak materijala"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Ukloni postojeće podatke"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Uključi nasleđeno"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "Uključi stavke sa spiska materijala koje su nasleđene od šablonskih delova"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Preskoči nevažeće vrste"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Kopiraj zamenske delove"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Notifikacija o niskim zalihama"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Dostupne zalihe za {part.name} su pale ispod konfigurisanog minimalnog nivoa"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Nema određene akcije"
msgid "No matching action found"
msgstr "Nema poklapajuće akcije"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Nema poklapanja za podatke sa bar koda"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Pronađeno poklapanje za podatke sa bar koda"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "Model nije podržan"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "Instanca modela nije pronađena"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Bar kod se poklapa sa postojećom stavkom"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Nema podudarajućih podataka o delovima"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Nema pronađenih podudarajućih delova dobavljača"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Više podudarajućih delova dobavljača pronađeno"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "Nema podudarajućeg plugina za podatke sa bar koda"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Podudarajući deo dobavljača"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Stavka je već primljena"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "Nijedan plugin se ne poklapa sa dobavljačevim bar kodom"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "Više pronađenih poklapajućih stavki porudžbine"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "Nema podudarajućih stavki porudbžine pronađenih"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "Nema dostavljenih naloga za prodaju"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "Bar kod se ne poklapa sa postojećom stavkom sa zaliha"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "Stavka sa zaliha se ne podudara sa stavkom porudbžine"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Nedovoljno dostupnih stavki"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "Stavka alocirana nalogu za prodaju"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Nema dovoljno informacija"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "Pronađena stavka"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "Deo dobavljača se ne poklapa sa stavkom porudžbine"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "Stavka porudžbine je već završena"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Dalje informacije neophodne za primanje ove stavke"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Primljene stavke sa naloga za kupovinu"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "Greška pri prijemu stavke porudžbine"
@@ -6972,7 +7105,7 @@ msgstr "Pruža ugrađenu podršku za bar kodove"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack dolazeći webhook url"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "Mašinsko štampanje natpisa"
msgid "Provides support for printing using a machine"
msgstr "Pruža podršku za štampanje pomoću mašine"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "poslednji put korišćeno"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Opcije"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Ključ plugina"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Ime plugina"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "Paket plugin"
msgid "Plugin"
msgstr "Plugin"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Nije pronađen autor"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Plugin '{p}' nije kompatibilan sa trenutnom verzijom aplikacije {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Plugin zahteva najmanje verziju {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Plugin zahteva najviše verziju {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Instalacija nije potvrđena"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Ili ime paketa ili URL moraju biti dostavljeni"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Ukupno"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Serijski broj"
@@ -8097,7 +8230,7 @@ msgstr "Izveštaj sa testa za stavku sa zaliha"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Instalirane stavke"
@@ -8130,495 +8263,519 @@ msgstr "Nema rezultata (neophodno)"
msgid "No result"
msgstr "Nema rezultata"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Fajl ne postoji"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Slika nije pronađena"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "part_image tag zahteva instancu dela"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "company_image tag zahteva instancu kompanije"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "Filtriraj po dubini lokacije"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "Filtriraj po nadređenim lokacijama"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "Uključi podlokacije u filtriranim rezultatima"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "Nadređena lokacija"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "Filtriraj po nadređenoj lokaciji"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "Ime dela"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "Ime dela sadrži"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "Ime dela (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "Interni deo broja"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "Interni deo broja sadrži (osetljivo na velika i mala slova)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "Interni broj dela (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "Minimalne zalihe"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "Maksimalne zalihe"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Statusni kod"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Eksterna lokacija"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "Potrošeno od strane naloga za izradu"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "Instalirano u drugu stavku sa zaliha"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Stablo dela"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "Ažurirano pre"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Ažurirano nakon"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "Popis pre"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "Popis nakon"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Datum isteka pre"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Datum isteka nakon"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Zastarelo"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Količina je neophodna"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Validan deo mora biti dosavljen"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Dati dobavljač ne postoji"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Deo dobavljača ima definisanu veličinu pakovanja, ali fleg use_pack_size nije postavljen"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Serijski brojevi ne mogu biti dostavljeni za deo koji nije moguće pratiti"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Tip lokacije zaliha"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Tipovi lokacija zaliha"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Podrazumevana ikonica za sve lokacije koje nemaju podešenu ikonicu (opciono)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Lokacija zaliha"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Lokacija zaliha"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Vlasnik"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Izaberi vlasnika"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Stavke sa zaliha ne mogu biti direktno locirane u strukturnim lokacijama zaliha, ali mogu biti locirane u podređenim lokacijama."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Eksterna"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Ovo je eksterna lokacija zaliha"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Tip lokacije"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Tip lokacija zaliha za ovu lokaciju"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Ne možete postaviti ovu lokaciju zaliha kao strukturnu jer su već neke stavke locirane na njoj!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "Deo mora biti određen"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Stavka sa zaliha ne može biti locirana u strukturnim lokacijama zaliha!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Stavka sa zaliha ne može biti kreirana za virtuelne delove"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Deo tipa ('{self.supplier_part.part}') mora biti {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Količina mora biti 1 za stavku sa serijskim brojem"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Serijski broj ne može biti postavljen ukoliko je količina veća od 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Stavka ne može da pripada samoj sebi"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Stavka mora da ima referencu izgradnje ukoliko is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Referenca izgradnje ne ukazuje na isti objekat dela"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Nadređena stavka sa zaliha"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Osnovni deo"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Izaberi odgovarajući deo dobavljača za ovu stavku sa zaliha"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Gde je locirana ova stavka sa zaliha?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Pakovanje u kom je ova stavka sa zaliha"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Instalirano u"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Da li je ova stavka instalirana u drugu stavku?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Serijski broj za ovu stavku"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Šifra ture za ovu stavku sa zaliha"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Količina zaliha"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Izvorna gradnja"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Nalog za ovu stavku sa zaliha"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Potrošeno od strane"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Nalog za izradu koji je potrošio ovu stavku sa zaliha"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Izvorni nalog za kupovinu"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Nalog za kupovinu za ovu stavku sa zaliha"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Odredište naloga za prodaju"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Datum isteka za stavku sa zaliha. Zalihe će se smatrati isteklim nakon ovog datuma"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Obriši kad je potrošeno"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Obriši ovu stavku sa zaliha kada su zalihe potrošene"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Cena kupovine jedne jedinice u vreme kupovine"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Konvertovano u deo"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Deo nije postavljen kao deo koji je moguće pratiti"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Količina mora biti ceo broj"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Količina ne sme da pređe dostupnu količinu zaliha ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "Serijski brojevi moraju biti dostavljeni kao lista"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Količine se ne poklapaju sa serijskim brojevima"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "Test šablon ne postoji"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Stavka sa zaliha je dodeljena nalogu za prodaju"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Stavka sa zaliha je instalirana u drugu stavku"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Stavka sa zaliha sadrži druge stavke"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Stavka sa zaliha je dodeljena mušteriji"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Stavka sa zaliha je trenutno u produkciji"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Serijalizovane zalihe se ne mogu spojiti"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Dupliraj stavke sa zaliha"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Stavke sa zaliha se moraju odnositi na isti deo"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Stavke sa zaliha se moraju odnositi na isti deo dobavljača"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Statusne šifre zaliha moraju da se poklapaju"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stavka se ne može pomeriti jer nije na zalihama"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "Praćenje stavke sa zaliha"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Ulazne beleške"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "Rezultat testa stavke sa zaliha"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Vrednost mora biti dostavljena za ovaj test"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Prilog mora biti dostavljen za ovaj test"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "Nevažeća vrednost za ovaj test"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Rezultat testa"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Vrednost završetka testa"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Prilog uz test rezultat"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Beleške sa testa"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "Stanica za testiranje"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "Identifikator stanice za testiranje gde je test izvršen"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Započeto"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "Vreme početka testa"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "Završeno"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "Vreme završetka testa"
@@ -8662,246 +8819,246 @@ msgstr "Izaberi deo za koji će se generisati serijski broj"
msgid "Quantity of serial numbers to generate"
msgstr "Količina serijskih brojeva koji će se generisati"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "Test šablon za ovaj rezultat"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "ID šablona ili ime testa mora biti dostavljeno"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "Vreme završetka testa ne može biti pre vremena početka testa"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Nadređena stavka"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "Nadređena stavka sa zaliha"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Koristi pakovanja prilikom dodavanja: količina je definisana brojem pakovanja"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Unesi serijske brojeve za nove stavke"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Dobavljački broj dela"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Isteklo"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Podređene stavke"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "Stavke za praćenje"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Nabavna cena ove stavke, po jedinici ili pakovanju"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Unesi broj stavka sa zaliha za serijalizaciju"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Količina ne sme da pređe dostupnu količinu zaliha ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Odredišna lokacija zaliha"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Serijski brojevi ne mogu biti dodeljeni ovom delu"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Serijski broj već postoji"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Izaberi stavku za instaliranje"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Količina za instaliranje"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Izaberi količinu stavki za instaliranje"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Dodaj beleške transakcija (opciono)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Količina za instaliranje mora biti najmanje 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Stavka je nedostupna"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Izabrani deo nije na spisku materijala"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Količina za instaliranje ne sme preći dostupnu količinu"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Odredišna lokacija za deinstalirane stavke"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Izaberi deo u koji će se konvertovati stavka"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Izabrani deo nije validna opcija za konverziju"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Ne može se konvertovati stavka sa dodeljenim delom dobavljača"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Statusni kod stavke sa zaliha"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Izaberi stavke kojoj će se promeniti status"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Nije izabrana stavka"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Podlokacije"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "Lokacija nadređenih zaliha"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Deo mora biti za prodaju"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Stavka je alocirana nalogu za prodaju"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Stavka je alocirana nalogu za izradu"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Mušterija kojoj će se dodeliti stavke sa zaliha"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Izabrana kompanija nije mušterija"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Beleške dodeljivanja zaliha"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Lista stavki mora biti dostavljena"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Beleške spajanja zaliha"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Dozvoli neslagajuće dobavljače"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Dozvoli spajanje stavki sa različitim delovima dobavljača"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Dozvoli neslagajući status"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Dozvoli spajanje stavki sa različitim statusnim kodovima"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Bar dve stavke moraju biti dostavljene"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Nema promena"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Vrednost primarnog ključa stavke"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "Stavka nije na zalihama"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Beleške transakcija zaliha"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Nalozi za prodaju"
msgid "Return Orders"
msgstr "Nalozi za vraćanje"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Korisničko ime"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Ime"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Ime korisnika"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Prezime"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Prezime korisnika"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Adresa E-pošte korisnika"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Osoblje"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Da li ovaj korisnik ima dozvole koje ima osoblje?"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Super korisnik"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Da li je ovaj korisnik Super korisnik?"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Da li je nalog ovog korisnika aktivan?"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Vaš nalog je kreiran"
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Molimo vas koristite opciju resetovanja lozinke da biste se prijavili"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Dobrodošli u InvenTree"
diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
index e57736a24b..d7fd0ba098 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API-slutpunkt hittades inte"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Användaren har inte behörighet att se denna modell"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-post (igen)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Bekräfta e-postadress"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Du måste ange samma e-post varje gång."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Den angivna primära e-postadressen är inte giltig."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Den angivna e-postdomänen är inte godkänd."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Kunde inte konvertera {original} till {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
@@ -112,13 +104,13 @@ msgstr "Ange datum"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Anteckningar"
@@ -131,75 +123,75 @@ msgstr "Värdet '{name}' visas inte i mönsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Tom serienummersträng"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Serienummret finns redan"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Ogiltig grupp: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Gruppintervall {group} överstiger tillåtet antal ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Inga serienummer hittades"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Ta bort HTML-taggar från detta värde"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Anslutningsfel"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Servern svarade med ogiltig statuskod"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Undantag inträffade"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Servern svarade med ogiltigt innehållslängdsvärde"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Bilden är för stor"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Nedladdning av bilder överskred maximal storlek"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Fjärrservern returnerade tomt svar"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "Angiven URL är inte en giltig bildfil"
@@ -207,11 +199,11 @@ msgstr "Angiven URL är inte en giltig bildfil"
msgid "Log in to the app"
msgstr "Logga in på appen"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-postadress"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Du måste aktivera tvåfaktorsautentisering innan du kan göra något annat."
@@ -255,133 +247,124 @@ msgstr "Referensen måste matcha obligatoriskt mönster"
msgid "Reference number is too large"
msgstr "Referensnumret är för stort"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Namn"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Beskrivning"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Beskrivning (valfritt)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Sökväg"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown anteckningar (valfritt)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Streckkodsdata"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Tredje parts streckkodsdata"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Streckkodsdata"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Unik hash med streckkodsdata"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Befintlig streckkod hittades"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Serverfel"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Bild"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Välj valuta från tillgängliga alternativ"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Ogiltigt värde"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Fjärransluten bild"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL för fjärrbildsfil"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Kinesiska (Förenklad)"
msgid "Chinese (Traditional)"
msgstr "Kinesiska (Traditionell)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Ogiltig fysisk enhet"
msgid "Not a valid currency code"
msgstr "Inte en giltig valutakod"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Orderstatus"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Föregående tillverkning"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Inkludera varianter"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Inkludera varianter"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Inkludera varianter"
msgid "Part"
msgstr "Del"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategori"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Tilldelad till"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Skapad före"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Skapad efter"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Har startdatum"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Tillverkningen måste avbrytas innan den kan tas bort"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Valfri"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Spårad"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Testbar"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Allokerad"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Konsumerad"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Tillgänglig"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Byggorder"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Plats"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Byggordrar"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Tillverknings order referens"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Tillverknings order referens"
msgid "Reference"
msgstr "Referens"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "Tillverknings order till vilken detta produkt är tilldelad"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Välj del att tillverka"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Försäljningsorderreferens"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Försäljningsorder till vilken detta bygge allokeras"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Källa Plats"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Destinationsplats"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Välj plats där de färdiga objekten kommer att lagras"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Tillverkat antal"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Antal lagerobjekt att bygga"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Slutförda objekt"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Antal lagerposter som har slutförts"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Tillverknings status"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Tillverkning statuskod"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Batchkod"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Batch-kod för denna byggutdata"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Skapad"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Datum för slutförande"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Måldatum för färdigställande. Tillverkningen kommer att förfallas efter detta datum."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Slutförandedatum"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "slutfört av"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Utfärdad av"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Användare som utfärdade denna tillverknings order"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Ansvarig"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Extern länk"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Länk till extern URL"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Projektkod"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Tillverknings order {build} har slutförts"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "En tillverknings order har slutförts"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Ingen byggutgång angiven"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Byggutgång är redan slutförd"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Byggutgång matchar inte bygg order"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Bygg objekt"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Bygg objekt"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Antal"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Antal måste vara 1 för serialiserat lager"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Lagerposten är överallokerad"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Allokeringsmängden måste vara större än noll"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Antal måste vara 1 för serialiserat lager"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Artikel i lager"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Källa lagervara"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Lagersaldo att allokera för att bygga"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Installera till"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Destination lagervara"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Delnamn"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Bygg utdata"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Byggutdata matchar inte överordnad version"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Serienummer"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Ange serienummer för att tillverkade produkter"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "En lista över tillverkade produkter måste anges"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Lagerplats för skrotade produkter"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Ignorera alla lagerallokeringar för skrotade produkter"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Plats för färdiga produkter"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Slutför utfall om lager inte har tilldelats fullt ut"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Ta bort ofullständiga produkter"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Ta bort eventuella produkter som inte har slutförts"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Acceptera ofullständig"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Acceptera att det önskade antalet produkter som inte har slutförts"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Tillverknings ordern är ofullständig"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Spårbar"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Ärvd"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Tillåt varianter"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "Avbruten"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Slutför"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Är länk"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Är fil"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Ogiltig valutakod"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Uppdaterad"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr "Uppdaterad av"
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Unik projektkod"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Projektbeskrivning"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Användare"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Pris"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Hemlig"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Meddelande-ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Värd"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Id"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Titel"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Länk"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Sammanfattning"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Läs"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Bildfil"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Definition"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Bilaga"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Saknad fil"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Extern länk saknas"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Modelltyp"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Kommentar"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Uppladdningsdatum"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Filstorlek"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Logisk nyckel"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Värde"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etikett"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Färg"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Modell"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Låst"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Källsträng"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Skapad"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Senast uppdaterad"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parametermall"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Kryssruta"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Val"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Aktiverad"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Mall"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Data"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Streckkodsdata"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Tidsstämpel"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Sammanhang"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Svar"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Resultat"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Ett fel inträffade"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "E-postmeddelande"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Bekräftad"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Inget svar"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "Tråd-ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Tråd"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "E-posttrådar"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Nyckel"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Väntande uppgifter"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Schemalagda uppgifter"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Misslyckade uppgifter"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Uppgifts-ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Lås"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Uppgiftsnamn"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Funktion"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Funktionsnamn"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argument"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Filnamn"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Modelltyp"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Ingen grupp"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Omstart krävs"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Serverinstans (Namn)"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Företagsnamn"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Internt företagsnamn"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Bas-URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Bas-URL för serverinstans"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Standardvaluta"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "dagar"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Ladda ner från URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Tillåt nedladdning av bilder och filer från extern URL"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Stöd för streckkoder"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Komponent"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Virtuell"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Delar är virtuella som standard"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Visa relaterade delar"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Visa relaterade delar för en del"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Visningsformat för delnamn"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Formatera för att visa artikelnamnet"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Interna priser"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Aktivera etikettutskrift"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Aktivera etikettutskrift från webbgränssnittet"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "Etikettbild DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Aktivera rapporter"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Aktivera generering av rapporter"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Debugläge"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Sidstorlek"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Standard sidstorlek för PDF-rapporter"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "Förhindra produktion från att slutföras tills alla nödvändiga tester är klara"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Aktivera registrering"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Aktivera SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Tillåtna domäner"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Tillverkare"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Företag"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Företag"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Företagsbeskrivning"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Webbplats"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Är kund"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "Är leverantör"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "Är tillverkare"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adress"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adresser"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Välj företag"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Primär adress"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Rad 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Adressrad 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Rad 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Adressrad 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Postnummer"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Land"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Basdel"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Välj del"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "MPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Leverantör"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Välj leverantör"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "Företagsnamn"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "I lager"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Placerad"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Datafil"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "Kolumner"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "Fältfilter"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "Fält"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "Kolumn"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "Radindex"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "Fel"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Giltig"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr "Ansluten"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Okänd"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "Har projektkod"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Skapad av"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "Skapad efter"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Intern del"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Slutförd"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr "Försäljningsorder"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "Startdatum"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Måldatum"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Status"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Mål"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Kund"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Skickad"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Leveransdatum"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Kontrollerad av"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Fakturanummer"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Allokeringsmängden måste vara större än noll"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Rad"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Kopiera parametrar"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Leverantörsnamn"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Streckkod"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr "Återbetala"
msgid "Reject"
msgstr "Avvisa"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Djup"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "Har resultat"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "Är variant"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "Använder"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Delkategori"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Ikon (valfritt)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Standardvärde"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Artiklar"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Delnamn"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Är mall"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Variant av"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Nyckelord"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Delkategori"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revision"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Standardleverantör"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Datum"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Validerad"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Del 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Del 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Underkategorier"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Resultat"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Originaldel"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Kopiera bild"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Kopiera parametrar"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "Kopiera test"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Kategorinamn"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "Revisioner"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Leverantörer"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Uppdatera"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Hoppa över ogiltiga rader"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Ingen åtgärd specificerad"
msgid "No matching action found"
msgstr "Ingen matchande åtgärd hittades"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "Nivåer"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "senast använd"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "Alternativ"
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Serienummer"
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr "Inga resultat"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Statuskod"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Extern plats"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "Uppdaterad efter"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Ägare"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Välj ägare"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Platstyp"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Grunddel"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Konverterad till del"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Testresultat"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "Startad"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "Ingen förändring"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Användarnamn"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Förnamn"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Förnamn på användaren"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Efternamn"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Efternamn på användaren"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Avsändarens E-postadress"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personal"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Har den här användaren behörighet för personal"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superanvändare"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Är den här användaren en superanvändare"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Är detta användarkonto aktivt"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "Lösenord"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Ditt konto har skapats."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Använd funktionen för lösenordsåterställning för att logga in"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Välkommen till InvenTree"
diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
index 048dbef3ec..f0aada323a 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "ไม่พบ API endpoint"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "อีเมล (อีกครั้ง)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "การยืนยันอีเมล"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr ""
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr ""
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr ""
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
@@ -112,13 +104,13 @@ msgstr "ป้อนวันที่"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "หมายเหตุ"
@@ -131,75 +123,75 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "หมายเลขซีเรียลซ้ำกัน"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "ไม่พบหมายเลขซีเรียล"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "การเชื่อมต่อขัดข้อง"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "อีเมล"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "ชื่อ"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "คำอธิบาย"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr ""
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr ""
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "ข้อมูลบาร์โค้ด"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "บาร์โค้ดนี้มีในระบบแล้ว"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr ""
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "สกุลเงิน"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr ""
msgid "Chinese (Traditional)"
msgstr ""
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr ""
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr ""
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr ""
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr ""
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr ""
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "สถานที่"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr ""
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "ออกโดย"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "จำนวนต้องมีค่ามากกว่า 0"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr ""
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr ""
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr ""
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr "ยกเลิกแล้ว"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "สำเร็จแล้ว"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "ผู้ใช้งาน"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr ""
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "ลิงก์"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "ไฟล์แนบ"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "ไม่พบไฟล์"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "เลือกไฟล์ที่ต้องการแนบ"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "ความคิดเห็น"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr ""
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr ""
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr ""
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr ""
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "ชื่อไฟล์"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr ""
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr ""
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr ""
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr ""
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr ""
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr ""
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr ""
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr ""
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr ""
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "ไฟล์ข้อมูล"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr ""
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr ""
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "สำเร็จแล้ว"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "สถานะ"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "จัดส่งแล้ว"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "ชิ้นส่วน"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr ""
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr ""
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr ""
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr ""
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr ""
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr ""
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr ""
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
-msgid "Minimum Price"
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
msgstr ""
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr ""
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr ""
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr ""
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr ""
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "ยินดีต้อนรับเข้าสู่ Inventree"
diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
index 83fdd0090f..888915286e 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API uç noktası bulunamadı"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Toplu işlem için öge veya filtre listesi sağlanmalıdır"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Ögeler bir liste olarak sağlanmalıdır"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Geçersiz ögeler listesi sağlandı"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Filtreler bir sözlük olarak sağlanmalıdır"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Geçersiz filtreler sağlandı"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "Tüm filtre yalnızca true ile kullanılmalıdır"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Sağlanan ölçüte uygun bir eşleşme yok"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Değer verilmemiş"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "Bu alan eşsiz olmalı."
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Kullanıcının bu modeli görüntüleme izni yok"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "E-posta (tekrar)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "E-posta adresi onayı"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Her seferind eaynı e-posta adresini yazmalısınız."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Sağlanan e-posta adresi geçerli değil."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Sağlanan e-posta alanı onaylanmadı."
@@ -96,13 +88,13 @@ msgid "Could not convert {original} to {unit}"
msgstr "{original} birimi {unit} birimine dönüştürülemedi"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
#: InvenTree/exceptions.py:136
msgid "Error details can be found in the admin panel"
-msgstr "Hata detaylarını admin panelinde bulabilirsiniz"
+msgstr "Hata ayrıntıları yönetici panelinde bulunabilir"
#: InvenTree/fields.py:146
msgid "Enter date"
@@ -112,13 +104,13 @@ msgstr "Tarih giriniz"
msgid "Invalid decimal value"
msgstr "Geçersiz ondalık değer"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Notlar"
@@ -131,87 +123,87 @@ msgstr "'{name}' değeri desen formatında yer almıyor"
msgid "Provided value does not match required pattern: "
msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Geçersiz grup: {grup}"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Boş seri numarası dizesi"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Yinelenen seri"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "Geçersiz grup: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Grup aralığı {group}, izin verilen miktarı aşmaktadır ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Seri numarası bulunamadı"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "Benzersiz seri numaralarının sayısı ({n}) miktarla eşleşmeli ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Bu değerden HTML etiketlerini kaldır"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Veriler yasaklanmış işaretleme içeriği içeriyor"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Sunucu geçersiz durum kodu ile cevap verdi"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "İstisna oluştu"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
-msgstr "Resim boyutu çok büyük"
-
-#: InvenTree/helpers_model.py:167
-msgid "Image download exceeded maximum size"
-msgstr "Resim indirme boyutu izin verilenden büyük"
+msgstr "Görsel boyutu çok büyük"
#: InvenTree/helpers_model.py:172
+msgid "Image download exceeded maximum size"
+msgstr "Görsel indirme maksimum boyutu aştı"
+
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Uzak sunucu boş cevap döndü"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
-msgstr "Sağlanan URL geçerli bir resim dosyası değil"
+msgstr "Sağlanan URL geçerli bir görsel dosyası değil"
#: InvenTree/magic_login.py:31
msgid "Log in to the app"
msgstr "Uygulamaya giriş yapın"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "E-posta"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Başka bir şey yapmadan önce iki faktörlü kimlik doğrulamayı etkinleştirme gerekir."
@@ -255,135 +247,126 @@ msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli"
msgid "Reference number is too large"
msgstr "Referans sayısı çok fazla"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Adı"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Açıklama"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Açıklama (isteğe bağlı)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Yol"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown notları (isteğe bağlı)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Barkod Verisi"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Üçüncü parti barkod verisi"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Barkod Hash"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Barkod verisinin benzersiz hash'i"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Var olan barkod bulundu"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "Görev Başarısızlığı"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "Arka plan çalışan görevi '{f}' {n} denemeden sonra başarısız oldu"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Sunucu Hatası"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Bir hafta sunucu tarafından kayıt edildi."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
-msgstr "Resim"
+msgstr "Görsel"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Para birimi"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
-msgstr "Var olan seçeneklerden bir döviz birimi seçin"
+msgstr "Mevcut seçeneklerden para birimini seçin"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "Bu alan boş olamaz."
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Geçersiz değer"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
-msgstr "Uzaktan Görüntüler"
+msgstr "Uzak Görsel"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
-msgstr "Uzaktan görüntü dosya URL'si"
+msgstr "Uzak görselin dosya URL'si"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
-msgstr "Uzak URL'den resim indirmek etkinleştirilmedi"
+msgstr "Uzak URL'den görsel indirme etkin değil"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
-msgstr "Uzak URL'den görüntü indirilemedi"
+msgstr "Uzak URL'den görsel indirilemedi"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "Geçersiz içerik türü biçimi"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "İçerik türü bulunamadı"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "İçerik türü gerekli mixin sınıfı ile eşleşmemektedir"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "Çince (Basitleştirilmiş)"
msgid "Chinese (Traditional)"
msgstr "Çince (Geleneksel)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "Güncelleme mevcut"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "InvenTree için güncelleme mevcut"
@@ -553,30 +536,30 @@ msgstr "Geçersiz fiziksel birim"
msgid "Not a valid currency code"
msgstr "Geçerli bir para birimi kodu değil"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Sipariş Durumu"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Üst Yapım İşi"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "Varyantları Dahil Et"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "Varyantları Dahil Et"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "Varyantları Dahil Et"
msgid "Part"
msgstr "Parça"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Kategori"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
-msgstr "Ata Yapım"
+msgstr "Kök Üretim"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Bana atandı"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Atanılan Kişi"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "Daha önce oluşturuldu"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "Sonra oluşturuldu"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "Başlangıç tarihi var"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "Başlangıç tarihi önce"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "Başlangıç tarihi sonra"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "Hedef tarihi var"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "Hedef tarihi önce"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "Hedef tarihi sonra"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "Daha önce tamamlandı"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "Sonra tamamlandı"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "En yakın tarih"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "Maksimum Tarih"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "Ağacı Hariç Tut"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
-msgstr "Yapımın silinebilmesi için önce iptal edilmesi gerekir"
+msgstr "Üretim silinemeden önce iptal edilmelidir"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Sarf Malzemesi"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "İsteğe Bağlı"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Montaj"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "İzlenen"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Test Edilebilir"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
-msgstr "Ödenmemiş Sipariş"
+msgstr "Sipariş Açık"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
-msgstr "Ayrıldı"
+msgstr "Tahsis Edildi"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Tüketildi"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Mevcut"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Siparişte"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
-msgstr "Yapım İşi Emri"
+msgstr "Üretim Emri"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Konum"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "Çıktı"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
-msgstr "Çıkış stok öğesi kimliğine göre filtrele. Kurulmamış üretim öğelerini bulmak için ‘null’ kullan."
+msgstr "Çıktı stok kalemi ID'sine göre filtrele. Takılmamış üretim kalemlerini bulmak için ‘null’ kullan."
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
-msgstr "Yapım İşi Emirleri"
+msgstr "Üretim Emirleri"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
-msgstr "Montaj malzeme listesi doğrulanmadı"
+msgstr "Montaj BOM listesi henüz doğrulanmadı"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
-msgstr "İnaktif bir parça için yapım siparişi oluşturulamaz"
+msgstr "Pasif bir parça için üretim emri oluşturulamaz"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
-msgstr "Kilidi açılmış bir parça için yapım siparişi oluşturulamaz"
+msgstr "Kilidi açılmış bir parça için üretim emri oluşturulamaz"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
-msgstr "Satın alınabilir parçaların yapım emirleri yalnızca harici olarak yerine getirilebilir"
+msgstr "Harici üretim emirleri yalnızca satın alınabilir parçalar için yerine getirilebilir"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Sorumlu kullanıcı veya grup belirtilmelidir"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
-msgstr "Yapım siparişi parçası değiştirilemez"
+msgstr "Üretim emri parçası değiştirilemez"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "Hedef tarih başlangıç tarihinden sonra olmalıdır"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
-msgstr "Yapım İşi Emri Referansı"
+msgstr "Üretim Emri Referansı"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Yapım İşi Emri Referansı"
msgid "Reference"
msgstr "Referans"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
-msgstr "Yapımın kısa açıklaması (isteğe bağlı)"
+msgstr "Üretimin kısa açıklaması (isteğe bağlı)"
-#: build/models.py:266
-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:278
+msgid "Build Order to which this build is allocated"
+msgstr "Bu üretimin tahsis edildiği üretim emri"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
-msgstr "Yapım işi için parça seçin"
+msgstr "Üretilecek parçayı seçin"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Satış Emri Referansı"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Bu yapım işinin tahsis edildiği satış emri"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr "Bu üretimin tahsis edildiği satış siparişi"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Kaynak Konum"
-#: build/models.py:296
-msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)"
-
-#: build/models.py:302
-msgid "External Build"
-msgstr "Harici Yapım"
-
-#: build/models.py:303
-msgid "This build order is fulfilled externally"
-msgstr "Bu yapım emri harici olarak yerine getirilmiştir"
-
#: build/models.py:308
+msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
+msgstr "Bu üretim için stok alınacak konumu seçin (herhangi bir stok konumundan amak için boş bırakın)"
+
+#: build/models.py:314
+msgid "External Build"
+msgstr "Harici Üretim"
+
+#: build/models.py:315
+msgid "This build order is fulfilled externally"
+msgstr "Bu üretim emri harici olarak tamamlanmıştır"
+
+#: build/models.py:320
msgid "Destination Location"
msgstr "Hedef Konum"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
-msgstr "Yapım İşi Miktarı"
+msgstr "Üretim Miktarı"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
-msgstr "Yapım işi stok kalemlerinin sayısı"
+msgstr "Üretilecek stok kalemlerinin sayısı"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Tamamlanmış ögeler"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Tamamlanan stok kalemlerinin sayısı"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
-msgstr "Yapım İşi Durumu"
+msgstr "Üretim Durumu"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
-msgstr "Yapım işi durum kodu"
+msgstr "Üretim durum kodu"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Sıra numarası"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
-msgstr "Yapım işi çıktısı için sıra numarası"
+msgstr "Bu üretim çıktısının parti kodu"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
-msgstr "İhtiyaca bağlı sipariş başlangıç tarihi"
+msgstr "Üretim başlangıç tarihi"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
-msgstr "Bu ihtiyaca bağlı siparişi için planlanan başlangıç tarihi"
+msgstr "Bu üretim emri için planlanan başlangıç tarihi"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
+msgstr "Üretimin tamamlanması için hedef tarih. Bu tarihten sonra üretim gecikmiş olacak."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Tamamlama tarihi"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
-msgstr "Veren"
+msgstr "Düzenleyen"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
-msgstr "Bu yapım işi emrini veren kullanıcı"
+msgstr "Bu üretim emrini düzenleyen kullanıcı"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Sorumlu"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
-msgstr "Bu yapım siparişinden sorumlu kullanıcı veya grup"
+msgstr "Bu üretim emrinden sorumlu kullanıcı veya grup"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Harici Bağlantı"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
-msgstr "Yapım Önceliği"
+msgstr "Üretim Önceliği"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
-msgstr "Bu yapım siparişinin önceliği"
+msgstr "Bu üretim emrinin önceliği"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Proje Kodu"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
-msgstr "Bu yapım siparişi için proje kodu"
+msgstr "Bu üretim emri için proje kodu"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "Açık alt üretim işlemleri varken üretim emri tamamlanamaz"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "Eksik çıktılar varken üretim emri tamamlanamaz"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
-msgstr "Yapıma ayrılanları tamamlamak için boşaltma görevi başarısız oldu"
+msgstr "Üretim tahsisatını tamamlamak için boşaltma görevi başarısız oldu"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
-msgstr "{build} yapım siparişi tamamlandı"
+msgstr "{build} üretim emri tamamlandı"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
-msgstr "Bir yapım siparişi tamamlandı"
+msgstr "Bir üretim emri tamamlandı"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "İzlenebilir parçalar için seri numaraları sağlanmalıdır"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
-msgstr "Yapım işi çıktısı belirtilmedi"
+msgstr "Hiçbir üretim çıktısı belirtilmedi"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
-msgstr "Yapım işi çıktısı zaten tamamlanmış"
+msgstr "Üretim çıktısı zaten tamamlanmış"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
-msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
+msgstr "Üretim çıktısı, üretim emri ile eşleşmiyor"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Miktar çıktı miktarından büyük olamaz"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
-msgstr "Stok kalemi tüm gerekli testleri geçmedi"
+msgstr "Üretim çıktısı tüm gerekli testleri geçmedi"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
-msgstr "{serial} yapım çıktısı gerekli testleri geçemedi"
+msgstr "{serial} üretim çıktısı gerekli testleri geçmedi"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr "Tahsis edilen stok kalemleri hâlâ üretimde"
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
-msgstr "Ayrılmış öğeler varken üretim çıktısı tamamlanamaz"
+msgstr "Tahsisli kalemler içeren bir üretim çıktısı kısmi olarak tamamlanamaz"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
-msgstr "Yapım Siparişi Satır Ögesi"
+msgstr "Üretim Emri Satırı"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
-msgstr "Nesne yap"
+msgstr "Üretim nesnesi"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,435 +1016,447 @@ msgstr "Nesne yap"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Miktar"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
-msgstr "Yapım siparişi için gereken miktar"
+msgstr "Üretim emri için gereken miktar"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "Tüketilen Stok Miktarı"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
-msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir"
+msgstr "Ana parça izlenebilir olarak işaretlendiğinden, üretim kalemi bir üretim çıktısı belirtmelidir"
-#: build/models.py:1784
-#, python-brace-format
-msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
-msgstr "Ayrılan miktar ({q}) mevcut stok miktarını ({a}) aşmamalı"
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Seçilen stok kalemi BOM satırı ile eşleşmiyor"
-#: build/models.py:1805 order/models.py:2547
-msgid "Stock item is over-allocated"
-msgstr "Stok kalemi fazladan tahsis edilmiş"
-
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1816
+#: build/models.py:1976
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Seçilen stok ögesi malzeme listesi satırıyla eşleşmiyor"
+#: build/models.py:1986
+#, python-brace-format
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr "Tahsis edilen miktar ({q}) mevcut stok miktarını ({a}) aşmamalıdır"
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "Ayrılan miktar, mevcut stok miktarını aşıyor"
+#: build/models.py:2003 order/models.py:2556
+msgid "Stock item is over-allocated"
+msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
-msgstr "Yapım işi için tahsis edilen stok miktarı"
+msgstr "Üretime tahsis edilecek stok miktarı"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
-msgstr "Kurulduğu yer"
+msgstr "Kur"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
-msgstr "Yapım Düzeyi"
+msgstr "Üretim Seviyesi"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Parça Adı"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Proje Kodu Etiketi"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
-msgstr "Yapım Çıktısı"
+msgstr "Üretim Çıktısı"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
-msgstr "Yapım çıktısı üst yapım ile eşleşmiyor"
+msgstr "Üretim çıktısı üst üretim ile eşleşmiyor"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
-msgstr "Çıktı parçası Yapım Siparişi parçası ile eşleşmiyor"
+msgstr "Çıktı parçası üretim emri parçası ile eşleşmiyor"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
-msgstr "Bu yapım çıktısı zaten tamamlandı"
+msgstr "Bu üretim çıktısı zaten tamamlandı"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
-msgstr "Bu yapım çıktısı tam ayrılmadı"
+msgstr "Bu üretim çıktısı tam tahsis edilmedi"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
-msgstr "Yapım işi çıktısı için miktarını girin"
+msgstr "Üretim çıktısının miktarını girin"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "İzlenebilir parçalar için tamsayı miktar gerekir"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr "Malzeme listesi izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir"
+msgstr "Ürün ağacı izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Seri Numaraları"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
-msgstr "Yapım işi çıktısı için seri numaraları girin"
+msgstr "Üretim çıktıları için seri numaraları girin"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
-msgstr "Yapım çıktısı için stok konumu"
+msgstr "Üretim çıktısı için stok konumu"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
-msgstr "Seri Numaralarını Otomatik Ayır"
+msgstr "Seri Numaralarını Otomatik Tahsis Et"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
-msgstr "Gerekli ögeleri eşleşen seri numaralarıyla otomatik ayır"
+msgstr "Eşleşen seri numaralı gerekli kalemleri otomatik tahsis et"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Şu seri numaraları zaten varlar veya geçersizler"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
-msgstr "Bir yapım çıktıları listesi sağlanmalıdır"
+msgstr "Bir üretim çıktıları listesi sağlanmalıdır"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Hurdaya ayrılan çıktılar için stok konumu"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Ayırmaları İptal Et"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Hurdaya ayrılan çıktılar için yapılan tüm stok ayırmalarını iptal et"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
-msgstr "Yapım çıktı(larını) hurdaya ayırma nedeni"
+msgstr "Üretim çıktı(larını) hurdaya ayırma nedeni"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
-msgstr "Tamamlanan yapım çıktıları içi konum"
+msgstr "Tamamlanan üretim çıktıları içi konum"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Tamamlanmamış Ayırmayı Onayla"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
-msgstr "Stok tamamen ayrılmamışsa çıktıları tamamla"
+msgstr "Stok henüz tamamen tahsis edilmemşse çıktıları tamamla"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
-msgstr "Ayrılan Stoku Tüket"
+msgstr "Tahsis Edilen Stoku Tüket"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
-msgstr "Bu yapım için zaten ayrılmış olan tüm stokları tüket"
+msgstr "Bu üretim için zaten tahsis edilmiş olan tüm stokları tüket"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Tamamlanmamış Çıktıları Kaldır"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
-msgstr "Tamamlanmamış tüm yapım çıktılarını sil"
+msgstr "Henüz tamamlanmamış tüm üretim çıktılarını sil"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "İzin verilmedi"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
-msgstr "Bu yapım siparişi tarafından tüketildi olarak kabul et"
+msgstr "Bu üretim emri tarafından tüketildi olarak kabul et"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
-msgstr "Bu yapım emrini tamamlamadan önce iade et"
+msgstr "Bu üretim emrini tamamlamadan önce tahsisi kaldır"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
-msgstr "Fazla Ayrılmış Stok"
+msgstr "Aşırı Tahsis Edilmiş Stok"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
-msgstr "Yapım siparişine atanan ekstra stok öğelerini nasıl ele almak istersiniz"
+msgstr "Üretim emrine atanan ek stok kalemlerini nasıl işlemek istersiniz"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
-msgstr "Bazı stok ögeleri fazla ayrıldı"
+msgstr "Bazı stok kalemleri aşırı tahsis edilmiştir"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
-msgstr "Ayrılmamışı Kabul Et"
+msgstr "Tahsis Edilmeyeni Kabul Et"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
-msgstr "Stok öğelerinin bu yapım siparişine tam olarak ayrılmadığını kabul edin"
+msgstr "Stok kalemlerinin bu üretim emrine tamamen tahsis edilmediğini kabul et"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Gerekli stok tamamen tahsis edilemedi"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Tamamlanmamış Kabul et"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
-msgstr "Gerekli sayıda derleme çıktısının tamamlanmadığını kabul edin"
+msgstr "Gereken miktarda üretim çıktısının tamamlanmadığını kabul et"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
-msgstr "Gerekli yapım işi miktarı tamamlanmadı"
+msgstr "Gereken üretim miktarı tamamlanmadı"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
-msgstr "Yapım siparişinin açık alt yapım emirleri var"
+msgstr "Üretim emrinin açık alt üretim emirleri var"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
-msgstr "Yapım siparişi üretim durumunda olmalıdır"
+msgstr "Üretim emri üretim durumunda olmalıdır"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
-msgstr "Yapım siparişinin tamamlanmamış çıktıları var"
+msgstr "Üretim emrinde eksik çıktılar var"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
-msgstr "Yapım Satırı"
+msgstr "Üretim Satırı"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
-msgstr "Yapım çıktısı"
+msgstr "Üretim çıktısı"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
-msgstr "Yapım çıktısı aynı yapımı göstermelidir"
+msgstr "Üretim çıktısı aynı üretimi göstermelidir"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
-msgstr "Yapım Satırı Ögesi"
+msgstr "Üretim Satırı"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
-msgstr "bom_item.part yapım siparişi aynı olan parçayı göstermelidir"
+msgstr "bom_item.part üretim emri ile aynı parçayı göstermelidir"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
-msgstr "Öge stokta olmalıdır"
+msgstr "Kalem stokta olmalıdır"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Mevcut miktar ({q}) aşıldı"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
-msgstr "İzlenen parçaların ayrılması için yapım çıktısı belirtilmelidir"
+msgstr "İzlenen parçaların tahsisi için üretim çıktısı belirtilmelidir"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
-msgstr "İzlenmeyen parçaların ayrılması için yapım çıktısı belirlenemez"
+msgstr "İzlenmeyen parçaların tahsisi için üretim çıktısı belirtilemez"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Ayrılma ögeleri sağlanmalıdır"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Parçaların alınacağı stok konumu (herhangi bir konumdan almak için boş bırakın)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
-msgstr "Konum Çıkar"
+msgstr "Konumu Hariç Tut"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
-msgstr "Bu seçilen konumdan stok ögelerini içerme"
+msgstr "Bu seçilen konumdan stok kalemlerini hariç tut"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Birbirinin Yerine Kullanılabilir Stok"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
-msgstr "Birden çok konumdaki stok ögeleri birbirinin yerine kullanılabilir"
+msgstr "Birden fazla konumdaki stok kalemleri birbirinin yerine kullanılabilir"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Yedek Stok"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Yedek parçaların ayrılmasına izin ver"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "İsteğe Bağlı Ögeler"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
-msgstr "Sipariş yapmak için isteğe bağlı ML ögelerini ayır"
+msgstr "İsteğe bağlı BOM kalemlerini üretim emrine tahsis et"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Otomatik ayırma görevini başlatma başarısız oldu"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "Tüm Ögeler"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "Takip edilmeyen kalemler"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "Takipli Kalemler"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "Kalem Türü"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "Otomatik tahsis edilecek ürün tipini seçin"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "ML Referansı"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
-msgstr "ML Parça Kimliği"
+msgstr "BOM Parça ID"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "ML Parça Adı"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "Kur"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "Yap"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
-msgstr "Ayrılan Miktar"
+msgstr "Tahsis Edilen Miktar"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
-msgstr "Yapım Referansı"
+msgstr "Üretim Referansı"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
-msgstr "Parça Sınıfı Adı"
+msgstr "Parça Kategorisi Adı"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
-msgstr "Miras Alındı"
+msgstr "Devralınmış"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
-msgstr "Çeşide İzin Ver"
+msgstr "Varyantlara İzin Ver"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "ML Ögesi"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Üretimde"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
-msgstr "Üretim için planlandı"
+msgstr "Üretim için Planlandı"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Harici Stok"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Mevcut Stok"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Mevcut Yedek Stok"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
-msgstr "Mevcut Turev Stoku"
+msgstr "Mevcut Varyant Stok"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
-msgstr "Tüketilen miktar, ayrılan miktarı aşıyor"
+msgstr "Tüketilen miktar tahsis edilen miktarı aşıyor"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "Stok tüketimi için isteğe bağlı notlar"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
-msgstr "Üretim öğesi doğru üretim emrine işaret etmelidir"
+msgstr "Üretim kalemi doğru üretim emrini göstermelidir"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
-msgstr "Yinelenen üretim öğesi tahsisi"
+msgstr "Üretim kalemi tahsisini yinele"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
-msgstr "Üretim satırı doğru üretim emrine işaret etmelidir"
+msgstr "Üretim satırı doğru üretim emrini göstermelidir"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
-msgstr "Yinelenen üretim öğesi tahsisi"
+msgstr "Üretim satırı tahsisini yinele"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
-msgstr "En az bir öğe veya satır sağlanmalıdır"
+msgstr "En az bir kalem veya satır sağlanmalıdır"
#: build/status_codes.py:11 generic/states/tests.py:21
#: generic/states/tests.py:131 order/status_codes.py:12
@@ -1474,67 +1478,71 @@ msgstr "Beklemede"
msgid "Cancelled"
msgstr "İptal edildi"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Tamamlandı"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
-msgstr "Yapım siparişi için gereken stok"
+msgstr "Üretim emri için gereken stok"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "Üretim emri {build} ek stok gerektiriyor"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
-msgstr "Gecikmiş Yapım Siparişi"
+msgstr "Geciken Üretim Emri"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
-msgstr "{bo} yapım siparişi şimdi gecikti"
+msgstr "{bo} üretim emri şimdi gecikti"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Link Olanlar"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "Dosya Olanlar"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Kullanıcının bu ekleri silmek için izni yok"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Kullanıcının bu eki silmek için izni yok"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Geçersiz para birimi kodu"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Para birimi kodunu çoğalt"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Geçerli bir para birimi kodu sağlanmamış"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Eklenti yok"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Proje Kodu Etiketi"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Güncellendi"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Son güncellemenin zaman damgası"
@@ -1546,778 +1554,778 @@ msgstr "Güncelleyen"
msgid "User who last updated this object"
msgstr "Bu nesneyi en son güncelleyen kullanıcı"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Eşsiz proje kodu"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Proje açıklaması"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Bu projeden sorumlu kullanıcı veya grup"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "Ayarlar anahtarı"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Ayarlar değeri"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Seçilen değer geçerli bir seçenek değil"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Değer bir boolean değer olmalıdır"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Değer bir integer değer olmalıdır"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "Değer geçerli bir sayı olmalıdır"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "Değer doğrulama kontrollerini geçemiyor"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Anahtar dizesi benzersiz olmalı"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Kullanıcı"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
-msgstr "Fiyat düşürme miktarı"
+msgstr "Fiyat kademesi miktarı"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Belirtilen miktardaki birim fiyat"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Bitiş Noktası"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Bu web kancasının alındığı uç nokta"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Bu web kancası için ad"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
-msgstr "Bu web kancası etkin mi"
+msgstr "Bu web kancası aktif mi"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Token"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Erişim için belirteç"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Gizli"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "HMAC için paylaşılan gizli bilgi"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
-msgstr "Mesaj Kimliği"
+msgstr "Mesaj ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Bu mesaj için benzersiz tanımlayıcı"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Sağlayıcı"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Bu mesajın alındığı ana bilgisayar"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Başlık"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Bu mesajın başlığı"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Gövde"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Bu mesajın gövdesi"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Bu mesajın alındığı uç nokta"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Üzerinde çalışıldı"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Bu mesajdaki iş bitirildi mi?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Kimlik"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Başlık"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Bağlantı"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Yayınlandı"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Yazar"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Özet"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Oku"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Haberi okudunuz mu?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
-msgstr "Görsel yükleyin"
+msgstr "Görsel dosyası"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
-msgstr "Bu resim için hedef model türü"
+msgstr "Bu görsel için hedef model türü"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
-msgstr "Bu resim için hedef model ID"
+msgstr "Bu görsel için hedef model ID"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "Özel Birim"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "Birim simgesi benzersiz olmalıdır"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Birim adı geçerli bir tanımlayıcı olmalıdır"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Birim adı"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Sembol"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "İsteğe bağlı birim simgesi"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Tanımlama"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Birim tanımlaması"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Ek"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Eksik dosya"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "Model türü"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
-msgstr "Resim için hedef model türü"
+msgstr "Görsel için hedef model türü"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Yorum"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "Ek yorumu"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Yükleme tarihi"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Dosyanın yüklendiği tarih"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Dosya Boyutu"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Bayt cinsinden dosya boyutu"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "Ek için belirtilen model türü geçersiz"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "Özel Durum"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "Özel Durumlar"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "Referans Durum Seti"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "Bu özel durum ile genişletilen durum seti"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "Mantıksal anahtar"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "İş mantığında bu özel duruma eşit olan durum mantıksal anahtarı"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Değer"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "Modeller veritabanına kaydedilecek sayısal değer"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "Durumun adı"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Etiket"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "Ön yüzde gösterilecek etiket"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Renk"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "Ön yüzde gösterilecek renk"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Model"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "Bu durumun ilişkilendirildiği model"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "Model seçilmelidir"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "Anahtar Seçilmelidir"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "Mantıksal anahtar seçilmelidir"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "Anahtar, mantık anahtarından farklı olmalıdır"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "Geçerli bir referans durum sınıfı sağlanmalıdır"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "Anahtar, referans durumunun mantık anahtarlarından farklı olmalıdır"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "Mantık anahtarı, referans durumunun mantık anahtarları içinde olmalıdır"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "İsim, referans durumunun isimlerinden farklı olmalıdır"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Seçim Listesi"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "Seçim Listeleri"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "Seçim listesinin adı"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "Seçim listesinin açıklaması"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Kilitli"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "Bu seçim listesi kilitli mi?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "Bu seçim listesi kullanılabilir mi?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "Kaynak Eklentisi"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "Seçim listesini sağlayan eklenti"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "Kaynak Dize"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "Bu liste için kullanılan kaynağı belirten isteğe bağlı dize"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "Varsayılan Girdi"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "Bu seçim listesi için varsayılan girdi"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Oluşturuldu"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "Seçim listesinin oluşturulduğu tarih ve saat"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Son Güncelleme"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "Seçim listesinin son güncellendiği tarih ve saat"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "Seçim Listesi Girdisi"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "Seçim Listesi Girişleri"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "Bu girdinin ait olduğu seçim listesi"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "Seçim listesi girdisinin değeri"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "Seçim listesi girdisi için etiket"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "Seçim listesi girdisinin açıklaması"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "Bu seçim listesi girdisi aktif mi?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parametre Şablonları"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
-msgstr ""
+msgstr "Onay kutusu parametrelerinin birimleri olamaz"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
-msgstr ""
+msgstr "Onay kutusu parametrelerinin seçenekleri olamaz"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
-msgstr ""
+msgstr "Seçenekler eşsiz olmalıdır"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "Bu parametre şablonu için hedef modeli türü"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
-msgstr ""
+msgstr "Parametre Adı"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Birim"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
-msgstr ""
+msgstr "Bu parametre için fiziksel birimler"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
-msgstr ""
+msgstr "Parametre açıklaması"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
-msgstr ""
+msgstr "Onay kutusu"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
-msgstr ""
+msgstr "Bu parametre bir onay kutusu mu?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
-msgstr ""
+msgstr "Seçenekler"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
-msgstr ""
+msgstr "Bu parametre için geçerli seçenekler (virgül ile ayrılmış)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
-msgstr ""
+msgstr "Bu parametre için seçim listesi"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Etkin"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "Bu parametre şablonu etkin mi?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "Parametre"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "Parametreler"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
-msgstr ""
+msgstr "Parametre değeri için geçersiz seçim"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "Parametre için belirtilen model türü geçersiz"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "Model ID"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "Bu parametre için hedef modelin ID'si"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Şablon"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "Parametre şablonu"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Veri"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
-msgstr ""
+msgstr "Parametre Değeri"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Not"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
-msgstr ""
+msgstr "İsteğe bağlı not alanı"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "Barkod Taraması"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "Barkod verisi"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "Barkodu taratan kullanıcı"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "Zaman damgası"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "Barkod taramasının tarihi ve saati"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "Barkodu işleyen URL uç noktası"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Bağlam"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "Barkod taraması için bağlam verisi"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "Yanıt"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "Barkod taramasından gelen yanıt verisi"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Sonuç"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "Barkod taraması başarılı mıydı?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "Bir hata oluştu"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "NVE-ER: E-posta günlüğünün silinmesi korumalı. Silmeye izin vermek için INVENTREE_PROTECT_EMAIL_LOG ayarını False olarak ayarlayın."
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "E-posta İletisi"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "E-posta İletileri"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "Duyuruldu"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "Gönderildi"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "Başarısız"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "Teslim edildi"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "Onaylandı"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "Gelen"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "Giden"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "Yanıt Yok"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "Teslimat Takibi"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "Okumayı Takip Et"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "Tıklamayı Takip Et"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
-msgstr "Global Kimlik"
+msgstr "Global ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "Bu ileti için tanımlayıcı (harici sistem tarafından sağlanabilir)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "Konu Kimliği"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "Bu ileti konusu için tanımlayıcı (harici sistem tarafından sağlanabilir)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "Konu"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "Bu mesaja bağlı konu"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "Öncelik"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "E-Posta Konusu"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "E-posta Konuları"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Anahtar"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "Bu konu için benzersiz anahtar (konuyu tanımlamak için kullanılır)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "Bu konu için benzersiz tanımlayıcı"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "Dahili Olarak Başlatıldı"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "Bu konu dahili olarak mı başlatıldı?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "Konunun oluşturulduğu tarih ve saat"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "Konunun son güncellendiği tarih ve saat"
@@ -2339,105 +2347,113 @@ msgstr "{verbose_name} iptal edildi"
msgid "A order that is assigned to you was canceled"
msgstr "Size atanmış bir emir iptal edildi"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
-msgstr "Alınan Ürünler"
+msgstr "Teslim Alınan Kalemler"
#: common/notifications.py:75
msgid "Items have been received against a purchase order"
-msgstr "Bir satın alma siparişine karşılık öğeler teslim alındı"
+msgstr "Kalemler, bir satın alma siparişine istinaden teslim alındı"
#: common/notifications.py:82
msgid "Items have been received against a return order"
-msgstr "Bir iade siparişine karşılık öğeler teslim alındı"
+msgstr "Kalemler, bir iade siparişine istinaden teslim alındı"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "Bu ayarın değiştirilmesi için onay gerekip gerekmediğini gösterir"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "Bu ayar değiştirilmeden önce onay gerektirir. Lütfen değişikliği onaylayın."
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "Ayarın bir ortam değişkeni tarafından üstüne yazılıp yazılmadığını belirtir"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "Üstüne Yaz"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Çalışıyor"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Bekleyen Görevler"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Planlanan Görevler"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Başarısız Görevler"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "Görev ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "Benzersiz Görev ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Kilit"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Kilit Zamanı"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Görev Adı"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Fonksiyon"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Fonksiyon Adı"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Argümanlar"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Görev Argümanları"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Anahtar Argümanlar"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Anahtar görev argümanları"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Dosya adı"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "Model Tipi"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "Kullanıcının bu model için ek oluşturma veya düzenleme izni yok"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "Kullanıcı bu model için parametre oluşturma veya düzenleme iznine sahip değil"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "Seçim listesi kilitli"
@@ -2445,1162 +2461,1191 @@ msgstr "Seçim listesi kilitli"
msgid "No group"
msgstr "Grup yok"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "Site URL'si yapılandırma tarafından kilitlendi"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Yeniden başlatma gerekli"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Sunucunun yeniden başlatılmasını gerektiren bir ayar değişti"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Bekleyen taşıma işlemleri"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Bekleyen veritabanı taşıma sayısı"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "Aktif uyarı kodları"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "Aktif uyarı kodlarının bir sözlüğü"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "Örnek ID"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "Bu InvenTree örneği için benzersiz tanımlayıcı"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
-msgstr ""
+msgstr "Duyuru ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
-msgstr ""
+msgstr "Sunucu durum bilgisinde sunucu ID'sini göster (oturum açılmadan)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Sunucu Örneği adı"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Sunucu örneği için sözce (string) açıklayıcı"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Örnek adını kullan"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Örnek adını başlık çubuğunda kullan"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "`Hakkında` gösterimini kısıtla"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "`Hakkında` kipini yalnızca süper kullanıcılara göster"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Şirket adı"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Dahili şirket adı"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "Ana URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "Sunucu örneğinn temel URL'i"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Varsayılan Para Birimi"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Fiyat hesaplamaları için temel para birimini seçin"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "Desteklenen Para Birimleri"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "Desteklenen para birimi kodlarının listesi"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
-msgstr "Döviz Güncelleme Aralığı"
+msgstr "Para Birimi Güncelleme Aralığı"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Döviz kurlarını şu sıklıkla güncelle (etkisizleştirmek için sıfır yapın)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "günler"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
-msgstr "Döviz Güncelleme Eklentisi"
+msgstr "Para Birimi Güncelleme Eklentisi"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
-msgstr "Kullanılacak döviz güncelleme eklentisi"
+msgstr "Kullanılacak para birimi güncelleme eklentisi"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "URL'den indir"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
-msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver"
+msgstr "Harici URL'den uzak görseller ve dosyalar indirmeye izin ver"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "İndirme Boyutu Sınırı"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
-msgstr "Uzak resimler için izin verilebilir maksimum indirme boyutu"
+msgstr "Uzak görsel için izin verilebilir maksimum indirme boyutu"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "URL'den indirmek için kullanılan kullanıcı aracısı"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
-msgstr "Harici URL'den resim ve dosya indirmek için kullanılan kullanıcı aracısını geçersiz kılmaya izin ver (varsayılan için boş bırakın)"
+msgstr "Harici URL'lerden görsel ve dosya indirirken kullanılan kullanıcı aracısının (user-agent) değiştirilmesine izin ver (varsayılan için boş bırakın)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "Sıkı URL Doğrulama"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "URL'leri doğrularken şema tanımlamasını gerekli kıl"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
-msgstr "Güncelleme Denetleme Aralığı"
+msgstr "Güncelleme Kontrol Aralığı"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
-msgstr "Güncellemeleri şu sıklıkla denetle (etkisizleştirmek için sıfır yapın)"
+msgstr "Güncellemeleri şu sıklıkla kontrol et (etkisizleştirmek için sıfır yapın)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Otomatik Yedekleme"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Veritabanı ve ortam dosyalarını otomatik yedeklemeyi etkinleştir"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Otomatik Yedekleme Aralığı"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Otomatik yedekleme olayları arasındaki gün sayısını belirtin"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Görev Silme Aralığı"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Arkaplan görev sonuçları belirtilen gün sayısı kadar sonra silinecektir"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Hata Günlüğü Silme Aralığı"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Hata günlükleri belirtilen gün sayısı kadar sonra silinecektir"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Bildirim Silme Aralığı"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Kullanıcı bildirimleri belirtilen gün sayısı kadar sonra silinecektir"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
-msgstr ""
+msgstr "E-posta Silme Aralığı"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
-msgstr ""
+msgstr "E-postalar belirtilen gün sayısı sonrasında silinecektir"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
-msgstr ""
+msgstr "E-posta Kaydını Koru"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
-msgstr ""
+msgstr "E-posta kayıt girdilerinin silinmesini engelle"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Barkod Desteği"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Web arayüzünde barkod tarayıcı desteğini etkinleştir"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
-msgstr ""
+msgstr "Barkod Sonuçlarını Depola"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
-msgstr ""
+msgstr "Barkod tarama sonuçlarını veritabanına depola"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
-msgstr ""
+msgstr "Maksimum Barkod Tarama Sayısı"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
-msgstr ""
+msgstr "Depolanacak maksimum barkod tarama sonuçları sayısı"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Barkod Girdi Gecikmesi"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Barkod girdi işleme gecikme süresi"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Barkod Web Kamerası Desteği"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Tarayıcıda web kamerası aracılığıyla barkod taramaya izin ver"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "Barkod Verisini Göster"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "Barkod verisini tarayıcıda metin olarak görüntüle"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "Barkod Üreteci Eklentisi"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "Dahili barkod üretimi için kullanılacak eklenti"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Parça Revizyonları"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Parça için revizyon alanını etkinleştir"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "Yalnızca Montaj Revizyonu"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "Yalnızca montaj parçaları için revizyona izin ver"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "Montajdan Silmeye İzin Ver"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "Bir montajda kullanılan parçaları silmeye izin ver"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Parça ML Verisini Kopyala"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Bir parçayo çoğaltırken varsayılan olarak ML verisini kopyala"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Parça Parametre Verisini Kopyala"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Bir parçayı çoğaltırken varsayılan olarak parametre verisini kopyala"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Parça Test Verisini Kopyala"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Bir parçayı çoğaltırken varsayılan olarak test verisini kopyala"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Bileşen"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Satılabilir"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Sanal"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
-msgstr "Bir parça için ilgili parçaları göster"
+msgstr "Bir parça için ilgili parçaları görüntüle"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Başlangıç Stok Verisi"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Yeni bir parça eklerken başlangıç stoku oluşturmaya izin ver"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
-msgstr "Başlangıç Sağlayıcı Verisi"
+msgstr "İlk Tedarikçi Bilgileri"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
-msgstr "Yeni bir parça oluştururken başlangıç sağlayıcı verisi oluşturmaya izin ver"
+msgstr "Yeni bir parça eklerken ilk tedarikçi bilgilerinin oluşturulmasına izin ver"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Parça Adı Görüntüleme Biçimi"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Parça adını görüntüleme biçimi"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
-msgstr "Parça Sınıfının Varsayılan Simgesi"
+msgstr "Parça Kategorisi Varsayılan Simgesi"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
-msgstr "Parça sınıfı için varsayılan simge (boş bırakılırsa simge kullanılmaz)"
+msgstr "Parça kategorisi için varsayılan simge (boş bırakılırsa simge kullanılmaz)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Minimum Fiyatlandırma Ondalık Basamakları"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
-msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların minimum sayısı"
+msgstr "Fiyat verilerinde görüntülenecek maksimum ondalık hane sayısı"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Maksimum Fiyatlandırma Ondalık Basamakları"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
-msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların maksimum sayısı"
+msgstr "Fiyat verilerinde görüntülenecek maksimum ondalık hane sayısı"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
-msgstr "Sağlayıcı Fiyatlandırmasını Kullan"
+msgstr "Tedarikçi Fiyatlandırmasını Kullan"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
-msgstr "Genel fiyatlandırma hesaplamalarına sağlayıcı fiyat aralıklarını ekle"
+msgstr "Tedarikçi fiyat kademelerini genel fiyat hesaplamalarına dahil et"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Satın Alma Geçmişini Geçersiz Kılma"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
-msgstr "Geçmiş satınalma siparişi fiyatlandırması, sağlayıcı fiyat aralıklarını geçersiz kılar"
+msgstr "Tarihsel satın alma siparişi fiyatlandırması, tedarikçi fiyat kademelerini geçersiz kılar"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
-msgstr "Stok Ögesi Fiyatlandırmasını Kullan"
+msgstr "Stok Kalemi Fiyatlandırmasını Kullan"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Fiyatlandırma hesaplamaları için elle girilen stok verisinin fiyatlandırmasını kullan"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
-msgstr "Stok Ögesi Fiyatlandırma Yaşı"
+msgstr "Stok Kalemi Fiyatlandırma Süresi"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Bu gün sayısından daha eski olan stok kalemlerini fiyatlandırma hesaplamalarından hariç tut"
-#: common/setting/system.py:584
-msgid "Use Variant Pricing"
-msgstr "Türev Fiyatlandırması Kullan"
-
-#: common/setting/system.py:585
-msgid "Include variant pricing in overall pricing calculations"
-msgstr "Genel fiyat hesaplamalarına türev fiyatlarını da ekle"
-
-#: common/setting/system.py:590
-msgid "Active Variants Only"
-msgstr "Yalnızca Etkin Türevler"
-
-#: common/setting/system.py:592
-msgid "Only use active variant parts for calculating variant pricing"
-msgstr "Türev fiyatlandırması için yalnızca etkin türev parçaları kullan"
-
#: common/setting/system.py:598
-msgid "Auto Update Pricing"
-msgstr ""
+msgid "Use Variant Pricing"
+msgstr "Varyant Fiyatlandırması Kullan"
-#: common/setting/system.py:600
-msgid "Automatically update part pricing when internal data changes"
-msgstr ""
+#: common/setting/system.py:599
+msgid "Include variant pricing in overall pricing calculations"
+msgstr "Genel fiyat hesaplamalarına varyant fiyatlarını dahil et"
+
+#: common/setting/system.py:604
+msgid "Active Variants Only"
+msgstr "Yalnızca Aktif Varyantlar"
#: common/setting/system.py:606
+msgid "Only use active variant parts for calculating variant pricing"
+msgstr "Varyant fiyatlandırmasını hesaplamak için yalnızca aktif varyant parçaları kullan"
+
+#: common/setting/system.py:612
+msgid "Auto Update Pricing"
+msgstr "Fiyatlandırmayı Otomatik Güncelle"
+
+#: common/setting/system.py:614
+msgid "Automatically update part pricing when internal data changes"
+msgstr "Dahili veri değişince parça fiyatını otomatik güncelle"
+
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Fiyatlandırmayı Yeniden Oluşturma Aralığı"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Parça fiyatlandrımasının otomatik güncellenmesinden önceki gün sayısı"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Dahili Fiyatlar"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Parçalar için dahili fiyatları etkinleştir"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Dahili Fiyat Geçersiz Kılma"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Varsa, dahili fiyatlar fiyat aralığı hesaplarını geçersiz kılar"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr "Malzeme listesinde sıfır miktara izin ver"
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr "Malzeme listesinde bir ürün için sıfır miktarın kabul edilmesini sağlar. Böylece üretim miktarından bağımsız olarak, her üretim için gerekli miktarı belirlemek amacıyla kurulum miktarı kullanılabilir"
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Etiket yazdırmayı etkinleştir"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Web arayüzünden etiket yazdırmayı etkinleştir"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
-msgstr "Etiket Resmi DPI Değeri"
+msgstr "Etiket Görseli DPI Değeri"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
-msgstr "Resim dosyaları üretirken etiket yazdırma eklentilerine sağlanacak DPI çözünürlüğü"
+msgstr "Görsel dosyaları üretirken etiket yazdırma eklentilerine sağlanacak DPI çözünürlüğü"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Raporları Etkinleştir"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Rapor üretimini etkinleştir"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
-msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
+msgstr "Raporları hata ayıklama modunda oluştur (HTML çıktısı)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "Rapor Hatalarını Günlüğe Kaydet"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "Raporlar üretirken oluşan hataları günlüğe kaydet"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Parametre Birimlerini Zorunlu Kıl"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Birimler sağlanırsa, parametre değerleri belirtilen birimlere uymalıdır"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Küresel Çapta Benzersiz Seri Numaraları"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
-msgstr "Stok ögeleri için seri numaraları küresel çapta benzersiz olmalıdır"
+msgstr "Stok kalemleri için seri numaraları küresel çapta benzersiz olmalıdır"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Tükenen Stoku Sil"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
-msgstr "Bir stok ögesi tükendiğinde varsayılan davranışı belirler"
+msgstr "Bir stok kalemi tükendiğinde varsayılan davranışı belirler"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Parti Kodu Şablonu"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
-msgstr "Stok ögelerine varsayılan parti kodlarını üretmek için şablon"
+msgstr "Stok kalemleri için varsayılan parti kodları oluşturma şablonu"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Stok Sona Erme Tarihi"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Stokun sona erme işlevselliğini etkinleştir"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Süresi Dolan Stoku Sat"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Süresi dolan stok satışına izin ver"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Stok Eskime Süresi"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
-msgstr "Stok öğelerinin son kullanma tarihi geçmeden eskimiş sayıldığı gün sayısı"
+msgstr "Stok kalemlerinin son kullanma tarihinden önce eskimiş sayılacağı gün sayısı"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
-msgstr "Yapımın Süresi Geçmiş Stoku"
+msgstr "Süresi Dolmuş Stoktan Üretim"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
-msgstr "Süresi geçmiş stok ile yapıma izin ver"
+msgstr "Süresi dolmuş stok ile üretime izin ver"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Stok Sahipliği Kontrolü"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
-msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
+msgstr "Stok konumu ve kalemleri üzerinde sahiplik kontrolünü etkinleştir"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Varsayılan Stok Konumu Simgesi"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Stok konumu için varsayılan simge (boşsa simge yok demektir)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
-msgstr "Kurulu Stok Ögelerini Göster"
+msgstr "Takılı Stok Kalemlerini Göster"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
-msgstr "Stok tablolarında kurulu stok ögelerini göster"
+msgstr "Stok tablolarında takılı stok kalemlerini görüntüle"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
-msgstr "Ögelerin kurulumunu yaparken ML'i kontrol et"
+msgstr "Kalemlerin kurulumunu yaparken BOM'u kontrol et"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
-msgstr "Kurulu stok ögeleri üst parçanın ML'nde mevcut olmalıdır"
+msgstr "Takılı stok kalemleri üst parçanın BOM listesinde mevcut olmalıdır"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "Stok Dışı Aktarıma İzin Ver"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
-msgstr "Stokta olmayan ögelerin stok konumları arasında aktarılmasına izin ver"
+msgstr "Stokta olmayan kalemlerin stok konumları arasında aktarılmasına izin ver"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
-msgstr "Yapım Siparişi Referans Kalıbı"
+msgstr "Üretim Emri Referans Şablonu"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
-msgstr "Yapım Siparişi referans alanını üretmek için gerekli kalıp"
+msgstr "Üretim emri referans alanını üretmek için gerekli şablon"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "Sorumlu Sahip Gerektir"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "Her siparişe sorumlu bir yetkili atanmalıdır."
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
-msgstr "Aktif Parça Gerekli"
+msgstr "Aktif Parça Gerektirir"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
-msgstr "Etkin olmayan parçalar için yapı sırası oluşturulmasını önleyin."
+msgstr "Pasif parçalarla üretim emri oluşturmayı engelle"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "Kilitli Parça Gerekli"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
-msgstr "Kilitlenmemiş parçalar için yapı sırası oluşturulmasını engelle."
+msgstr "Kilidi açılmış parçalarla üretim emri oluşturmayı engelle"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "Geçerli BOM gereklidir."
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
-msgstr "BOM doğrulanmadan yapı sırası oluşturulmasını engelle."
+msgstr "BOM henüz doğrulanmadan üretim emri oluşturmayı engelle"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "Kapalı Alt Siparişler Gerekli"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
-msgstr "Tüm alt siparişler kapatılana kadar yapı sırası tamamlanmasını engelle."
+msgstr "Tüm alt emirler kapatılana kadar üretim emrini tamamlamayı engelle"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
-msgstr ""
+msgstr "Harici Üretim Emirleri"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
-msgstr ""
+msgstr "Harici üretim emri işlevselliğini etkinleştir"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "Testler Geçene Kadar Engelle"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
-msgstr "Tüm gerekli testler geçene kadar yapı çıktıları tamamlanmasını engelle"
+msgstr "Tüm gerekli testler geçene kadar üretim çıktılarını tamamlamayı engelle"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "İade Siparişlerini Etkinleştir"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
-msgstr "Kullanıcı arayüzünde iade siparişi işlevselliğini etkinleştirin."
+msgstr "Kullanıcı arayüzünde iade siparişi işlevselliğini etkinleştir"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Kullanıcı arayüzünde iade siparişi işlevselliğini etkinleştirin."
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "İade Sipariş referans alanı oluşturmak için gerekli desen"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Tamamlanan İade Siparişlerini Düzenle"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
-msgstr "Tamamlandıktan sonra iade emirlerini düzenlemeye izin ver"
+msgstr "Tamamlandıktan sonra iade siparişlerini düzenlemeye izin ver"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Satış Siparişi Referans Şablonu"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Satış Siparişi referans alanını üretmek için gerekli şablon"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Satış Siparişi Varsayılan Gönderi"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Satış siparişleriyle varsayılan gönderi oluşturmayı etkinleştir"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
-msgstr "Tamamlanmış Satış Siparişini Düzenle"
+msgstr "Tamamlanmış Satış Siparişlerini Düzenle"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Gönderilen veya tamamlanan satış siparişlerini düzenlemeye izin ver"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
-msgstr ""
+msgstr "Kontrol Gerektiren Gönderi"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
-msgstr ""
+msgstr "Kalemler kontrol edilene dek gönderilerin tamamlanmasını engelle"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "Gönderilen Siparişleri Tamamlandı Olarak İmle"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
-msgstr "Gönderildi olarak imlenen satış siparişleri \"gönderildi\" durumu atlanarak otomatik olarak tamamlanacaktır"
+msgstr "Gönderildi olarak işaretli satış siparişleri \"gönderildi\" durumu atlanarak otomatik olarak tamamlanacaktır"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Satın Alma Siparişi Referans Şablonu"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Satın Alma Siparişi referans alanını üretmek için gerekli şablon"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Tamamlanan Satın Alma Siparişlerini Düzenle"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Gönderildikten veya tamamlandıktan sonra satın alma siparişlerini düzenlemeye izin ver"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
-msgstr ""
+msgstr "Para Birimini Dönüştür"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
-msgstr ""
+msgstr "Stok alınırken kalem değerini temel para birimine dönüştür"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Satın Alma Siparişlerini Otomatik Tamamla"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
-msgstr "Tüm satır ögeleri alındığında satın alma siparişini otomatikmen tamamlandı olarak imle"
+msgstr "Tüm satırlar alındığında satın alma siparişini otomatikmen tamamlandı olarak işaretle"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
-msgstr "Şifreyi unuttumu etkinleştir"
+msgstr "Şifremi unuttum seçeneğini etkinleştir"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Giriş yapma sayfasında şifremi unuttum işlevini etkinleştir"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Kayıt olmayı etkinleştir"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Giriş yapma sayfalarında kullanıcılar için kendini kaydetme işlevini etkinleştir"
-#: common/setting/system.py:922
-msgid "Enable SSO"
-msgstr ""
-
-#: common/setting/system.py:923
-msgid "Enable SSO on the login pages"
-msgstr ""
-
-#: common/setting/system.py:928
-msgid "Enable SSO registration"
-msgstr ""
-
-#: common/setting/system.py:930
-msgid "Enable self-registration via SSO for users on the login pages"
-msgstr ""
-
-#: common/setting/system.py:936
-msgid "Enable SSO group sync"
-msgstr ""
-
-#: common/setting/system.py:938
-msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
-msgstr ""
-
#: common/setting/system.py:944
-msgid "SSO group key"
-msgstr ""
+msgid "Enable SSO"
+msgstr "SSO Etkinleştir"
#: common/setting/system.py:945
-msgid "The name of the groups claim attribute provided by the IdP"
-msgstr ""
+msgid "Enable SSO on the login pages"
+msgstr "Kullanıcı girişi sayfalarında SSO etkinleştir"
#: common/setting/system.py:950
-msgid "SSO group map"
-msgstr ""
+msgid "Enable SSO registration"
+msgstr "SSO ile kayıt olmayı etkinleştir"
#: common/setting/system.py:952
+msgid "Enable self-registration via SSO for users on the login pages"
+msgstr "Giriş yapma sayfalarında kullanıcılar için SSO ile kendini kaydetmeyi etkinleştir"
+
+#: common/setting/system.py:958
+msgid "Enable SSO group sync"
+msgstr "SSO grup eşitlemeyi etkinleştir"
+
+#: common/setting/system.py:960
+msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
+msgstr "InvenTree gruplarını IdP tarafından sağlanan gruplar ile eşitlemeyi etkinleştir"
+
+#: common/setting/system.py:966
+msgid "SSO group key"
+msgstr "SSO grup anahtarı"
+
+#: common/setting/system.py:967
+msgid "The name of the groups claim attribute provided by the IdP"
+msgstr "IdP tarafından sağlanan talep özniteliğinin adı"
+
+#: common/setting/system.py:972
+msgid "SSO group map"
+msgstr "SSO grup haritası"
+
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "SSO gruplarından yerel InvenTree gruplarına bir eşleme. Yerel grup yoksa, oluşturulacaktır."
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
-msgstr ""
+msgstr "SSO dışındaki grupları kaldır"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
-msgstr ""
+msgstr "IdP arka ucu tarafından olmayan, kullanıcıya atanmış grupların kaldırılıp kaldırılmayacağı. Bu ayarı etkisizleştirmek güvenlik sorunlarına neden olabilir"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "E-posta Gerekir"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
-msgstr ""
+msgstr "Üyelik sırasında kullanıcının eposta sağlamasını gerektir"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
-msgstr ""
+msgstr "SSO kullanıcıları otomatik doldur"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Kullanıcı ayrıntılarını TOA hesabı verisinden otomatik olarak doldur"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Postayı iki kez gir"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Hesap oluştururken kullanıcıların postalarını iki kez girmelerini iste"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Şifreyi iki kez gir"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Hesap oluştururken kullanıcıların şifrelerini iki kez girmesini iste"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Alanlara izin ver"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Belirli alanlara hesap açmayı kısıtla (virgülle ayrılmış, @ ile başlayan)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Hesap oluştururken grup"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "Yeni kullanıcıların kayıt sırasında atanacağı grup. Eğer TOA grup eşitlemesi etkinse, yalnızca ıdP'den hiçbir grup atanamazsa bu grup ayarlanır."
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "ÇFKD'yi Zorunlu Kıl"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Kullanıcıların çok faktörlü kimlik doğrulamasını kullanması gerekmektedir."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "Bu ayarı etkinleştirmek, tüm kullanıcıların çok faktörlü kimlik doğrulamayı ayarlamasını gerektirecektir. Tüm oturumlar hemen kapatılacaktır."
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
-msgstr ""
+msgstr "Başlangıçta eklentileri kontrol et"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
-msgstr ""
+msgstr "Başlangıçta tüm eklentilerin kurulmuş olduğunu kontrol et - konteyner ortamlarında etkinleştir"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
-msgstr ""
-
-#: common/setting/system.py:1022
-msgid "Enable periodic checks for updates to installed plugins"
-msgstr ""
-
-#: common/setting/system.py:1028
-msgid "Enable URL integration"
-msgstr ""
-
-#: common/setting/system.py:1029
-msgid "Enable plugins to add URL routes"
-msgstr "URL yönlendirmesi eklemek için eklentileri etkinleştirin"
-
-#: common/setting/system.py:1035
-msgid "Enable navigation integration"
-msgstr ""
-
-#: common/setting/system.py:1036
-msgid "Enable plugins to integrate into navigation"
-msgstr ""
-
-#: common/setting/system.py:1042
-msgid "Enable app integration"
-msgstr ""
-
-#: common/setting/system.py:1043
-msgid "Enable plugins to add apps"
-msgstr ""
+msgstr "Eklenti güncellemelerini kontrol et"
#: common/setting/system.py:1049
-msgid "Enable schedule integration"
-msgstr ""
+msgid "Enable periodic checks for updates to installed plugins"
+msgstr "Kurulu eklentiler için periyodik güncelleme kontrolünü etkinleştir"
-#: common/setting/system.py:1050
-msgid "Enable plugins to run scheduled tasks"
-msgstr ""
+#: common/setting/system.py:1055
+msgid "Enable URL integration"
+msgstr "URL entegrasyonunu etkinleştir"
#: common/setting/system.py:1056
-msgid "Enable event integration"
-msgstr ""
+msgid "Enable plugins to add URL routes"
+msgstr "URL yönlendirmesi eklemek için eklentileri etkinleştir"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1062
+msgid "Enable navigation integration"
+msgstr "Gezinti entegrasyonunu etkinleştir"
+
+#: common/setting/system.py:1063
+msgid "Enable plugins to integrate into navigation"
+msgstr "Eklentilerin gezintiye entegre edilmesini etkinleştir"
+
+#: common/setting/system.py:1069
+msgid "Enable app integration"
+msgstr "Uygulama entegrasyonunu etkinleştir"
+
+#: common/setting/system.py:1070
+msgid "Enable plugins to add apps"
+msgstr "Uygulamalar eklemek için eklentileri etkinleştir"
+
+#: common/setting/system.py:1076
+msgid "Enable schedule integration"
+msgstr "Zamanlama entegrasyonunu etkinleştir"
+
+#: common/setting/system.py:1077
+msgid "Enable plugins to run scheduled tasks"
+msgstr "Zamanlanmış görevleri çalıştırmak için eklentileri etkinleştir"
+
+#: common/setting/system.py:1083
+msgid "Enable event integration"
+msgstr "Olay entegrasyonunu etkinleştir"
+
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Eklentilerin olaylara yanıt verebilmesini etkinleştirin"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
-msgstr ""
-
-#: common/setting/system.py:1064
-msgid "Enable plugins to integrate into the user interface"
-msgstr ""
-
-#: common/setting/system.py:1070
-msgid "Enable mail integration"
-msgstr ""
-
-#: common/setting/system.py:1071
-msgid "Enable plugins to process outgoing/incoming mails"
-msgstr ""
-
-#: common/setting/system.py:1077
-msgid "Enable project codes"
-msgstr ""
-
-#: common/setting/system.py:1078
-msgid "Enable project codes for tracking projects"
-msgstr ""
-
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr ""
-
-#: common/setting/system.py:1085
-msgid "Enable functionality for recording historical stock levels and value"
-msgstr ""
+msgstr "Arayüz entegrasyonunu etkinleştir"
#: common/setting/system.py:1091
+msgid "Enable plugins to integrate into the user interface"
+msgstr "Eklentilerin kullanıcı arayüzüne entegre olmasını etkinleştir"
+
+#: common/setting/system.py:1097
+msgid "Enable mail integration"
+msgstr "Posta entegrasyonunu etkinleştir"
+
+#: common/setting/system.py:1098
+msgid "Enable plugins to process outgoing/incoming mails"
+msgstr "Eklentilerin giden/gelen postaları işlemesini etkinleştir"
+
+#: common/setting/system.py:1104
+msgid "Enable project codes"
+msgstr "Proje kodlarını etkinleştir"
+
+#: common/setting/system.py:1105
+msgid "Enable project codes for tracking projects"
+msgstr "Projeleri izlemek için proje kodlarını etkinleştir"
+
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr "Stok Sayımını Etkinleştir"
+
+#: common/setting/system.py:1112
+msgid "Enable functionality for recording historical stock levels and value"
+msgstr "Geçmiş stok seviyelerini ve değerini kaydetme işlevini etkinleştir"
+
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
-msgstr ""
+msgstr "Harici Konumları Hariç Tut"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr ""
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr "Harici konumlardaki stok kalemlerini stok geçmişi hesaplamalarının dışında tut"
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
-msgstr ""
+msgstr "Otomatik Stok Sayımı Periyodu"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr ""
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr "Otomatik stok geçmişi kaydı arasındaki gün sayısı"
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Kullancıların tam isimlerini göster"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr ""
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr "Eski Stok Geçmişi Girdilerini Sil"
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr ""
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr "Belirtilen gün sayısından daha eski stok geçmişi girdilerini sil"
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
-msgstr ""
+msgid "Stocktake Deletion Interval"
+msgstr "Stok Geçmişi Silme Aralığı"
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr "Stok geçmişi girdileri belirtilen gün sayısı sonrasında silinecektir"
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr "Eski Stok Geçmişi Girdilerini Sil"
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr "Belirtilen gün sayısından daha eski stok geçmişi girdilerini sil"
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr "Stok Geçmişi Silme Aralığı"
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr "Stok geçmişi girdileri belirtilen gün sayısı sonrasında silinecektir"
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Kullancıların tam isimlerini görüntüle"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Kullanıcı adı yerine kullanıcıların tam adlarını görüntüle"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "Kullanıcı Profillerini Göster"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "Kullanıcıların Profillerini kendi profil sayfalarında göster"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "Test İstasyon Verisini Etkinleştir"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "Test sonuçları için test istasyonundan veri toplamayı etkinleştir"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr "Makine Pingini Etkinleştir"
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
-msgstr ""
+msgstr "Durumlarını kontrol etmek için kayıtlı makinelerin periyodik ping görevini etkinleştir"
#: common/setting/user.py:23
msgid "Inline label display"
-msgstr ""
+msgstr "Satır içi etiket görüntüleme"
#: common/setting/user.py:25
msgid "Display PDF labels in the browser, instead of downloading as a file"
-msgstr ""
+msgstr "PDF etiketleri bir dosya olarak indirmek yerine tarayıcıda görüntüle"
#: common/setting/user.py:31
msgid "Default label printer"
-msgstr ""
+msgstr "Varsayılan etiket yazıcı"
#: common/setting/user.py:32
msgid "Configure which label printer should be selected by default"
-msgstr ""
+msgstr "Hangi etiket yazıcının varsayılan olarak seçilmesi gerektiğini yapılandır"
#: common/setting/user.py:37
msgid "Inline report display"
-msgstr ""
+msgstr "Satır içi rapor görüntüleme"
#: common/setting/user.py:39
msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
+msgstr "PDF raporları bir dosya olarak indirmek yerine tarayıcıda görüntüle"
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "Form Alanlarında Barkod Tarayıcı"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "Form alanlarında barkod tarayıcı girişine izin ver"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3608,7 +3653,7 @@ msgstr "Parça Ara"
#: common/setting/user.py:52
msgid "Display parts in search preview window"
-msgstr "Parçaları arama ön izleme penceresinde görüntüle"
+msgstr "Parçaları arama önizleme penceresinde görüntüle"
#: common/setting/user.py:57
msgid "Search Supplier Parts"
@@ -3616,7 +3661,7 @@ msgstr "Parça Tedarikçilerini Ara"
#: common/setting/user.py:58
msgid "Display supplier parts in search preview window"
-msgstr ""
+msgstr "Tedarikçi parçalarını arama önizleme penceresinde görüntüle"
#: common/setting/user.py:63
msgid "Search Manufacturer Parts"
@@ -3624,39 +3669,39 @@ msgstr "Parça Üreticilerini Ara"
#: common/setting/user.py:64
msgid "Display manufacturer parts in search preview window"
-msgstr ""
+msgstr "Üretici parçalarını arama önizleme penceresinde görüntüle"
#: common/setting/user.py:69
msgid "Hide Inactive Parts"
-msgstr "Aktif olmayan parçaları gizle"
+msgstr "Pasif Parçaları Gizle"
#: common/setting/user.py:70
msgid "Excluded inactive parts from search preview window"
-msgstr ""
+msgstr "Arama önizleme penceresinden hariç tutulan pasif parçalar"
#: common/setting/user.py:75
msgid "Search Categories"
-msgstr ""
+msgstr "Kategorileri Ara"
#: common/setting/user.py:76
msgid "Display part categories in search preview window"
-msgstr ""
+msgstr "Parça kategorilerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:81
msgid "Search Stock"
-msgstr ""
+msgstr "Stoku Ara"
#: common/setting/user.py:82
msgid "Display stock items in search preview window"
-msgstr ""
+msgstr "Stok kalemlerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:87
msgid "Hide Unavailable Stock Items"
-msgstr ""
+msgstr "Var Olmayan Stok Kalemlerini Gizle"
#: common/setting/user.py:89
msgid "Exclude stock items which are not available from the search preview window"
-msgstr ""
+msgstr "Var olmayan stok kalemlerini arama önizleme penceresinden hariç tut"
#: common/setting/user.py:95
msgid "Search Locations"
@@ -3664,7 +3709,7 @@ msgstr "Konum Ara"
#: common/setting/user.py:96
msgid "Display stock locations in search preview window"
-msgstr ""
+msgstr "Stok konumlarını arama önizleme penceresinde görüntüle"
#: common/setting/user.py:101
msgid "Search Companies"
@@ -3672,11 +3717,11 @@ msgstr "Şirketleri Ara"
#: common/setting/user.py:102
msgid "Display companies in search preview window"
-msgstr ""
+msgstr "Şirketleri arama önizleme penceresinde görüntüle"
#: common/setting/user.py:107
msgid "Search Build Orders"
-msgstr ""
+msgstr "Üretim Emirlerini Ara"
#: common/setting/user.py:108
msgid "Display build orders in search preview window"
@@ -3684,7 +3729,7 @@ msgstr "Üretim emirlerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:113
msgid "Search Purchase Orders"
-msgstr "Satınalma Emri Ara"
+msgstr "Satın Alma Siparişlerini Ara"
#: common/setting/user.py:114
msgid "Display purchase orders in search preview window"
@@ -3692,79 +3737,79 @@ msgstr "Satın alma siparişlerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:119
msgid "Exclude Inactive Purchase Orders"
-msgstr "Etkin Olmayan Satın Alma Siparişlerini Hariç Tut"
+msgstr "Pasif Satın Alma Siparişlerini Hariç Tut"
#: common/setting/user.py:120
msgid "Exclude inactive purchase orders from search preview window"
-msgstr ""
+msgstr "Pasif satın alma siparişlerini arama önizleme penceresinden hariç tut"
#: common/setting/user.py:125
msgid "Search Sales Orders"
-msgstr ""
+msgstr "Satış Siparişlerini Ara"
#: common/setting/user.py:126
msgid "Display sales orders in search preview window"
-msgstr ""
+msgstr "Satış siparişlerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:131
msgid "Exclude Inactive Sales Orders"
-msgstr ""
+msgstr "Pasif Satın Alma Siparişlerini Hariç Tut"
#: common/setting/user.py:132
msgid "Exclude inactive sales orders from search preview window"
-msgstr ""
+msgstr "Pasif satın alma siparişlerini arama önizleme penceresinden hariç tut"
#: common/setting/user.py:137
msgid "Search Sales Order Shipments"
-msgstr ""
+msgstr "Satış Siparişi Gönderilerini Ara"
#: common/setting/user.py:138
msgid "Display sales order shipments in search preview window"
-msgstr ""
+msgstr "Satış siparişi gönderilerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:143
msgid "Search Return Orders"
-msgstr ""
+msgstr "İade Siparişlerini Ara"
#: common/setting/user.py:144
msgid "Display return orders in search preview window"
-msgstr ""
+msgstr "İade siparişlerini arama önizleme penceresinde görüntüle"
#: common/setting/user.py:149
msgid "Exclude Inactive Return Orders"
-msgstr ""
+msgstr "Pasif İade Siparişlerini Hariç Tut"
#: common/setting/user.py:150
msgid "Exclude inactive return orders from search preview window"
-msgstr ""
+msgstr "Pasif iade siparişlerini arama önizleme penceresinden hariç tut"
#: common/setting/user.py:155
msgid "Search Preview Results"
-msgstr ""
+msgstr "Arama Önizleme Sonuçları"
#: common/setting/user.py:157
msgid "Number of results to show in each section of the search preview window"
-msgstr ""
+msgstr "Arama önizleme penceresinin her bir bölümünde gösterilecek sonuç sayısı"
#: common/setting/user.py:163
msgid "Regex Search"
-msgstr ""
+msgstr "Regex Arama"
#: common/setting/user.py:164
msgid "Enable regular expressions in search queries"
-msgstr ""
+msgstr "Arama sorgularında düzenli ifadeleri etkinleştir"
#: common/setting/user.py:169
msgid "Whole Word Search"
-msgstr ""
+msgstr "Tam Kelime Arama"
#: common/setting/user.py:170
msgid "Search queries return results for whole word matches"
-msgstr ""
+msgstr "Arama sorguları, tam kelime eşleşmeleri için sonuçlar döndürür"
#: common/setting/user.py:175
msgid "Search Notes"
-msgstr ""
+msgstr "Notları Ara"
#: common/setting/user.py:177
msgid "Search queries return results for matches from the item's notes"
@@ -3772,11 +3817,11 @@ msgstr "Arama sorguları, nesnenin notlarındaki eşleşmelere ilişkin sonuçla
#: common/setting/user.py:183
msgid "Escape Key Closes Forms"
-msgstr ""
+msgstr "Esc Tuşu Formları Kapatır"
#: common/setting/user.py:184
msgid "Use the escape key to close modal forms"
-msgstr ""
+msgstr "Açılır formları kapatmak için ESC tuşunu kullanın"
#: common/setting/user.py:189
msgid "Fixed Navbar"
@@ -3784,31 +3829,31 @@ msgstr "Navigasyon Çubuğunu Sabitle"
#: common/setting/user.py:190
msgid "The navbar position is fixed to the top of the screen"
-msgstr ""
+msgstr "Gezinti çubuğu konumu ekranın üstüne sabitlenir"
#: common/setting/user.py:195
msgid "Fixed Table Headers"
-msgstr ""
+msgstr "Sabit Tablo Başlıkları"
#: common/setting/user.py:196
msgid "Table headers are fixed to the top of the table"
-msgstr ""
+msgstr "Tablo başlıkları tablonun üstüne sabitlenir"
#: common/setting/user.py:201
msgid "Show Spotlight"
-msgstr ""
+msgstr "Hızlı Aramayı Göster"
#: common/setting/user.py:202
msgid "Enable spotlight navigation functionality"
-msgstr ""
+msgstr "Hızlı arama gezinti işlevselliğini etkinleştir"
#: common/setting/user.py:207
msgid "Navigation Icons"
-msgstr ""
+msgstr "Gezinti Simgeleri"
#: common/setting/user.py:208
msgid "Display icons in the navigation bar"
-msgstr ""
+msgstr "Gezinti çubuğunda simgeleri göster"
#: common/setting/user.py:213
msgid "Date Format"
@@ -3816,499 +3861,503 @@ msgstr "Tarih Biçimi"
#: common/setting/user.py:214
msgid "Preferred format for displaying dates"
-msgstr ""
+msgstr "Tarihleri görüntülemek için tercih edilen biçim"
#: common/setting/user.py:227
msgid "Show Stock History"
-msgstr ""
+msgstr "Stok Geçmişini Göster"
#: common/setting/user.py:228
msgid "Display stock history information in the part detail page"
-msgstr ""
+msgstr "Parça ayrıntısı sayfasında stok geçmişi bilgisini görüntüle"
#: common/setting/user.py:233
msgid "Show Last Breadcrumb"
-msgstr ""
+msgstr "Son Gezinti Yolunu Göster"
#: common/setting/user.py:234
msgid "Show the current page in breadcrumbs"
-msgstr ""
+msgstr "Şimdiki sayfayı gezinti yollarında göster"
#: common/setting/user.py:239
msgid "Show full stock location in tables"
-msgstr ""
+msgstr "Tablolarda tam stok konumunu göster"
#: common/setting/user.py:241
msgid "Disabled: The full location path is displayed as a hover tooltip. Enabled: The full location path is displayed as plain text."
-msgstr ""
+msgstr "Devre dışı: Tam konumun yolu fareyle üzerine gelindiğinde bir araç ipucu olarak görüntülenir. Etkin: Tam konumun yolu düz metin olarak görüntülenir."
#: common/setting/user.py:247
msgid "Show full part categories in tables"
-msgstr ""
+msgstr "Tablolarda tam parça kategorilerini göster"
#: common/setting/user.py:249
msgid "Disabled: The full category path is displayed as a hover tooltip. Enabled: The full category path is displayed as plain text."
-msgstr ""
+msgstr "Devre dışı: Tam kategori yolu fareyle üzerine gelindiğinde bir araç ipucu olarak görüntülenir. Etkin: Tam kategori yolu düz metin olarak görüntülenir."
#: common/setting/user.py:255
msgid "Receive error reports"
-msgstr ""
+msgstr "Hata raporları alın"
#: common/setting/user.py:256
msgid "Receive notifications for system errors"
-msgstr ""
+msgstr "Sistem hataları için bildirim alın"
#: common/setting/user.py:261
msgid "Last used printing machines"
-msgstr ""
+msgstr "Son kullanılan yazdırma makineleri"
#: common/setting/user.py:262
msgid "Save the last used printing machines for a user"
-msgstr ""
+msgstr "Son kullanılan yazdırma makinelerini bir kullanıcı için kaydet"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "Tüm modeller"
#: common/validators.py:63
msgid "No attachment model type provided"
-msgstr ""
+msgstr "Ekli model türü sağlanamadı"
#: common/validators.py:69
msgid "Invalid attachment model type"
-msgstr ""
+msgstr "Geçersiz ek modeli türü"
#: common/validators.py:110
msgid "Minimum places cannot be greater than maximum places"
-msgstr ""
+msgstr "Minimum yer sayısı maksimum yer sayısından fazla olamaz"
#: common/validators.py:122
msgid "Maximum places cannot be less than minimum places"
-msgstr ""
+msgstr "Maksimum yer sayısı minimum yer sayısından az olamaz"
#: common/validators.py:133
msgid "An empty domain is not allowed."
-msgstr ""
+msgstr "Boş bir alan adına izin verilmez."
#: common/validators.py:135
#, python-brace-format
msgid "Invalid domain name: {domain}"
-msgstr ""
+msgstr "Geçersiz alan adı: {domain}"
#: common/validators.py:151
msgid "Value must be uppercase"
-msgstr ""
+msgstr "Değer büyük harf olmalıdır"
#: common/validators.py:157
msgid "Value must be a valid variable identifier"
-msgstr ""
+msgstr "Değer geçerli bir değişken tanımlayıcısı olmalıdır"
#: company/api.py:141
msgid "Part is Active"
-msgstr ""
+msgstr "Parça Aktif"
#: company/api.py:145
msgid "Manufacturer is Active"
-msgstr ""
-
-#: company/api.py:246
-msgid "Supplier Part is Active"
-msgstr ""
+msgstr "Üretici Aktif"
#: company/api.py:250
+msgid "Supplier Part is Active"
+msgstr "Tedarikçi Parçası Aktif"
+
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr "Ana Tedarikçi Parçası"
+
+#: company/api.py:256
msgid "Internal Part is Active"
-msgstr ""
+msgstr "Dahili Parça Aktif"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
-msgstr ""
+msgstr "Tedarikçi Aktif"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Üretici"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Şirket"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
-msgstr ""
+msgstr "Stoku Var"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Şirketler"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
-msgstr ""
+msgstr "Şirket açıklaması"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
-msgstr ""
+msgstr "Şirketin açıklaması"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "İnternet Sitesi"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
-msgstr "Şirket web sitesi"
+msgstr "Şirketin web sitesi"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Telefon numarası"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "İletişim telefon numarası"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "İletişim e-posta adresi"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "İletişim"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
-msgstr ""
+msgstr "İlgili kişi"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
-msgstr ""
+msgstr "Harici şirket bilgisine bağlantı"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
-msgstr ""
+msgstr "Bu şirket aktif mi?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "Müşteri sitesi"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Bu şirkete ürün satıyor musunuz?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
-msgstr ""
+msgstr "Tedarikçi mi"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Bu şirketten ürün satın alıyor musunuz?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
-msgstr ""
+msgstr "Üretici mi"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
-msgstr "Bu şirket üretim yapıyor mu?"
+msgstr "Bu şirket parça üretiyor mu?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
-msgstr ""
+msgstr "Vergi Numarası"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
-msgstr ""
+msgstr "Şirket Vergi Numarası"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Adres"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Adres"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Şirket Seç"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Adres Adı"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
-msgstr ""
+msgstr "Adres girdisini açıklayan başlık"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Birincil Adres"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Birincil adres olarak ayarla"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "1. Satır"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "1. Adres Satırı"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "2. Satır"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "2. Adres Satırı"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Posta Kodu"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Şehir/Bölge"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
-msgstr ""
+msgstr "Posta kodu şehir/bölge"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
-msgstr ""
+msgstr "Eyalet/İlçe"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
-msgstr ""
+msgstr "Eyalet veya ilçe"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
-msgstr ""
+msgstr "Ülke"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
-msgstr ""
+msgstr "Adres ülkesi"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
-msgstr ""
+msgstr "Sevkiyat taşıyıcısı için notlar"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
-msgstr ""
+msgstr "Sevkiyat taşıyıcısı için notlar"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
-msgstr ""
+msgstr "Dahili sevkiyet notları"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
-msgstr ""
+msgstr "Dahili kullanım için sevkiyat notları"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
-msgstr ""
+msgstr "Adres bilgisine bağlantı (harici)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
-msgstr ""
+msgstr "Üretici Parçası"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Temel Parça"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Parça seçin"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
-msgstr ""
+msgstr "Harici üretici bağlantısı için URL"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Parça üreticisi açıklaması"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
-msgstr ""
+msgstr "Paket birimleri, temel parça birimleriyle uyumlu olmalıdır"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
-msgstr ""
+msgstr "Paket birimleri sıfırdan büyük olmalıdır"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
+msgstr "Bağlantılı üretici parçası aynı temel parçayı referans almalıdır"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:777
-msgid "Is this supplier part active?"
-msgstr "Bu parça üreticisi aktif mi?"
+msgstr "Tedarikçi stok kodu"
#: company/models.py:787
+msgid "Is this supplier part active?"
+msgstr "Bu tedarikçi parçası aktif mi?"
+
+#: company/models.py:792
+msgid "Primary"
+msgstr "Ana"
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr "Bu, bağlı parça için birincil tedarikçi ürünü mü?"
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Parça üreticisi seç"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
-msgstr ""
+msgstr "Harici tedarikçi parçası bağlantısı için URL"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
-msgstr ""
+msgstr "Tedarikçi parçası açıklaması"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
+msgstr "Minimum ücret (örneğin stoklama ücreti)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Paketleme"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
-msgstr ""
+msgstr "Parça paketleme"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
-msgstr ""
+msgstr "Paket Miktarı"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
-msgstr ""
+msgstr "Tek bir pakette tedarik edilen toplam miktar. Tekli ürünler için boş bırakın."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "çoklu"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
-msgstr ""
+msgstr "Birden fazla sipariş ver"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
-msgstr ""
+msgstr "Tedarikçiden temin edilebilir miktar"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
-msgstr ""
+msgstr "Temin Edilebilir Miktar Güncellendi"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
-msgstr ""
+msgstr "Temin edilebilirlik verisinin güncellendiği son tarih"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
-msgstr ""
+msgstr "Tedarikçi Fiyat Kademesi"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
-msgstr ""
+msgstr "Bu tedarikçi için kullanılan varsayılan para birimi"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
-msgstr ""
+msgstr "Şirket Adı"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
-msgstr ""
+msgstr "Stokta"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
-msgstr ""
+msgstr "Fiyat Kademeleri"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
-msgstr ""
+msgstr "Veri dışa aktarma sırasında hata oluştu"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
-msgstr ""
+msgstr "Veri dışa aktarma eklentisi yanlış veri biçimi döndürdü"
#: data_exporter/serializers.py:73
msgid "Export Format"
-msgstr ""
+msgstr "Dışa Aktarma Biçimi"
#: data_exporter/serializers.py:74
msgid "Select export file format"
-msgstr ""
+msgstr "Çıktı dosyası biçimi seçin"
#: data_exporter/serializers.py:81
msgid "Export Plugin"
-msgstr ""
+msgstr "Dışa Aktarma Eklentisi"
#: data_exporter/serializers.py:82
msgid "Select export plugin"
-msgstr ""
+msgstr "Dışa aktarma eklentisi seçin"
#: generic/states/fields.py:146
msgid "Additional status information for this item"
-msgstr ""
+msgstr "Bu kalem için ek durum bilgisi"
#: generic/states/fields.py:160
msgid "Custom status key"
-msgstr ""
+msgstr "Özel durum anahtarı"
#: generic/states/serializers.py:26
msgid "Custom"
-msgstr ""
+msgstr "Özel"
#: generic/states/serializers.py:37
msgid "Class"
-msgstr ""
+msgstr "Sınıf"
#: generic/states/serializers.py:40
msgid "Values"
-msgstr ""
+msgstr "Değerler"
#: generic/states/tests.py:22 order/status_codes.py:13
msgid "Placed"
@@ -4316,247 +4365,247 @@ msgstr "Sipariş verildi"
#: generic/states/validators.py:21
msgid "Invalid status code"
-msgstr ""
+msgstr "Geçersiz durum kodu"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Veri Dosyası"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
-msgstr ""
+msgstr "İçe aktarılacak veri dosyası"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
-msgstr ""
+msgstr "Sütunlar"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
-msgstr ""
+msgstr "Bu içe aktarma oturumu için hedef model türü"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
-msgstr ""
+msgstr "İçe aktarma durumu"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
-msgstr ""
+msgstr "Alan Varsayılanları"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
-msgstr ""
+msgstr "Alan Geçersiz Kılmaları"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
-msgstr ""
-
-#: importer/models.py:126
-msgid "Update Existing Records"
-msgstr ""
+msgstr "Alan Filtreleri"
#: importer/models.py:127
+msgid "Update Existing Records"
+msgstr "Mevcut Kayıtları Güncelle"
+
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
-msgstr ""
+msgstr "Etkinleştirilirse, mevcut kayıtlar yeni veri ile güncellenecektir"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
-msgstr ""
+msgstr "Bazı zorunlu alanlar eşleştirilmemiştir"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
-msgstr ""
+msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
-msgstr ""
+msgstr "Kayıt için mevcut veritabanı tanımlayıcısı"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
-msgstr ""
+msgstr "Sütun zaten bir veritabanı alanına eşlenmiştir"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
-msgstr ""
+msgstr "Alan zaten bir veri sütununa eşlenmiştir"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
-msgstr ""
-
-#: importer/models.py:449
-msgid "Column does not exist in the data file"
-msgstr ""
-
-#: importer/models.py:456
-msgid "Field does not exist in the target model"
-msgstr ""
-
-#: importer/models.py:460
-msgid "Selected field is read-only"
-msgstr ""
-
-#: importer/models.py:465 importer/models.py:536
-msgid "Import Session"
-msgstr ""
-
-#: importer/models.py:469
-msgid "Field"
-msgstr ""
+msgstr "Sütun eşlemesi geçerli bir içe aktarma oturumuna bağlanmalıdır"
#: importer/models.py:471
+msgid "Column does not exist in the data file"
+msgstr "Sütun veri dosyasında bulunmuyor"
+
+#: importer/models.py:478
+msgid "Field does not exist in the target model"
+msgstr "Alan hedef modelde bulunmuyor"
+
+#: importer/models.py:482
+msgid "Selected field is read-only"
+msgstr "Seçilen alan salt okunurdur"
+
+#: importer/models.py:487 importer/models.py:564
+msgid "Import Session"
+msgstr "Oturumu İçe Aktar"
+
+#: importer/models.py:491
+msgid "Field"
+msgstr "Alan"
+
+#: importer/models.py:493
msgid "Column"
-msgstr ""
+msgstr "Sütun"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
-msgstr ""
+msgstr "Satır İndeksi"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
-msgstr ""
+msgstr "Orijinal satır verisi"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
-msgstr ""
+msgstr "Hatalar"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
-msgstr ""
+msgstr "Geçerli"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
-msgstr ""
+msgstr "Mevcut kayıtları güncellemek için ID gereklidir."
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
-msgstr ""
+msgstr "Sağlanan ID ile kayıt bulunamadı"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
-msgstr ""
+msgstr "Sağlanan ID biçimi geçersiz"
#: importer/operations.py:31 importer/operations.py:52
msgid "Unsupported data file format"
-msgstr ""
+msgstr "Desteklenmeyen veri dosyası biçimi"
#: importer/operations.py:43
msgid "Failed to open data file"
-msgstr ""
+msgstr "Veri dosyasını açılamadı"
#: importer/operations.py:54
msgid "Invalid data file dimensions"
-msgstr ""
+msgstr "Geçersiz veri dosyası boyutları"
#: importer/serializers.py:92
msgid "Invalid field defaults"
-msgstr ""
+msgstr "Geçersiz alan varsayılanları"
#: importer/serializers.py:105
msgid "Invalid field overrides"
-msgstr ""
+msgstr "Geçersiz alan geçersiz kılmaları"
#: importer/serializers.py:118
msgid "Invalid field filters"
-msgstr ""
+msgstr "Geçersiz alan filtreleri"
#: importer/serializers.py:177
msgid "Rows"
-msgstr ""
+msgstr "Satırlar"
#: importer/serializers.py:178
msgid "List of row IDs to accept"
-msgstr ""
+msgstr "Kabul edilecek satır ID'leri"
#: importer/serializers.py:191
msgid "No rows provided"
-msgstr ""
+msgstr "Hiç satır sağlanmadı"
#: importer/serializers.py:195
msgid "Row does not belong to this session"
-msgstr ""
+msgstr "Satır bu oturuma ait değil"
#: importer/serializers.py:198
msgid "Row contains invalid data"
-msgstr ""
+msgstr "Satır geçersiz veri içeriyor"
#: importer/serializers.py:201
msgid "Row has already been completed"
-msgstr ""
+msgstr "Satır zaten tamamlandı"
#: importer/status_codes.py:13
msgid "Initializing"
-msgstr ""
+msgstr "Başlatılıyor"
#: importer/status_codes.py:18
msgid "Mapping Columns"
-msgstr ""
+msgstr "Sütunları Eşleme"
#: importer/status_codes.py:21
msgid "Importing Data"
-msgstr ""
+msgstr "Veri İçe Aktarılıyor"
#: importer/status_codes.py:24
msgid "Processing Data"
-msgstr ""
+msgstr "Veri İşleniyor"
#: importer/validators.py:21
msgid "Data file exceeds maximum size limit"
-msgstr ""
+msgstr "Veri dosyası maksimum boyut sınırını aşıyor"
#: importer/validators.py:26
msgid "Data file contains no headers"
-msgstr ""
+msgstr "Veri dosyası başlık içermiyor"
#: importer/validators.py:29
msgid "Data file contains too many columns"
-msgstr ""
+msgstr "Veri dosyası çok fazla sütun içeriyor"
#: importer/validators.py:32
msgid "Data file contains too many rows"
-msgstr ""
+msgstr "Veri dosyası çok fazla satır içeriyor"
#: importer/validators.py:53
msgid "Value must be a valid dictionary object"
-msgstr ""
+msgstr "Değer geçerli bir sözlük nesnesi olmalıdır"
#: machine/machine_types/label_printer.py:212
msgid "Copies"
-msgstr ""
+msgstr "Kopyalar"
#: machine/machine_types/label_printer.py:213
msgid "Number of copies to print for each label"
-msgstr ""
+msgstr "Her etiket için yazdırılacak kopya sayısı"
#: machine/machine_types/label_printer.py:231
msgid "Connected"
-msgstr ""
+msgstr "Bağlı"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
-msgstr ""
+msgstr "Bilinmeyen"
#: machine/machine_types/label_printer.py:233
msgid "Printing"
-msgstr ""
+msgstr "Yazdırılıyor"
#: machine/machine_types/label_printer.py:234
msgid "Warning"
-msgstr ""
+msgstr "Uyarı"
#: machine/machine_types/label_printer.py:235
msgid "No media"
-msgstr ""
+msgstr "Ortam yok"
#: machine/machine_types/label_printer.py:236
msgid "Paper jam"
-msgstr ""
+msgstr "Kağıt sıkışması"
#: machine/machine_types/label_printer.py:237
msgid "Disconnected"
-msgstr ""
+msgstr "Bağlı değil"
#: machine/machine_types/label_printer.py:238
msgid "Error"
-msgstr ""
+msgstr "Hata"
#: machine/machine_types/label_printer.py:245
msgid "Label Printer"
@@ -4564,75 +4613,75 @@ msgstr "Etiket Yazdırma"
#: machine/machine_types/label_printer.py:246
msgid "Directly print labels for various items."
-msgstr ""
+msgstr "Çeşitli ürünler için etiketleri doğrudan yazdırın."
#: machine/machine_types/label_printer.py:252
msgid "Printer Location"
-msgstr ""
+msgstr "Yazıcı Konumu"
#: machine/machine_types/label_printer.py:253
msgid "Scope the printer to a specific location"
-msgstr ""
+msgstr "Yazıcıyı belirli bir konuma ayarlayın"
#: machine/models.py:26
msgid "Name of machine"
-msgstr ""
+msgstr "Makinenin adı"
#: machine/models.py:30
msgid "Machine Type"
-msgstr ""
+msgstr "Makine Türü"
#: machine/models.py:30
msgid "Type of machine"
-msgstr ""
+msgstr "Makinenin türü"
#: machine/models.py:35 machine/models.py:147
msgid "Driver"
-msgstr ""
+msgstr "Sürücü"
#: machine/models.py:36
msgid "Driver used for the machine"
-msgstr ""
+msgstr "Makine için kullanılan sürücü"
#: machine/models.py:40
msgid "Machines can be disabled"
-msgstr ""
+msgstr "Makineler devre dışı bırakılabilir"
#: machine/models.py:96
msgid "Driver available"
-msgstr ""
+msgstr "Sürücü mevcut"
#: machine/models.py:101
msgid "No errors"
-msgstr ""
+msgstr "Hata yok"
#: machine/models.py:106
msgid "Initialized"
-msgstr ""
+msgstr "Başlatıldı"
#: machine/models.py:118
msgid "Machine status"
-msgstr ""
+msgstr "Makine durumu"
#: machine/models.py:146
msgid "Machine"
-msgstr ""
+msgstr "Makine"
#: machine/models.py:158
msgid "Machine Config"
-msgstr ""
+msgstr "Makine Yapılandırması"
#: machine/models.py:163
msgid "Config type"
-msgstr ""
+msgstr "Yapılandırma türü"
#: machine/serializers.py:24
msgid "Key of the property"
-msgstr ""
+msgstr "Özelliğin anahtarı"
#: machine/serializers.py:27
msgid "Value of the property"
-msgstr ""
+msgstr "Özelliğin değeri"
#: machine/serializers.py:30 users/models.py:238
msgid "Group"
@@ -4640,865 +4689,897 @@ msgstr "Grup"
#: machine/serializers.py:30
msgid "Grouping of the property"
-msgstr ""
+msgstr "Özelliğin gruplandırması"
#: machine/serializers.py:33
msgid "Type"
-msgstr ""
+msgstr "Tür"
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "Özelliğin türü"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "Maksimum İlerleme"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
-msgstr ""
+msgstr "İlerleme türünün maksimum değeri, tür=ilerleme ise gerekli"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
-msgstr ""
+msgstr "Sipariş Referansı"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
-msgstr ""
+msgstr "Açık"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
-msgstr ""
+msgstr "Proje Kodu Var"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Oluşturan"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
-msgstr ""
+msgstr "Öncesinde Oluşturuldu"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
-msgstr ""
+msgstr "Sonrasında Oluşturuldu"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
-msgstr ""
+msgstr "Başlangıç Tarihi Var"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
-msgstr ""
+msgstr "Öncesi Başlangıç Tarihi"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
-msgstr ""
+msgstr "Sonrası Başlangıç Tarihi"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
-msgstr ""
+msgstr "Hedef Tarihi Var"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
-msgstr ""
+msgstr "Öncesi Hedef Tarih"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
-msgstr ""
+msgstr "Sonrası Hedef Tarih"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr "Daha önce güncellendi"
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr "Güncellendi (den sonra)"
+
+#: order/api.py:284
msgid "Has Pricing"
-msgstr ""
+msgstr "Fiyatlandırılmış"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
-msgstr ""
+msgstr "Öncesinde Tamamlandı"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
-msgstr ""
+msgstr "Sonrasında Tamamlandı"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
-msgstr ""
+msgstr "Harici Üretim Emri"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
-msgstr ""
+msgstr "Sipariş"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
-msgstr ""
+msgstr "Sipariş Tamamlandı"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
-msgstr ""
+msgstr "Dahili Parça"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
-msgstr ""
+msgstr "Sipariş Bekliyor"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Tamamlandı"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
+msgstr "Sevkiyatı Var"
+
+#: order/api.py:1437
+msgid "Shipment not found"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
-msgstr ""
+msgstr "Satın Alma Siparişi"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
#: templates/email/overdue_sales_order.html:15
msgid "Sales Order"
-msgstr "Sipariş Emri"
+msgstr "Satış Siparişi"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
-msgstr ""
+msgstr "İade Siparişi"
#: order/models.py:90
#: report/templates/report/inventree_purchase_order_report.html:38
#: report/templates/report/inventree_sales_order_report.html:31
msgid "Total Price"
-msgstr ""
+msgstr "Toplam Fiyat"
#: order/models.py:91
msgid "Total price for this order"
-msgstr ""
+msgstr "Bu sipariş için toplam fiyat"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
-msgstr ""
+msgstr "Sipariş Para Birimi"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
-msgstr ""
+msgstr "Bu sipariş için para birimi (şirket varsayılanını kullanmak için boş bırakın)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
-msgstr ""
+msgstr "Bu sipariş kilitli olduğundan değiştirilemez"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
-msgstr ""
+msgstr "İletişim bilgileri seçilen şirketle eşleşmiyor"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
-msgstr ""
+msgstr "Başlangıç tarihi hedef tarihinden önce olmalıdır"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "Adres bilgileri seçilen şirketle eşleşmiyor"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
-msgstr ""
+msgstr "Açıklama (isteğe bağlı)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
-msgstr ""
+msgstr "Bu sipariş için proje kodu seçin"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Harici sayfaya bağlantı"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
-msgstr ""
+msgstr "Başlangıç tarihi"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
-msgstr ""
+msgstr "Bu üretim emri için planlanan başlangıç tarihi"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Hedeflenen tarih"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
-msgstr ""
+msgstr "Sipariş teslimatı için beklenen tarih. Bu tarihten sonra sipariş gecikmeli olacaktır."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
-msgstr ""
+msgstr "Düzenleme Tarihi"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
-msgstr ""
+msgstr "Siparişin düzenlendiği tarih"
-#: order/models.py:504
-msgid "User or group responsible for this order"
-msgstr ""
+#: order/models.py:506
+msgid "Updated At"
+msgstr "Güncellenme Tarihi"
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr "Bu siparişten sorumlu kullanıcı veya grup"
+
+#: order/models.py:526
msgid "Point of contact for this order"
-msgstr ""
+msgstr "Bu sipariş için ilgili kişi"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
-msgstr ""
+msgstr "Bu sipariş için şirket adresi"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Durum"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
-msgstr ""
+msgstr "Satın alma siparişi durumu"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
-msgstr ""
+msgstr "Ürünlerin sipariş edilmekte olduğu şirket"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
-msgstr ""
+msgstr "Tedarikçi Referansı"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
-msgstr ""
+msgstr "Tedarikçi siparişi referans kodu"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
-msgstr ""
+msgstr "teslim alan"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
-msgstr ""
+msgstr "Siparişin tamamlandığı tarih"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Hedef"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
-msgstr ""
+msgstr "Teslim alınan kalemler için varış yeri"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
-msgstr ""
+msgstr "Parça tedarikçisi PO tedarikçisi ile eşleşmelidir"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
-msgstr ""
+msgstr "Satır, satın alma siparişi ile eşleşmiyor"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
-msgstr ""
+msgstr "Satırda bağlantılı bir parça eksik"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
-msgstr ""
+msgstr "Miktar pozitif bir sayı olmalıdır"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Müşteri"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
-msgstr ""
+msgstr "Ürünlerin satılmakta olduğu şirket"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
-msgstr ""
+msgstr "Satış siparişi durumu"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
-msgstr ""
+msgstr "Müşteri Referansı "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
-msgstr ""
+msgstr "Müşteri siparişi referans kodu"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
-msgstr ""
+msgstr "Sevkiyat Tarihi"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
-msgstr ""
+msgstr "tarafından sevk edildi"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
-msgstr ""
+msgstr "Sipariş zaten tamamlandı"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
-msgstr ""
+msgstr "Sipariş zaten iptal edildi"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
-msgstr ""
+msgstr "Yalnızca açık siparişler tamamlandı olarak işaretlenebilir"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
-msgstr ""
+msgstr "Tamamlanmamış sevkiyatlar olduğundan sipariş tamamlanamaz"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
-msgstr ""
+msgstr "Tamamlanmamış tahsisatlar olduğundan sipariş tamamlanamaz"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
-msgstr ""
+msgstr "Tamamlanmamış satırlar olduğundan sipariş tamamlanamaz"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
-msgstr ""
+msgstr "Bu sipariş kilitli olduğundan değiştirilemez"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
-msgstr ""
+msgstr "Kalem miktarı"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
-msgstr ""
-
-#: order/models.py:1782
-msgid "Line item notes"
-msgstr ""
+msgstr "Satır referansı"
#: order/models.py:1797
+msgid "Line item notes"
+msgstr "Satır notları"
+
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
-msgstr ""
+msgstr "Bu satır için hedef tarih (siparişin hedef tarihini kullanmak için boş bırakın)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
-msgstr ""
+msgstr "Satır açıklaması (isteğe bağlı)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
-msgstr ""
+msgstr "Bu satır için ek bağlam"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
-msgstr ""
+msgstr "Birim Fiyat"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
-msgstr ""
+msgstr "Satın Alma Siparişi Kalemi"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
-msgstr ""
+msgstr "Tedarikçi parçası tedarikçi ile eşleşmelidir"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
-msgstr ""
+msgstr "Üretim emri harici olarak işaretlenmelidir"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
-msgstr ""
+msgstr "Üretim emirleri yalnızca montaj parçalarına bağlanabilir"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
-msgstr ""
-
-#: order/models.py:1943
-msgid "Supplier part"
-msgstr ""
-
-#: order/models.py:1950
-msgid "Received"
-msgstr ""
-
-#: order/models.py:1951
-msgid "Number of items received"
-msgstr ""
-
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
-msgid "Purchase Price"
-msgstr ""
+msgstr "Üretim emri parçası satır parçası ile eşleşmelidir"
#: order/models.py:1960
+msgid "Supplier part"
+msgstr "Tedarikçi parçası"
+
+#: order/models.py:1967
+msgid "Received"
+msgstr "Teslim Alındı"
+
+#: order/models.py:1968
+msgid "Number of items received"
+msgstr "Teslim alınan miktar"
+
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
+msgid "Purchase Price"
+msgstr "Alış Fiyatı"
+
+#: order/models.py:1977
msgid "Unit purchase price"
-msgstr ""
+msgstr "Birim alış fiyatı"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
-msgstr ""
+msgstr "Bu kalem tarafından karşılanacak harici Üretim Emri"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
-msgstr ""
+msgstr "Ek Sipariş Kalemi"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
-msgstr ""
+msgstr "Satış Siparişi Kalemi"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
-msgstr ""
+msgstr "Yalnızca satışa uygun parçalar bir satış siparişine atanabilir"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
-msgstr ""
+msgstr "Satış Fiyatı"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
-msgstr ""
+msgstr "Birim satış fiyatı"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Sevk edildi"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
-msgstr ""
+msgstr "Sevk edilen miktar"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
-msgstr ""
+msgstr "Satış Siparişi Sevkiyatı"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "Sevk adresi müşteri ile eşleşmelidir"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "Bu sevkiyatın sevk adresi"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
-msgstr ""
-
-#: order/models.py:2304
-msgid "Delivery Date"
-msgstr ""
-
-#: order/models.py:2305
-msgid "Date of delivery of shipment"
-msgstr ""
-
-#: order/models.py:2313
-msgid "Checked By"
-msgstr ""
-
-#: order/models.py:2314
-msgid "User who checked this shipment"
-msgstr ""
-
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
-#: report/templates/report/inventree_sales_order_shipment_report.html:14
-msgid "Shipment"
-msgstr ""
+msgstr "Sevkiyat tarihi"
#: order/models.py:2322
-msgid "Shipment number"
-msgstr ""
+msgid "Delivery Date"
+msgstr "Teslimat Tarihi"
-#: order/models.py:2330
-msgid "Tracking Number"
-msgstr ""
+#: order/models.py:2323
+msgid "Date of delivery of shipment"
+msgstr "Sevkiyatın teslimat tarihi"
#: order/models.py:2331
+msgid "Checked By"
+msgstr "Kontrol Eden"
+
+#: order/models.py:2332
+msgid "User who checked this shipment"
+msgstr "Bu sevkiyatı kontrol eden kullanıcılar"
+
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
+#: report/templates/report/inventree_sales_order_shipment_report.html:14
+msgid "Shipment"
+msgstr "Sevkiyat"
+
+#: order/models.py:2340
+msgid "Shipment number"
+msgstr "Sevkiyat numarası"
+
+#: order/models.py:2348
+msgid "Tracking Number"
+msgstr "Takip Numarası"
+
+#: order/models.py:2349
msgid "Shipment tracking information"
-msgstr ""
+msgstr "Sevkiyat takip numarası"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
-msgstr ""
+msgstr "Fatura Numarası"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
-msgstr ""
+msgstr "Fatura referans numarası"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
-msgstr ""
+msgstr "Sevkiyat zaten sevk edildi"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
-msgstr ""
+msgstr "Sevkiyatın tahsis edilen stok kalemleri bulunmuyor"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
-msgstr ""
+msgstr "Sevkiyat tamamlanmadan önce kontrol edilmelidir"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
-msgstr ""
+msgstr "Ek Sipariş Kalemi"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
-msgstr ""
+msgstr "Satış Siparişi Tahsisatı"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
-msgstr ""
+msgstr "Stok kalemi henüz atanmadı"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
-msgstr ""
+msgstr "Farklı bir parçaya sahip satıra stok kalemi tahsis edilemez"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
-msgstr ""
+msgstr "Parça içermeyen bir satıra stok tahsis edilemez"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
-msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-
-#: order/models.py:2556
-msgid "Sales order does not match shipment"
-msgstr ""
-
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
-msgid "Shipment does not match sales order"
-msgstr ""
+msgstr "Seri numaralı stok kalemi için miktar 1 olmalıdır"
#: order/models.py:2565
+msgid "Sales order does not match shipment"
+msgstr "Satış siparişi sevkiyatla eşleşmiyor"
+
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
+msgid "Shipment does not match sales order"
+msgstr "Sevkiyat satış siparişiyle eşleşmiyor"
+
+#: order/models.py:2574
msgid "Line"
-msgstr ""
+msgstr "Satır"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
-msgstr ""
+msgstr "Satış siparişinin sevkiyat referansı"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
-msgstr ""
-
-#: order/models.py:2590
-msgid "Select stock item to allocate"
-msgstr ""
+msgstr "Kalem"
#: order/models.py:2599
+msgid "Select stock item to allocate"
+msgstr "Tahsis edilecek stok kalemini seçin"
+
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
-msgstr ""
+msgstr "İade Siparişi referansı"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
-msgstr ""
+msgstr "Ürünlerin iade edildiği şirket"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
-msgstr ""
+msgstr "İade siparişi durumu"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
-msgstr ""
+msgstr "İade Siparişi Satırı"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
-msgstr ""
+msgstr "Stok kalemi belirtilmelidir"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
-msgstr ""
+msgstr "İade miktarı stok miktarını aşıyor"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
-msgstr ""
-
-#: order/models.py:2993
-msgid "Invalid quantity for serialized stock item"
-msgstr ""
+msgstr "İade miktarı sıfırdan büyük olmalıdır"
#: order/models.py:3009
-msgid "Select item to return from customer"
-msgstr ""
-
-#: order/models.py:3024
-msgid "Received Date"
-msgstr ""
+msgid "Invalid quantity for serialized stock item"
+msgstr "Seri numaralı stok kalemi için geçersiz miktar"
#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr ""
+msgid "Select item to return from customer"
+msgstr "Müşteriden iade edilecek ürünü seçin"
-#: order/models.py:3037
+#: order/models.py:3040
+msgid "Received Date"
+msgstr "Teslim Alma Tarihi"
+
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr "Bu iade kaleminin teslim alındığı tarih"
+
+#: order/models.py:3053
msgid "Outcome"
-msgstr ""
+msgstr "Sonuç"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
-msgstr ""
+msgstr "Bu satırın sonucu"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
-msgstr ""
+msgstr "Bu kalem için iade veya onarımla ilgili maliyet"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
-msgstr ""
+msgstr "Ek Sipariş Kalemi"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
-msgstr ""
+msgstr "Sipariş ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
-msgstr ""
+msgstr "Kopyası oluşturulacak siparişin ID'si"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
-msgstr ""
+msgstr "Satırları Kopyala"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
-msgstr ""
+msgstr "Satırları orijinal siparişten kopyala"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
-msgstr ""
+msgstr "Ek Kalemleri Kopyala"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
-msgstr ""
+msgstr "Orijinal siparişten ek kalemleri kopyala"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Parametreleri Kopyala"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr "Parametreleri orijinal siparişten kopyala"
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
-msgstr "Satır Ögeleri"
+msgstr "Satırlar"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
-msgstr ""
+msgstr "Tamamlanan Satırlar"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
-msgstr ""
+msgstr "Siparişin Kopyasını Oluştur"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
-msgstr ""
+msgstr "Bu siparişin kopyasını oluşturmak için seçenekleri belirtin"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
-msgstr ""
+msgstr "Geçersiz sipariş ID"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
-msgstr ""
+msgstr "Tedarikçi Adı"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
-msgstr ""
+msgstr "Sipariş iptal edilemez"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
-msgstr ""
+msgstr "Satır eksiği olan siparişin kapatılmasına izin ver"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
-msgstr ""
+msgstr "Siparişin eksik satırları var"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
-msgstr ""
+msgstr "Sipariş açık değil"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
-msgstr ""
+msgstr "Otomatik Fiyatlandırma"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
-msgstr ""
+msgstr "Tedarikçi parça verilerine göre satın alma fiyatını otomatik olarak hesapla"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
-msgstr ""
+msgstr "Satın alma fiyatı para birimi"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
-msgstr ""
+msgstr "Kalemleri Birleştir"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
-msgstr ""
+msgstr "Aynı parça, hedef ve hedef tarihe sahip kalemleri tek bir satırda birleştir"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
-msgstr ""
+msgstr "SKU"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
-msgstr ""
+msgstr "Dahili Parça Numarası"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
-msgstr ""
+msgstr "Dahili Parça Adı"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
-msgstr ""
+msgstr "Tedarikçi parçası belirtilmeli"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
-msgstr ""
+msgstr "Satın alma siparişi belirtilmeli"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
-msgstr ""
+msgstr "Tedarikçi satın alma siparişi ile eşleşmelidir"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
-msgstr ""
+msgstr "Satın alma siparişi tedarikçi ile eşleşmelidir"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
-msgstr ""
+msgstr "Satır"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
-msgstr ""
+msgstr "Teslim alınan kalemler için varış konumunu seçin"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
-msgstr ""
+msgstr "Gelen stok kalemleri için parti numarası girin"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
-msgstr ""
+msgstr "Son Kullanma Tarihi"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
-msgstr ""
+msgstr "Gelen stok kalemleri için son kullanma tarihi girin"
+
+#: order/serializers.py:835
+msgid "Enter serial numbers for incoming stock items"
+msgstr "Gelen stok kalemlerinin seri numaralarını girin"
+
+#: order/serializers.py:845
+msgid "Override packaging information for incoming stock items"
+msgstr "Gelen stok kalemlerinin paketleme bilgilerini geçersiz kıl"
+
+#: order/serializers.py:853 order/serializers.py:2029
+msgid "Additional note for incoming stock items"
+msgstr "Gelen stok kalemleri için ek not"
+
+#: order/serializers.py:860
+msgid "Barcode"
+msgstr "Barkod"
+
+#: order/serializers.py:861
+msgid "Scanned barcode"
+msgstr "Taranan barkod"
#: order/serializers.py:877
-msgid "Enter serial numbers for incoming stock items"
-msgstr ""
-
-#: order/serializers.py:887
-msgid "Override packaging information for incoming stock items"
-msgstr ""
-
-#: order/serializers.py:895 order/serializers.py:2065
-msgid "Additional note for incoming stock items"
-msgstr ""
-
-#: order/serializers.py:902
-msgid "Barcode"
-msgstr ""
-
-#: order/serializers.py:903
-msgid "Scanned barcode"
-msgstr ""
-
-#: order/serializers.py:919
msgid "Barcode is already in use"
-msgstr ""
+msgstr "Barkod zaten kullanımda"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
-msgstr ""
+msgstr "Satırlar sağlanmalıdır"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
-msgstr ""
+msgstr "Hedef konum belirtilmelidir"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
-msgstr ""
+msgstr "Sağlanan barkod değerleri benzersiz olmalıdır"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
-msgstr ""
+msgstr "Sevkiyatlar"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
-msgstr ""
+msgstr "Tamamlanan Sevkiyatlar"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "Tahsis Edilen Kalemler"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
-msgstr ""
+msgstr "Satış para birimi"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
-msgstr ""
+msgstr "Tahsis Edilen Kalemler"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
-msgstr ""
+msgstr "Sevkiyat bilgileri sağlanmadı"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
-msgstr ""
+msgstr "Ürün kalemi bu siparişle ilişkilendirilmemiştir"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
-msgstr ""
+msgstr "Miktar pozitif olmalıdır"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
-msgstr ""
+msgstr "Tahsis edilecek seri numaralarını girin"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
-msgstr ""
+msgstr "Sevkiyat zaten sevk edildi"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
-msgstr ""
+msgstr "Sevkiyat bu sipariş ile ilişkilendirilmemiştir"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
-msgstr ""
+msgstr "Şu seri numaraları için bir eşleşme bulunamadı"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
-msgstr ""
+msgstr "Şu seri numaraları mevcut değildir"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
-msgstr ""
+msgstr "İade siparişi kalemi"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
-msgstr ""
+msgstr "Ürün kalemi iade siparişi ile eşleşmiyor"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
-msgstr ""
+msgstr "Ürün kalemi zaten teslim alındı"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
-msgstr ""
+msgstr "Ürün kalemleri yalnızca işlemdeki siparişlere istinaden teslim alınabilir"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
-msgstr ""
+msgstr "İade olacak miktar"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
-msgstr ""
+msgstr "Satır para birimi"
#: order/status_codes.py:17 order/status_codes.py:54 stock/status_codes.py:16
msgid "Lost"
@@ -5518,1211 +5599,1263 @@ msgstr "Geri Dön"
#: order/status_codes.py:108
msgid "Repair"
-msgstr ""
+msgstr "Onar"
#: order/status_codes.py:111
msgid "Replace"
-msgstr ""
+msgstr "Değiştir"
#: order/status_codes.py:114
msgid "Refund"
-msgstr ""
+msgstr "Geri öde"
#: order/status_codes.py:117
msgid "Reject"
-msgstr ""
+msgstr "Reddet"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
-msgstr ""
+msgstr "Geciken Satın Alma Siparişi"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
-msgstr ""
+msgstr "Satın alma siparişi {po} şimdi gecikti"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
-msgstr ""
+msgstr "Geciken Satış Siparişi"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
-msgstr ""
+msgstr "Satış siparişi {so} şimdi gecikti"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
-msgstr ""
+msgstr "Gecikmiş İade Siparişi"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
-msgstr ""
+msgstr "İade siparişi {ro} şimdi gecikti"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
-msgstr ""
+msgstr "Yıldızlı"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
-msgstr ""
+msgstr "Yıldızlı kategorilere göre filtrele"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
-msgstr ""
+msgstr "Derinlik"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
-msgstr ""
+msgstr "Kategori derinliğine göre filtrele"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
-msgstr ""
+msgstr "Üst Seviye"
+
+#: part/api.py:127
+msgid "Filter by top-level categories"
+msgstr "Üst seviye kategorilere göre filtrele"
+
+#: part/api.py:140 stock/api.py:320
+msgid "Cascade"
+msgstr "Kademeli"
#: part/api.py:142
-msgid "Filter by top-level categories"
-msgstr ""
-
-#: part/api.py:155 stock/api.py:321
-msgid "Cascade"
-msgstr ""
-
-#: part/api.py:157
msgid "Include sub-categories in filtered results"
-msgstr ""
+msgstr "Filtrelenmiş sonuçlara alt kategorileri dahil et"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
-msgstr ""
+msgstr "Üst"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
-msgstr ""
+msgstr "Üst kategoriye göre filtrele"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
-msgstr ""
+msgstr "Belirtilen kategorideki alt kategorileri hariç tut"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
-msgstr ""
+msgstr "Sonuçları Olanlar"
+
+#: part/api.py:653
+msgid "Is Variant"
+msgstr "Varyant mı"
#: part/api.py:661
-msgid "Is Variant"
-msgstr ""
-
-#: part/api.py:669
msgid "Is Revision"
-msgstr ""
+msgstr "Revizyon mu"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
-msgstr ""
+msgstr "Revizyonu Olanlar"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
-msgstr ""
+msgstr "BOM Geçerli"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
-msgstr ""
+msgstr "Kategorileri Kademele"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
-msgstr ""
+msgstr "Etkin ise, verilen kategorinin alt kategorilerindeki ögeleri dahil et"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
-msgstr ""
+msgstr "Sayısal kategori ID veya 'null' sabitine göre filtrele"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "Montaj parçası etkin"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "Montaj parçası takip edilebilir"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
-msgstr ""
+msgstr "Montaj test edilebilir"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr "Bileşen etkin"
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr "Bileşen takip edilebilir"
+
+#: part/api.py:1301
msgid "Component part is testable"
-msgstr ""
+msgstr "Bileşen test edilebilir"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr "Bileşen bir montaj parçası"
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr "Bileşen sanal"
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr "Stok mevcut"
+
+#: part/api.py:1370
msgid "Uses"
-msgstr ""
+msgstr "Kullanımlar"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
-msgstr ""
+msgstr "Parça Kategorisi"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
-msgstr ""
+msgstr "Yapısal"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
+msgstr "Parçalar doğrudan bir yapısal kategoriye atanamayabilir, ancak alt kategorilere atanabilir."
+
+#: part/models.py:128
+msgid "Default keywords"
+msgstr "Varsayılan anahtar kelimeler"
#: part/models.py:129
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:130
msgid "Default keywords for parts in this category"
-msgstr ""
+msgstr "Bu kategoridaki parçalar için varsayılan anahtar kelimeler"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
-msgstr ""
+msgstr "Simge"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
-msgstr ""
+msgstr "Simge (isteğe bağlı)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
+msgstr "Bu parça kategorisini yapısal hale getiremezsiniz çünkü bazı parçalar zaten bu kategoriye atanmıştır!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
-msgstr ""
+msgstr "Parça Kategorisi Parametre Şablonu"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
-msgstr ""
+msgstr "Varsayılan Değer"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
-msgstr ""
+msgstr "Varsayılan Parametre Değeri"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Parçalar"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "Kilitli bir parçanın parametreleri silinemez"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "Kilitli bir parçanın parametreleri değiştirilemez"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
-msgstr ""
+msgstr "Bu parça kilitli olduğu için silinemez"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
-msgstr ""
+msgstr "Bu parça hala aktif olduğundan silinemez"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
-msgstr ""
+msgstr "Bu parça bir montajda kullanıldığından silinemez"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
-msgstr ""
+msgstr "'{self}' parçası, '{parent}' için BOM'da kullanılamaz (yinelemeli)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
-msgstr ""
+msgstr "'{parent}' parçası, '{self}' için BOM'da kullanılır (yinelemeli)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
-msgstr ""
+msgstr "IPN, düzenli ifade kalıbı {pattern} ile eşleşmelidir"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
-msgstr ""
+msgstr "Parça, kendisinin revizyonu olamaz"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
-msgstr ""
+msgstr "Zaten bir revizyon olan bir parçanın revizyonu yapılamaz"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
-msgstr ""
+msgstr "Revizyon kodu belirtilmelidir"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
-msgstr ""
+msgstr "Revizyonlara yalnızca montaj parçaları için izin verilir"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
-msgstr ""
+msgstr "Bir şablon parçanın revizyonu yapılamaz"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
-msgstr ""
+msgstr "Üst parça aynı şablonu göstermelidir"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
-msgstr ""
+msgstr "Bu seri numarasına sahip stok kalemi zaten var"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
-msgstr ""
+msgstr "Kopyası oluşturulan parça revizyonu zaten var."
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
-msgstr ""
+msgstr "Bu Ad, IPN ve Revizyona sahip parça zaten var."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
-msgstr ""
+msgstr "Parçalar yapısal parça kategorilerine atanamaz!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
-msgstr "Bu parça başka bir parçanın çeşidi mi?"
+msgstr "Bu parça başka bir parçanın varyantı mı?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
-msgstr "Çeşidi"
+msgstr "Şunun Varyantı"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
-msgstr ""
+msgstr "Açıklama (isteğe bağlı)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
-msgstr ""
+msgstr "Arama sonuçlarında görünürlüğü artırmak için parça anahtar kelimeleri"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
-msgstr ""
+msgstr "Parça kategorisi"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "DPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
-msgstr ""
+msgstr "Bu parça başka bir parçanın revizyonu mu?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
-msgstr ""
+msgstr "Şunun Revizyonu"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
-msgstr ""
+msgstr "Bu kalem normalde nerede depolanır?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Varsayılan Tedarikçi"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Varsayılan tedarikçi parçası"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
-msgstr ""
+msgstr "Varsayılan Son Kullanma"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
-msgstr ""
+msgstr "Bu parçanın stok kalemleri için son kullanma süresi (gün olarak)"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
-msgstr ""
+msgstr "İzin verilen minimum stok düzeyi"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
-msgstr ""
+msgstr "Bu parça için ölçü birimleri"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
-msgstr "Bu parça diğer parçalardan yapılabilir mi?"
+msgstr "Bu parça diğer parçalardan üretilebilir mi?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
-msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
+msgstr "Bu parça diğer parçaların üretiminde kullanılabilir mi?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
-msgstr ""
+msgstr "Bu parçanın benzersiz kalemler için izleme özelliği var mı?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
-msgstr ""
+msgstr "Bu parçanın test sonuçları kaydedilebilir mi?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
-msgstr ""
+msgstr "Kilitli parçalar değiştirilemez"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
-msgstr ""
+msgstr "Bu, yazılım ürünü veya lisans gibi sanal bir parça mı?"
+
+#: part/models.py:1305
+msgid "BOM Validated"
+msgstr "BOM Doğrulandı"
+
+#: part/models.py:1306
+msgid "Is the BOM for this part valid?"
+msgstr "Bu parçanın BOM'u geçerli mi?"
+
+#: part/models.py:1312
+msgid "BOM checksum"
+msgstr "BOM sağlama toplamı"
+
+#: part/models.py:1313
+msgid "Stored BOM checksum"
+msgstr "Saklanan BOM sağlama toplamı"
+
+#: part/models.py:1321
+msgid "BOM checked by"
+msgstr "BOM'u kontrol eden"
+
+#: part/models.py:1326
+msgid "BOM checked date"
+msgstr "BOM kontrol tarihi"
#: part/models.py:1342
-msgid "BOM Validated"
-msgstr ""
-
-#: part/models.py:1343
-msgid "Is the BOM for this part valid?"
-msgstr ""
-
-#: part/models.py:1349
-msgid "BOM checksum"
-msgstr ""
-
-#: part/models.py:1350
-msgid "Stored BOM checksum"
-msgstr ""
-
-#: part/models.py:1358
-msgid "BOM checked by"
-msgstr ""
-
-#: part/models.py:1363
-msgid "BOM checked date"
-msgstr ""
-
-#: part/models.py:1379
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
-msgstr ""
+msgstr "Bu parçanın sorumlu sahibi"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
-msgstr ""
+msgstr "Birden fazla sat"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
-msgstr ""
+msgstr "Fiyat hesaplamalarını önbelleğe almak için kullanılan para birimi"
+
+#: part/models.py:3330
+msgid "Minimum BOM Cost"
+msgstr "Minimum BOM Maliyeti"
+
+#: part/models.py:3331
+msgid "Minimum cost of component parts"
+msgstr "Bileşenlerin minimum maliyeti"
+
+#: part/models.py:3337
+msgid "Maximum BOM Cost"
+msgstr "Maksimum BOM Maliyeti"
+
+#: part/models.py:3338
+msgid "Maximum cost of component parts"
+msgstr "Bileşenlerin maksimum maliyeti"
+
+#: part/models.py:3344
+msgid "Minimum Purchase Cost"
+msgstr "Minimum Satın Alma Maliyeti"
+
+#: part/models.py:3345
+msgid "Minimum historical purchase cost"
+msgstr "Minimum tarihsel satın alma maliyeti"
+
+#: part/models.py:3351
+msgid "Maximum Purchase Cost"
+msgstr "Maksimum Satın Alma Maliyeti"
+
+#: part/models.py:3352
+msgid "Maximum historical purchase cost"
+msgstr "Maksimum tarihsel satın alma maliyeti"
+
+#: part/models.py:3358
+msgid "Minimum Internal Price"
+msgstr "Minimum Dahili Fiyat"
+
+#: part/models.py:3359
+msgid "Minimum cost based on internal price breaks"
+msgstr "Dahili fiyat kademelerine dayalı minimum maliyet"
+
+#: part/models.py:3365
+msgid "Maximum Internal Price"
+msgstr "Maksimum Dahili Fiyat"
#: part/models.py:3366
-msgid "Minimum BOM Cost"
-msgstr ""
+msgid "Maximum cost based on internal price breaks"
+msgstr "Dahili fiyat kademelerine dayalı maksimum maliyet"
-#: part/models.py:3367
-msgid "Minimum cost of component parts"
-msgstr ""
+#: part/models.py:3372
+msgid "Minimum Supplier Price"
+msgstr "Minimum Tedarikçi Fiyatı"
#: part/models.py:3373
-msgid "Maximum BOM Cost"
-msgstr ""
+msgid "Minimum price of part from external suppliers"
+msgstr "Parça için minimum dış tedarikçi fiyatı"
-#: part/models.py:3374
-msgid "Maximum cost of component parts"
-msgstr ""
+#: part/models.py:3379
+msgid "Maximum Supplier Price"
+msgstr "Maksimum Tedarikçi Fiyatı"
#: part/models.py:3380
-msgid "Minimum Purchase Cost"
-msgstr ""
+msgid "Maximum price of part from external suppliers"
+msgstr "Parça için maksimum dış tedarikçi fiyatı"
-#: part/models.py:3381
-msgid "Minimum historical purchase cost"
-msgstr ""
+#: part/models.py:3386
+msgid "Minimum Variant Cost"
+msgstr "Minimum Varyant Maliyeti"
#: part/models.py:3387
-msgid "Maximum Purchase Cost"
-msgstr ""
+msgid "Calculated minimum cost of variant parts"
+msgstr "Varyant parçaların hesaplanan minimum maliyeti"
-#: part/models.py:3388
-msgid "Maximum historical purchase cost"
-msgstr ""
+#: part/models.py:3393
+msgid "Maximum Variant Cost"
+msgstr "Maksimum Varyant Maliyeti"
#: part/models.py:3394
-msgid "Minimum Internal Price"
-msgstr ""
+msgid "Calculated maximum cost of variant parts"
+msgstr "Varyant parçaların hesaplanan maksimum maliyeti"
-#: part/models.py:3395
-msgid "Minimum cost based on internal price breaks"
-msgstr ""
+#: part/models.py:3400 part/models.py:3414
+msgid "Minimum Cost"
+msgstr "Minimum Maliyet"
#: part/models.py:3401
-msgid "Maximum Internal Price"
-msgstr ""
+msgid "Override minimum cost"
+msgstr "Minimum maliyeti geçersiz kıl"
-#: part/models.py:3402
-msgid "Maximum cost based on internal price breaks"
-msgstr ""
+#: part/models.py:3407 part/models.py:3421
+msgid "Maximum Cost"
+msgstr "Maksimum Maliyet"
#: part/models.py:3408
-msgid "Minimum Supplier Price"
-msgstr ""
-
-#: part/models.py:3409
-msgid "Minimum price of part from external suppliers"
-msgstr ""
+msgid "Override maximum cost"
+msgstr "Maksimum maliyeti geçersiz kıl"
#: part/models.py:3415
-msgid "Maximum Supplier Price"
-msgstr ""
-
-#: part/models.py:3416
-msgid "Maximum price of part from external suppliers"
-msgstr ""
+msgid "Calculated overall minimum cost"
+msgstr "Hesaplanan genel minimum maliyet"
#: part/models.py:3422
-msgid "Minimum Variant Cost"
-msgstr ""
+msgid "Calculated overall maximum cost"
+msgstr "Hesaplanan genel maksimum maliyet"
-#: part/models.py:3423
-msgid "Calculated minimum cost of variant parts"
-msgstr ""
+#: part/models.py:3428
+msgid "Minimum Sale Price"
+msgstr "Minimum Satış Fiyatı"
#: part/models.py:3429
-msgid "Maximum Variant Cost"
-msgstr ""
-
-#: part/models.py:3430
-msgid "Calculated maximum cost of variant parts"
-msgstr ""
-
-#: part/models.py:3436 part/models.py:3450
-msgid "Minimum Cost"
-msgstr ""
-
-#: part/models.py:3437
-msgid "Override minimum cost"
-msgstr ""
-
-#: part/models.py:3443 part/models.py:3457
-msgid "Maximum Cost"
-msgstr ""
-
-#: part/models.py:3444
-msgid "Override maximum cost"
-msgstr ""
-
-#: part/models.py:3451
-msgid "Calculated overall minimum cost"
-msgstr ""
-
-#: part/models.py:3458
-msgid "Calculated overall maximum cost"
-msgstr ""
-
-#: part/models.py:3464
-msgid "Minimum Sale Price"
-msgstr ""
-
-#: part/models.py:3465
msgid "Minimum sale price based on price breaks"
-msgstr ""
+msgstr "Fiyat kademelerine dayalı minimum satış fiyatı"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
-msgstr ""
+msgstr "Maksimum Satış Fiyatı"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
-msgstr ""
+msgstr "Fiyat kademelerine dayalı maksimum satış fiyatı"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
-msgstr ""
+msgstr "Minimum Satış Maliyeti"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
-msgstr ""
+msgstr "Minimum tarihsel satış fiyatı"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
-msgstr ""
+msgstr "Maksimum Satış Maliyeti"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
-msgstr ""
+msgstr "Maksimum tarihsel satış fiyatı"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
-msgstr ""
+msgstr "Stok sayımı için parça"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
-msgstr ""
+msgstr "Kalem Sayısı"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
-msgstr ""
+msgstr "Sayım anındaki tekil stok kaydı sayısı"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
-msgstr ""
+msgstr "Sayım anındaki toplam mevcut stok"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
-msgstr ""
+msgstr "Tarih"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
-msgstr ""
+msgstr "Stok sayımının yapıldığı tarih"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
-msgstr ""
+msgstr "Minimum Stok Maliyeti"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
-msgstr ""
+msgstr "Mevcut stokun tahmini minimum maliyeti"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
-msgstr ""
+msgstr "Maksimum Stok Maliyeti"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
-msgstr ""
+msgstr "Mevcut stokun tahmini maksimum maliyeti"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
-msgstr ""
+msgstr "Parça Satış Fiyat Kademesi"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
-msgstr ""
+msgstr "Parça Test Şablonu"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
-msgstr ""
+msgstr "Geçersiz şablon adı - en az bir alfasayısal karakter içermelidir"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
-msgstr ""
+msgstr "Test şablonları sadece test edilebilir paçalar için oluşturulabilir"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
-msgstr ""
+msgstr "Aynı anahtara sahip test şablonu parça için zaten mevcut"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
-msgstr ""
+msgstr "Test için bir ad girin"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
-msgstr ""
+msgstr "Test Anahtarı"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
-msgstr ""
+msgstr "Test için basitleştirilmiş anahtar"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
-msgstr ""
+msgstr "Bu test için açıklama girin"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
-msgstr ""
+msgstr "Bu test etkinleştirildi mi?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
-msgstr ""
+msgstr "Değer Gerektirir"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
-msgstr ""
+msgstr "Bir test sonucu eklerken bu test bir değer gerektirir mi?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
-msgstr ""
+msgstr "Ek Gerektirir"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
-msgstr ""
+msgstr "Bir test sonucu eklerken bu test bir dosya eki gerektirir mi?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
-msgstr ""
+msgstr "Bu test için geçerli seçenekler (virgül ile ayrılmış)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
-msgstr ""
+msgstr "BOM kalemi değiştirilemez - montaj kilitlidir"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
-msgstr ""
+msgstr "BOM kalemi değiştirilemez - varyant montajı kilitlidir"
+
+#: part/models.py:3972
+msgid "Select parent part"
+msgstr "Üst parçayı seçin"
+
+#: part/models.py:3982
+msgid "Sub part"
+msgstr "Alt parça"
+
+#: part/models.py:3983
+msgid "Select part to be used in BOM"
+msgstr "BOM'da kullanılacak parçayı seçin"
#: part/models.py:3994
-msgid "Select parent part"
-msgstr ""
-
-#: part/models.py:4004
-msgid "Sub part"
-msgstr ""
-
-#: part/models.py:4005
-msgid "Select part to be used in BOM"
-msgstr ""
-
-#: part/models.py:4016
msgid "BOM quantity for this BOM item"
-msgstr ""
+msgstr "Bu BOM kalemi için BOM miktarı"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
-msgstr ""
+msgstr "Bu BOM kalemi isteğe bağlıdır"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
-msgstr ""
+msgstr "Bu BOM kalemi bir sarf malzemesidir (üretim emirlerinde izlenmez)"
+
+#: part/models.py:4014
+msgid "Setup Quantity"
+msgstr "Hazırlık Payı"
+
+#: part/models.py:4015
+msgid "Extra required quantity for a build, to account for setup losses"
+msgstr "Bir üretimdeki hazırlık kayıplarını telafi etmek için gereken ek miktar"
+
+#: part/models.py:4023
+msgid "Attrition"
+msgstr "Fire"
+
+#: part/models.py:4025
+msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
+msgstr "Bir üretim için tahmini fire oranı, yüzde olarak ifade edilir (0-100)"
#: part/models.py:4036
-msgid "Setup Quantity"
-msgstr ""
-
-#: part/models.py:4037
-msgid "Extra required quantity for a build, to account for setup losses"
-msgstr ""
-
-#: part/models.py:4045
-msgid "Attrition"
-msgstr ""
-
-#: part/models.py:4047
-msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
-msgstr ""
-
-#: part/models.py:4058
msgid "Rounding Multiple"
-msgstr ""
+msgstr "Kat Yuvarlama"
+
+#: part/models.py:4038
+msgid "Round up required production quantity to nearest multiple of this value"
+msgstr "Gerekli üretim miktarını bu değerin en yakın katına yuvarlayın"
+
+#: part/models.py:4046
+msgid "BOM item reference"
+msgstr "BOM kalemi referansı"
+
+#: part/models.py:4054
+msgid "BOM item notes"
+msgstr "BOM kalemi notları"
#: part/models.py:4060
-msgid "Round up required production quantity to nearest multiple of this value"
-msgstr ""
-
-#: part/models.py:4068
-msgid "BOM item reference"
-msgstr ""
-
-#: part/models.py:4076
-msgid "BOM item notes"
-msgstr ""
-
-#: part/models.py:4082
msgid "Checksum"
-msgstr ""
+msgstr "Sağlama Toplamı"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
-msgstr ""
+msgstr "BOM satırı sağlama toplamı"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
-msgstr ""
+msgstr "Doğrulandı"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
-msgstr ""
+msgstr "Bu BOM kalemi doğrulandı"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
-msgstr ""
+msgstr "Devralınır"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
-msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
+msgstr "Bu BOM kalemi, varyant parçaların BOM'larından devralınmıştır"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
-msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
+msgstr "Varyant parçaların stok kalemleri bu BOM kalemi için kullanılabilir"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
-msgstr ""
+msgstr "İzlenebilir parçalar için miktar tamsayı olmalıdır"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
-msgstr ""
+msgstr "Alt parça belirtilmelidir"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
-msgstr ""
+msgstr "BOM Kalemi Muadili"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
-msgstr ""
+msgstr "Muadil parça ile asıl parça aynı olamaz"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
-msgstr ""
+msgstr "Üst BOM kalemi"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
-msgstr ""
+msgstr "Muadil parça"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
-msgstr ""
+msgstr "Parça 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
-msgstr ""
+msgstr "Parça 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
-msgstr ""
+msgstr "İlgili Parçayı Seçin"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
-msgstr ""
+msgstr "Bu ilişki için not"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
-msgstr ""
+msgstr "Bir parça ile kendisi arasında parça ilişkisi oluşturulamaz"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
-msgstr ""
+msgstr "Kopyalanan ilişki zaten mevcut"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
-msgstr ""
+msgstr "Üst Kategori"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
-msgstr ""
+msgstr "Üst parça kategorisi"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Alt kategoriler"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
-msgstr ""
+msgstr "Sonuçlar"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
-msgstr ""
+msgstr "Bu şablon ile ilişkilendirilmiş sonuç sayısı"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
-msgstr ""
+msgstr "Bu stok kaleminin alış para birimi"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
-msgstr ""
+msgstr "Dosya bir görsel değil"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
-msgstr ""
+msgstr "Orijinal Parça"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
-msgstr ""
+msgstr "Kopyalanacak orijinal parçayı seçin"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
-msgstr ""
+msgstr "Görseli Kopyala"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
-msgstr ""
+msgstr "Orijinal parçadan görseli kopyala"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
-msgstr ""
+msgstr "BOM'u Kopyala"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
-msgstr ""
+msgstr "Orijinal parçadan ürün ağacını kopyala"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
-msgstr ""
+msgstr "Orijinal parçadan parametreleri kopyala"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
-msgstr ""
+msgstr "Notları Kopyala"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
-msgstr ""
+msgstr "Orijinal parçadan notları kopyala"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
-msgstr ""
+msgstr "Testleri Kopyala"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
-msgstr ""
+msgstr "Orijinal parçadan test şablonlarını kopyala"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
-msgstr ""
+msgstr "Başlangıç Stok Miktarı"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
-msgstr ""
+msgstr "Bu parça için başlangıç stok miktarını belirtin. Miktar sıfır ise, stok eklenmez."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
-msgstr ""
+msgstr "Başlangıç Stok Konumu"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
-msgstr ""
+msgstr "Bu parça için başlangıç stok konumunu belirtin"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
-msgstr ""
+msgstr "Tedarikçiyi seçin (veya atlamak için boş bırakın)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
-msgstr ""
+msgstr "Üreticiyi seçin (veya atlamak için boş bırakın)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
-msgstr ""
+msgstr "Üretici parça numarası"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
-msgstr ""
-
-#: part/serializers.py:504
-msgid "Selected company is not a valid manufacturer"
-msgstr ""
+msgstr "Seçilen şirket geçerli bir tedarikçi değildir"
#: part/serializers.py:515
+msgid "Selected company is not a valid manufacturer"
+msgstr "Seçilen şirket geçerli bir üretici değildir"
+
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
-msgstr ""
+msgstr "Bu MPN ile eşleşen üretici parçası zaten mevcut"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
-msgstr ""
+msgstr "Bu SKU ile tedarikçi parçası zaten mevcut"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
-msgstr ""
+msgstr "Kategori Adı"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
-msgstr ""
+msgstr "Üretiliyor"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
-msgstr ""
+msgstr "Bu parçanın şu anda üretimde olan miktarı"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
-msgstr ""
+msgstr "Bu parçanın üretilmesi planlanan açık miktarı"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Stok Kalemleri"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
-msgstr ""
+msgstr "Revizyonlar"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
-msgstr ""
+msgstr "Toplam Stok"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
-msgstr ""
+msgstr "Tahsis Edilmemiş Stok"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
-msgstr ""
+msgstr "Varyant Stoku"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
-msgstr ""
+msgstr "Parçanın Kopyasını Oluştur"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
-msgstr ""
+msgstr "Başlangıç verisini diğer parçadan kopyala"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
-msgstr ""
+msgstr "Başlangıç Stoku"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
-msgstr ""
+msgstr "Başlangıç stok miktarı ile parça oluştur"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
-msgstr ""
+msgstr "Tedarikçi Bilgileri"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
-msgstr ""
+msgstr "Bu parça için ilk tedarikçi bilgilerini ekleyin"
+
+#: part/serializers.py:965
+msgid "Copy Category Parameters"
+msgstr "Kategori Parametrelerini Kopyala"
#: part/serializers.py:966
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: part/serializers.py:967
msgid "Copy parameter templates from selected part category"
-msgstr ""
+msgstr "Seçilen parça kategorisinden parametre şablonlarını kopyala"
+
+#: part/serializers.py:971
+msgid "Existing Image"
+msgstr "Mevcut Görsel"
#: part/serializers.py:972
-msgid "Existing Image"
-msgstr ""
-
-#: part/serializers.py:973
msgid "Filename of an existing part image"
-msgstr ""
+msgstr "Mevcut parça görselinin dosya adı"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
-msgstr ""
+msgstr "Görsel dosyası mevcut değil"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
-msgstr ""
+msgstr "Tüm ürün ağacını doğrula"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
-msgstr ""
+msgstr "Üretebilir Miktar"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
-msgstr ""
+msgstr "Üretim Emirleri için Gerekli"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
-msgstr ""
+msgstr "Üretim Emirlerine Tahsis Edildi"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
-msgstr ""
+msgstr "Satış Siparişleri için Gerekli"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
-msgstr ""
+msgstr "Satış Siparişlerine Tahsis Edildi"
-#: part/serializers.py:1340
-msgid "Minimum Price"
-msgstr ""
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr "Parça DPN"
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "Parça Açıklaması"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr "Stok sayımı bilgisi oluşturmak üzere bir parça (ve varsa varyantlarını) seçin"
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr "Kategorideki (ve alt kategorilerdeki) tüm parçaları dahil etmek için bir kategori seçin"
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr "Konumda (ve alt konumlarda) stoğu bulunan tüm parçaları dahil etmek için bir konum seçin"
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr "Stok Sayımı Kayıtları Oluşturun"
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr "Seçili parçalar için stok sayımı girdilerini kaydedin"
#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "Rapor Oluştur"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr "Seçili parçalar için stok sayımı raporu oluşturun"
+
+#: part/serializers.py:1445
+msgid "Minimum Price"
+msgstr "Minimum Fiyat"
+
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
-msgstr ""
+msgstr "Minimum fiyat için hesaplanan değeri geçersiz kıl"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
-msgstr ""
+msgstr "Minimum fiyat para birimi"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
-msgstr ""
+msgstr "Maksimum Fiyat"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
-msgstr ""
+msgstr "Maksimum fiyat için hesaplanan değeri geçersiz kıl"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
-msgstr ""
+msgstr "Maksimum fiyat para birimi"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
-msgstr ""
+msgstr "Güncelle"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
-msgstr ""
+msgstr "Bu parçanın fiyatlandırmasını güncelle"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
-msgstr ""
+msgstr "Sağlanan para birimlerinden {default_currency} para birimine dönüştürülemedi"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
-msgstr ""
+msgstr "Minimum fiyat maksimum fiyattan yüksek olamaz"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
-msgstr ""
+msgstr "Maksimum fiyat minimum fiyattan düşük olamaz"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr "Miktar sıfır veya daha büyük olmalıdır"
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
-msgstr ""
+msgstr "Üst montajı seçin"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
-msgstr ""
+msgstr "Bileşeni seçin"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
-msgstr ""
+msgstr "BOM'u kopyalanacak parçayı seçin"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
-msgstr ""
+msgstr "Mevcut Verileri Temizle"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
-msgstr ""
+msgstr "Kopyalamadan önce mevcut BOM kalemlerini temizle"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
-msgstr ""
+msgstr "Devralınanı Dahil Et"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
-msgstr ""
+msgstr "Şablon parçalardan devralınan BOM kalemlerini dahil et"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
-msgstr ""
+msgstr "Geçersiz Satırları Atla"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
-msgstr ""
+msgstr "Geçersiz satırları atlamak için bu seçeneği etkinleştir"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
-msgstr ""
+msgstr "Muadil Parçaları Kopyala"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
-msgstr ""
+msgstr "BOM kalemlerinin kopyasını oluştururken muadil parçaları kopyala"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
-msgstr ""
+msgstr "Düşük stok bildirimi"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
-msgstr ""
+msgstr "{part.name} için mevcut stok, yapılandırılan minimum seviyenin altına düştü"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
-msgstr ""
+msgstr "Eskimiş stok bildirimi"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
-msgstr ""
+msgstr "Geçerlilik tarihi yaklaşan 1 adet stok kaleminiz var"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
-msgstr ""
+msgstr "Geçerlilik tarihleri yaklaşan {item_count} adet stok kaleminiz var"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
-msgstr ""
+msgstr "Geçerlilik tarihi yok"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
-msgstr ""
+msgstr "{abs(days_diff)} Gün önce süresi doldu"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
-msgstr ""
+msgstr "Süresi bugün doluyor"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
-msgstr ""
+msgstr "{days_until_expiry} gün"
#: plugin/api.py:80
msgid "Builtin"
-msgstr ""
+msgstr "Yerleşik"
#: plugin/api.py:94
msgid "Mandatory"
-msgstr ""
+msgstr "Zorunlu"
#: plugin/api.py:109
msgid "Sample"
-msgstr ""
+msgstr "Numune"
#: plugin/api.py:123 plugin/models.py:167
msgid "Installed"
-msgstr ""
+msgstr "Kuruldu"
#: plugin/api.py:190
msgid "Plugin cannot be deleted as it is currently active"
-msgstr ""
+msgstr "Bu eklenti şu an aktif olduğundan silinemez"
#: plugin/base/action/api.py:56
msgid "No action specified"
@@ -6732,247 +6865,247 @@ msgstr "İşlem belirtilmedi"
msgid "No matching action found"
msgstr "Eşleşen eylem bulunamadı"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Barkod verisi için eşleşme bulunamadı"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Barkod verisi için eşleşme bulundu"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
-msgstr ""
+msgstr "Model desteklenmiyor"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
-msgstr ""
+msgstr "Model örneği bulunamadı"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
-msgstr ""
+msgstr "Barkod mevcut kalemle eşleşiyor"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
-msgstr ""
+msgstr "Eşleşen parça verisi bulunamadı"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
-msgstr ""
+msgstr "Eşleşen tedarikçi parçası verisi bulunamadı"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
-msgstr ""
+msgstr "Birden çok eşleşen tedarikçi parçası bulundu"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
-msgstr ""
+msgstr "Barkod verisi için eşleşen eklenti bulunamadı"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
-msgstr ""
+msgstr "Eşleşen tedarikçi parçası"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
-msgstr ""
+msgstr "Ürün kalemi zaten teslim alındı"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
-msgstr ""
+msgstr "Tedarikçi barkodu için uygun eklenti bulunamadı"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
-msgstr ""
+msgstr "Birden çok eşleşen satır bulundu"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
-msgstr ""
+msgstr "Eşleşen satır bulunamadı"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
-msgstr ""
+msgstr "Satış siparişi sağlanmadı"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
-msgstr ""
+msgstr "Barkod mevcut bir stok kalemiyle eşleşmiyor"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
-msgstr ""
+msgstr "Stok kalemi satır kalemiyle eşleşmiyor"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
-msgstr ""
+msgstr "Mevcut stok yetersiz"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
-msgstr ""
+msgstr "Stok kalemi satış siparişine tahsis edilmiştir"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
-msgstr ""
+msgstr "Yetersiz bilgi"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
-msgstr ""
+msgstr "Eşleşen öge bulundu"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
-msgstr ""
+msgstr "Tedarikçi parçası satır ile eşleşmiyor"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
-msgstr ""
+msgstr "Satır zaten tamamlandı"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
-msgstr ""
+msgstr "Satır kalemini teslim almak için gerekli ek bilgiler"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
-msgstr ""
+msgstr "Teslim alınan satın alma satırı"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
-msgstr ""
+msgstr "Satırı teslim alınamadı"
#: plugin/base/barcodes/serializers.py:53
msgid "Scanned barcode data"
-msgstr ""
+msgstr "Taranan barkod verisi"
#: plugin/base/barcodes/serializers.py:62
msgid "Model name to generate barcode for"
-msgstr ""
+msgstr "Barkod oluşturulacak model adı"
#: plugin/base/barcodes/serializers.py:67
msgid "Primary key of model object to generate barcode for"
-msgstr ""
+msgstr "Barkod oluşturulacak model nesnesinin birincil anahtarı"
#: plugin/base/barcodes/serializers.py:137
msgid "Purchase Order to allocate items against"
-msgstr ""
+msgstr "Satın alma siparişi kapsamında tahsis edilecek kalemler"
#: plugin/base/barcodes/serializers.py:143
msgid "Purchase order is not open"
-msgstr ""
+msgstr "Satın alma siparişi açık değil"
#: plugin/base/barcodes/serializers.py:161
msgid "Supplier to receive items from"
-msgstr ""
+msgstr "Ürünlerin teslim alınacağı tedarikçi"
#: plugin/base/barcodes/serializers.py:168
msgid "PurchaseOrder to receive items against"
-msgstr ""
+msgstr "Satın alma siparişi kapsamında teslim alınacak kalemler"
#: plugin/base/barcodes/serializers.py:174
msgid "Purchase order has not been placed"
-msgstr ""
+msgstr "Satın alma siparişi henüz verilmedi"
#: plugin/base/barcodes/serializers.py:182
msgid "Location to receive items into"
-msgstr ""
+msgstr "Ürünlerin teslim alınacağı konum"
#: plugin/base/barcodes/serializers.py:188
msgid "Cannot select a structural location"
-msgstr ""
+msgstr "Yapısal bir konum seçilemez"
#: plugin/base/barcodes/serializers.py:196
msgid "Purchase order line item to receive items against"
-msgstr ""
+msgstr "Satın alma siparişi kapsamında teslim alınacak kalemler"
#: plugin/base/barcodes/serializers.py:202
msgid "Automatically allocate stock items to the purchase order"
-msgstr ""
+msgstr "Stok kalemlerini satın alma siparişine otomatik olarak tahsis edin"
#: plugin/base/barcodes/serializers.py:215
msgid "Sales Order to allocate items against"
-msgstr ""
+msgstr "Satış siparişi kapsamında tahsis edilecek kalemler"
#: plugin/base/barcodes/serializers.py:221
msgid "Sales order is not open"
-msgstr ""
+msgstr "Satın alma siparişi açık değil"
#: plugin/base/barcodes/serializers.py:229
msgid "Sales order line item to allocate items against"
-msgstr ""
+msgstr "Satış siparişi satırı kapsamında tahsis edilecek kalemler"
#: plugin/base/barcodes/serializers.py:236
msgid "Sales order shipment to allocate items against"
-msgstr ""
+msgstr "Satış siparişi sevkiyatı kapsamında tahsis edilecek kalemler"
#: plugin/base/barcodes/serializers.py:242
msgid "Shipment has already been delivered"
-msgstr ""
+msgstr "Sevkiyat zaten teslim edildi"
#: plugin/base/barcodes/serializers.py:247
msgid "Quantity to allocate"
-msgstr ""
+msgstr "Tahsis edilecek miktar"
#: plugin/base/label/label.py:41
msgid "Label printing failed"
-msgstr ""
+msgstr "Etiket yazdırılamadı"
#: plugin/base/label/mixins.py:53
msgid "Error rendering label to PDF"
-msgstr ""
+msgstr "Etiket PDF olarak işlenirken hata oluştu"
#: plugin/base/label/mixins.py:67
msgid "Error rendering label to HTML"
-msgstr ""
+msgstr "Etiket HTML olarak işlenirken hata oluştu"
#: plugin/base/label/mixins.py:144
msgid "No items provided to print"
-msgstr ""
+msgstr "Yazdırılacak öge seçilmedi"
#: plugin/base/ui/serializers.py:30
msgid "Plugin Name"
-msgstr ""
+msgstr "Eklenti Adı"
#: plugin/base/ui/serializers.py:34
msgid "Feature Type"
-msgstr ""
+msgstr "Özellik Türü"
#: plugin/base/ui/serializers.py:39
msgid "Feature Label"
-msgstr ""
+msgstr "Özellik Etiketi"
#: plugin/base/ui/serializers.py:44
msgid "Feature Title"
-msgstr ""
+msgstr "Özellik Başlığı"
#: plugin/base/ui/serializers.py:49
msgid "Feature Description"
-msgstr ""
+msgstr "Özellik Açıklaması"
#: plugin/base/ui/serializers.py:54
msgid "Feature Icon"
-msgstr ""
+msgstr "Özellik Simgesi"
#: plugin/base/ui/serializers.py:58
msgid "Feature Options"
-msgstr ""
+msgstr "Özellik Seçenekleri"
#: plugin/base/ui/serializers.py:61
msgid "Feature Context"
-msgstr ""
+msgstr "Özellik Bağlamı"
#: plugin/base/ui/serializers.py:64
msgid "Feature Source (javascript)"
-msgstr ""
+msgstr "Özellik Kaynağı (javascript)"
#: plugin/builtin/barcodes/inventree_barcode.py:27
msgid "InvenTree Barcodes"
-msgstr ""
+msgstr "InvenTree Barkodları"
#: plugin/builtin/barcodes/inventree_barcode.py:28
msgid "Provides native support for barcodes"
-msgstr ""
+msgstr "Barkodlar için yerleşik destek sağlar"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -6988,871 +7121,871 @@ msgstr ""
#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22
#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22
msgid "InvenTree contributors"
-msgstr ""
+msgstr "InvenTree'ye katkıda bulunanlar"
#: plugin/builtin/barcodes/inventree_barcode.py:34
msgid "Internal Barcode Format"
-msgstr ""
+msgstr "Dahili Barkod Biçimi"
#: plugin/builtin/barcodes/inventree_barcode.py:35
msgid "Select an internal barcode format"
-msgstr ""
+msgstr "Dahili bir barkod biçimi seçin"
#: plugin/builtin/barcodes/inventree_barcode.py:37
msgid "JSON barcodes (human readable)"
-msgstr ""
+msgstr "JSON barkodları (insan tarafından okunabilir)"
#: plugin/builtin/barcodes/inventree_barcode.py:38
msgid "Short barcodes (space optimized)"
-msgstr ""
+msgstr "Kısa barkodlar (alan optimizasyonu yapılmış)"
#: plugin/builtin/barcodes/inventree_barcode.py:43
msgid "Short Barcode Prefix"
-msgstr ""
+msgstr "Kısa Barkod Ön Eki"
#: plugin/builtin/barcodes/inventree_barcode.py:45
msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances"
-msgstr ""
+msgstr "Kısa barkodlar için kullanılan ön eki özelleştirin; birden fazla InvenTree örneği bulunan ortamlar için kullanışlı olabilir"
#: plugin/builtin/events/auto_create_builds.py:28
msgid "Auto Create Builds"
-msgstr ""
+msgstr "Üretimleri Otomatik Oluştur"
#: plugin/builtin/events/auto_create_builds.py:31
msgid "Automatically create build orders for assemblies"
-msgstr ""
+msgstr "Montajlar için otomatik olarak üretim emirleri oluşturun"
#: plugin/builtin/events/auto_issue_orders.py:17
msgid "Auto Issue Orders"
-msgstr ""
+msgstr "Siparişleri Otomatik Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:20
msgid "Automatically issue orders on the assigned target date"
-msgstr ""
+msgstr "Siparişler, tanımlanan hedef tarihte otomatik olarak oluşturulur"
#: plugin/builtin/events/auto_issue_orders.py:30
msgid "Auto Issue Build Orders"
-msgstr ""
+msgstr "Üretim Emirlerini Otomatik Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:32
msgid "Automatically issue build orders on the assigned target date"
-msgstr ""
+msgstr "Üretim emirleri, tanımlanan hedef tarihte otomatik olarak oluşturulur"
#: plugin/builtin/events/auto_issue_orders.py:38
msgid "Auto Issue Purchase Orders"
-msgstr ""
+msgstr "Satın Alma Siparişlerini Otomatik Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:40
msgid "Automatically issue purchase orders on the assigned target date"
-msgstr ""
+msgstr "Satın alma siparişleri, tanımlanan hedef tarihte otomatik olarak düzenlenir"
#: plugin/builtin/events/auto_issue_orders.py:46
msgid "Auto Issue Sales Orders"
-msgstr ""
+msgstr "Satış Siparişlerini Otomatik Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:48
msgid "Automatically issue sales orders on the assigned target date"
-msgstr ""
+msgstr "Satış siparişleri, tanımlanan hedef tarihte otomatik olarak düzenlenir"
#: plugin/builtin/events/auto_issue_orders.py:54
msgid "Auto Issue Return Orders"
-msgstr ""
+msgstr "İade Siparişlerini Otomatik Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:56
msgid "Automatically issue return orders on the assigned target date"
-msgstr ""
+msgstr "İade siparişleri, tanımlanan hedef tarihte otomatik olarak düzenlenir"
#: plugin/builtin/events/auto_issue_orders.py:62
msgid "Issue Backdated Orders"
-msgstr ""
+msgstr "Geriye Dönük Siparişleri Düzenle"
#: plugin/builtin/events/auto_issue_orders.py:63
msgid "Automatically issue orders that are backdated"
-msgstr ""
+msgstr "Geriye dönük siparişler otomatik olarak düzenlenir"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
-msgstr ""
+msgstr "Seviyeler"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
-msgstr ""
-
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
-msgid "Total Quantity"
-msgstr ""
+msgstr "Dışa aktarılacak seviye sayısı - tüm BOM seviyeleri için sıfır olarak ayarlayın"
#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
+msgid "Total Quantity"
+msgstr "Toplam Miktar"
+
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
-msgstr ""
+msgstr "BOM'daki her parçanın toplam miktarını ekle"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
-msgstr ""
+msgstr "Stok Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
-msgstr ""
+msgstr "Parça stok verilerini ekle"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
-msgstr ""
+msgstr "Fiyatlandırma Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
-msgstr ""
+msgstr "Parça fiyatlandırma verilerini ekle"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
-msgstr ""
+msgstr "Tedarikçi Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
-msgstr ""
-
-#: plugin/builtin/exporter/bom_exporter.py:48
-msgid "Manufacturer Data"
-msgstr ""
+msgstr "Tedarikçi verilerini ekle"
#: plugin/builtin/exporter/bom_exporter.py:49
-msgid "Include manufacturer data"
-msgstr ""
+msgid "Manufacturer Data"
+msgstr "Üretici Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:54
-msgid "Substitute Data"
-msgstr ""
+#: plugin/builtin/exporter/bom_exporter.py:50
+msgid "Include manufacturer data"
+msgstr "Üretici verilerini ekle"
#: plugin/builtin/exporter/bom_exporter.py:55
-msgid "Include substitute part data"
-msgstr ""
+msgid "Substitute Data"
+msgstr "Muadil Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:60
-msgid "Parameter Data"
-msgstr ""
+#: plugin/builtin/exporter/bom_exporter.py:56
+msgid "Include substitute part data"
+msgstr "Muadil parça verilerini ekle"
#: plugin/builtin/exporter/bom_exporter.py:61
-msgid "Include part parameter data"
-msgstr ""
+msgid "Parameter Data"
+msgstr "Parametre Verisi"
-#: plugin/builtin/exporter/bom_exporter.py:70
-msgid "Multi-Level BOM Exporter"
-msgstr ""
+#: plugin/builtin/exporter/bom_exporter.py:62
+msgid "Include part parameter data"
+msgstr "Parça parametre verilerini ekle"
#: plugin/builtin/exporter/bom_exporter.py:71
+msgid "Multi-Level BOM Exporter"
+msgstr "Çok Seviyeli BOM Dışa Aktarıcı"
+
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
-msgstr ""
+msgstr "Çok seviyeli BOM'ları dışa aktarma desteği sunar"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
-msgstr ""
+msgstr "BOM Seviyesi"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
-msgstr ""
+msgstr "Muadil {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
-msgstr ""
+msgstr "Tedarikçi {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
-msgstr ""
+msgstr "Tedarikçi {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
-msgstr ""
+msgstr "Tedarikçi {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
-msgstr ""
+msgstr "Üretici {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
-msgstr ""
+msgstr "Üretici {n} MPN"
#: plugin/builtin/exporter/inventree_exporter.py:14
msgid "InvenTree Generic Exporter"
-msgstr ""
+msgstr "InvenTree Genel Dışa Aktarıcı"
#: plugin/builtin/exporter/inventree_exporter.py:15
msgid "Provides support for exporting data from InvenTree"
-msgstr ""
+msgstr "InvenTree'den verileri dışa aktarma desteği sağlar"
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "Pasifi Hariç Tut"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "Pasif parametreleri hariç tut"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "Parametre Dışa Aktarıcı"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "Model parametre verilerini dışa aktarıcı"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
-msgstr ""
+msgstr "Harici Stoku Ekle"
#: plugin/builtin/exporter/stocktake_exporter.py:26
msgid "Include external stock in the stocktake data"
-msgstr ""
+msgstr "Stok sayımı verilerine harici stoku ekle"
#: plugin/builtin/exporter/stocktake_exporter.py:31
msgid "Include Variant Items"
-msgstr ""
+msgstr "Varyantları Ekle"
#: plugin/builtin/exporter/stocktake_exporter.py:32
msgid "Include part variant stock in pricing calculations"
-msgstr ""
+msgstr "Fiyat hesaplamalarına parça varyant stokunu ekle"
#: plugin/builtin/exporter/stocktake_exporter.py:44
msgid "Part Stocktake Exporter"
-msgstr ""
+msgstr "Parça Stok Sayımı Dışa Aktarıcı"
#: plugin/builtin/exporter/stocktake_exporter.py:45
msgid "Exporter for part stocktake data"
-msgstr ""
+msgstr "Parça stok sayımı dışa aktarıcısı"
#: plugin/builtin/exporter/stocktake_exporter.py:108
msgid "Minimum Unit Cost"
-msgstr ""
+msgstr "Minimum Birim Maliyeti"
#: plugin/builtin/exporter/stocktake_exporter.py:109
msgid "Maximum Unit Cost"
-msgstr ""
+msgstr "Maksimum Birim Maliyeti"
#: plugin/builtin/exporter/stocktake_exporter.py:110
msgid "Minimum Total Cost"
-msgstr ""
+msgstr "Minimum Toplam Maliyet"
#: plugin/builtin/exporter/stocktake_exporter.py:111
msgid "Maximum Total Cost"
-msgstr ""
+msgstr "Maksimum Toplam Maliyet"
#: plugin/builtin/integration/core_notifications.py:23
msgid "InvenTree UI Notifications"
-msgstr ""
+msgstr "InvenTree Arayüz Bildirimleri"
#: plugin/builtin/integration/core_notifications.py:26
msgid "Integrated UI notification methods"
-msgstr ""
+msgstr "Entegre arayüz bildirim yöntemleri"
#: plugin/builtin/integration/core_notifications.py:67
msgid "InvenTree Email Notifications"
-msgstr ""
+msgstr "InvenTree E-posta Bildirimleri"
#: plugin/builtin/integration/core_notifications.py:70
msgid "Integrated email notification methods"
-msgstr ""
+msgstr "Entegre e-posta bildirim yöntemleri"
#: plugin/builtin/integration/core_notifications.py:75
msgid "Allow email notifications"
-msgstr ""
+msgstr "E-posta bildirimlerine izin verin"
#: plugin/builtin/integration/core_notifications.py:76
msgid "Allow email notifications to be sent to this user"
-msgstr ""
+msgstr "Bu kullanıcıya e-posta bildirimlerinin gönderilmesine izin verin"
#: plugin/builtin/integration/core_notifications.py:123
msgid "InvenTree Slack Notifications"
-msgstr ""
+msgstr "InvenTree Slack Bildirimleri"
#: plugin/builtin/integration/core_notifications.py:126
msgid "Integrated Slack notification methods"
-msgstr ""
+msgstr "InvenTree Slack bildirim yöntemleri"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr ""
+msgid "Slack incoming webhook URL"
+msgstr "Slack gelen webhook URL'si"
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
-msgstr ""
+msgstr "Bir Slack kanalına mesajlar göndermek için kullanılacak URL"
#: plugin/builtin/integration/core_notifications.py:162
msgid "Open link"
-msgstr ""
+msgstr "Bağlantıyı aç"
#: plugin/builtin/integration/currency_exchange.py:22
msgid "InvenTree Currency Exchange"
-msgstr ""
+msgstr "InvenTree Döviz Kuru"
#: plugin/builtin/integration/currency_exchange.py:23
msgid "Default currency exchange integration"
-msgstr ""
+msgstr "Varsayılan döviz kuru entegrasyonu"
#: plugin/builtin/integration/machine_types.py:15
msgid "InvenTree Machines"
-msgstr ""
+msgstr "InvenTree Makineleri"
#: plugin/builtin/integration/machine_types.py:16
msgid "Built-in machine types for InvenTree"
-msgstr ""
+msgstr "InvenTree için yerleşik makine türleri"
#: plugin/builtin/integration/part_notifications.py:20
msgid "Part Notifications"
-msgstr ""
+msgstr "Parça Bildirimleri"
#: plugin/builtin/integration/part_notifications.py:22
msgid "Notify users about part changes"
-msgstr ""
+msgstr "Kullanıcılara parça değişikliklerini bildir"
#: plugin/builtin/integration/part_notifications.py:27
msgid "Send notifications"
-msgstr ""
+msgstr "Bildirim gönder"
#: plugin/builtin/integration/part_notifications.py:28
msgid "Send notifications for part changes to subscribed users"
-msgstr ""
+msgstr "Takip eden kullanıcılara parça değişiklikleri için bildirim gönder"
#: plugin/builtin/integration/part_notifications.py:45
msgid "Changed part notification"
-msgstr ""
+msgstr "Değişen parça bildirimi"
#: plugin/builtin/integration/part_notifications.py:55
#, python-brace-format
msgid "The part `{part.name}` has been triggered with a `{part_action}` event"
-msgstr ""
+msgstr "`{part.name}` parçası, `{part_action}` olayı ile tetiklenmiştir"
#: plugin/builtin/labels/inventree_label.py:23
msgid "InvenTree PDF label printer"
-msgstr ""
+msgstr "InvenTree PDF etiket yazıcı"
#: plugin/builtin/labels/inventree_label.py:24
msgid "Provides native support for printing PDF labels"
-msgstr ""
+msgstr "PDF etiketleri yazdırmak için yerleşik destek sağlar"
#: plugin/builtin/labels/inventree_label.py:32
#: plugin/builtin/labels/label_sheet.py:78
msgid "Debug mode"
-msgstr ""
+msgstr "Hata ayıklama modu"
#: plugin/builtin/labels/inventree_label.py:33
#: plugin/builtin/labels/label_sheet.py:79
msgid "Enable debug mode - returns raw HTML instead of PDF"
-msgstr ""
+msgstr "Hata ayıklama modunu etkinleştir - PDF yerine ham HTML döndürür"
#: plugin/builtin/labels/inventree_machine.py:61
msgid "InvenTree machine label printer"
-msgstr ""
+msgstr "InvenTree cihaz etiket yazıcısı"
#: plugin/builtin/labels/inventree_machine.py:62
msgid "Provides support for printing using a machine"
-msgstr ""
+msgstr "Bir cihaz aracılığıyla yazdırma desteği sunar"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
-msgstr ""
+msgstr "son kullanılan"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
-msgstr ""
+msgstr "Seçenekler"
#: plugin/builtin/labels/label_sheet.py:30
msgid "Page size for the label sheet"
-msgstr ""
+msgstr "Etiket sayfasının boyutu"
#: plugin/builtin/labels/label_sheet.py:35
msgid "Skip Labels"
-msgstr ""
+msgstr "Etiketleri Atla"
#: plugin/builtin/labels/label_sheet.py:36
msgid "Skip this number of labels when printing label sheets"
-msgstr ""
+msgstr "Etiket sayfası yazdırılırken atlanacak etiket sayısı"
#: plugin/builtin/labels/label_sheet.py:43
msgid "Border"
-msgstr ""
+msgstr "Kenarlık"
#: plugin/builtin/labels/label_sheet.py:44
msgid "Print a border around each label"
-msgstr ""
+msgstr "Her etiketin etrafına kenarlık ekle"
#: plugin/builtin/labels/label_sheet.py:49 report/models.py:387
msgid "Landscape"
-msgstr ""
+msgstr "Yatay"
#: plugin/builtin/labels/label_sheet.py:50
msgid "Print the label sheet in landscape mode"
-msgstr ""
+msgstr "Etiket sayfasını yatay olarak yazdır"
#: plugin/builtin/labels/label_sheet.py:55
msgid "Page Margin"
-msgstr ""
+msgstr "Sayfa Kenar Boşluğu"
#: plugin/builtin/labels/label_sheet.py:56
msgid "Margin around the page in mm"
-msgstr ""
+msgstr "Sayfanın kenar boşluğu (mm)"
#: plugin/builtin/labels/label_sheet.py:69
msgid "InvenTree Label Sheet Printer"
-msgstr ""
+msgstr "InvenTree Etiket Sayfası Yazıcısı"
#: plugin/builtin/labels/label_sheet.py:70
msgid "Arrays multiple labels onto a single sheet"
-msgstr ""
+msgstr "Birden fazla etiketi tek bir sayfaya dizer"
#: plugin/builtin/labels/label_sheet.py:122
msgid "Label is too large for page size"
-msgstr ""
+msgstr "Etiket bu sayfa boyutu için çok büyük"
#: plugin/builtin/labels/label_sheet.py:161
msgid "No labels were generated"
-msgstr ""
+msgstr "Hiç etiket oluşturulmadı"
#: plugin/builtin/suppliers/digikey.py:17
msgid "Supplier Integration - DigiKey"
-msgstr ""
+msgstr "Tedarikçi Entegrasyonu - DigiKey"
#: plugin/builtin/suppliers/digikey.py:18
msgid "Provides support for scanning DigiKey barcodes"
-msgstr ""
+msgstr "DigiKey barkodları taraması için destek sağlar"
#: plugin/builtin/suppliers/digikey.py:27
msgid "The Supplier which acts as 'DigiKey'"
-msgstr ""
+msgstr "'DigiKey' rolünü üstlenen tedarikçi"
#: plugin/builtin/suppliers/lcsc.py:19
msgid "Supplier Integration - LCSC"
-msgstr ""
+msgstr "Tedarikçi Entegrasyonu - LCSC"
#: plugin/builtin/suppliers/lcsc.py:20
msgid "Provides support for scanning LCSC barcodes"
-msgstr ""
+msgstr "LCSC barkodları taraması için destek sağlar"
#: plugin/builtin/suppliers/lcsc.py:28
msgid "The Supplier which acts as 'LCSC'"
-msgstr ""
+msgstr "'LCSC' rolünü üstlenen tedarikçi"
#: plugin/builtin/suppliers/mouser.py:17
msgid "Supplier Integration - Mouser"
-msgstr ""
+msgstr "Tedarikçi Entegrasyonu - Mouser"
#: plugin/builtin/suppliers/mouser.py:18
msgid "Provides support for scanning Mouser barcodes"
-msgstr ""
+msgstr "Mouser barkodları taraması için destek sağlar"
#: plugin/builtin/suppliers/mouser.py:26
msgid "The Supplier which acts as 'Mouser'"
-msgstr ""
+msgstr "'Mouser' rolünü üstlenen tedarikçi"
#: plugin/builtin/suppliers/tme.py:19
msgid "Supplier Integration - TME"
-msgstr ""
+msgstr "Tedarikçi Entegrasyonu - TME"
#: plugin/builtin/suppliers/tme.py:20
msgid "Provides support for scanning TME barcodes"
-msgstr ""
+msgstr "TME barkodları taraması için destek sağlar"
#: plugin/builtin/suppliers/tme.py:28
msgid "The Supplier which acts as 'TME'"
-msgstr ""
+msgstr "'TME' rolünü üstlenen tedarikçi"
#: plugin/installer.py:240 plugin/installer.py:320
msgid "Only staff users can administer plugins"
-msgstr ""
+msgstr "Eklentileri yalnızca yetkili personel yönetebilir"
#: plugin/installer.py:243
msgid "Plugin installation is disabled"
-msgstr ""
+msgstr "Eklenti kurulumu devre dışı bırakıldı"
#: plugin/installer.py:280
msgid "Installed plugin successfully"
-msgstr ""
+msgstr "Eklenti kurulumu başarılı"
#: plugin/installer.py:285
#, python-brace-format
msgid "Installed plugin into {path}"
-msgstr ""
+msgstr "Eklenti {path} yoluna kuruldu"
#: plugin/installer.py:311
msgid "Plugin was not found in registry"
-msgstr ""
+msgstr "Eklenti kayıt defterinde bulunamadı"
#: plugin/installer.py:314
msgid "Plugin is not a packaged plugin"
-msgstr ""
+msgstr "Eklenti paketlenmiş bir eklenti değildir"
#: plugin/installer.py:317
msgid "Plugin package name not found"
-msgstr ""
+msgstr "Eklenti paketi adı bulunamadı"
#: plugin/installer.py:337
msgid "Plugin uninstalling is disabled"
-msgstr ""
+msgstr "Eklenti kaldırma devre dışı bırakıldı"
#: plugin/installer.py:341
msgid "Plugin cannot be uninstalled as it is currently active"
-msgstr ""
+msgstr "Bu eklenti şu an aktif olduğundan kaldırılamaz"
#: plugin/installer.py:347
msgid "Plugin cannot be uninstalled as it is mandatory"
-msgstr ""
+msgstr "Eklenti zorunlu olduğu için kaldırılamaz"
#: plugin/installer.py:352
msgid "Plugin cannot be uninstalled as it is a sample plugin"
-msgstr ""
+msgstr "Eklenti örnek bir eklenti olduğu için kaldırılamaz"
#: plugin/installer.py:357
msgid "Plugin cannot be uninstalled as it is a built-in plugin"
-msgstr ""
+msgstr "Eklenti yerleşik bir eklenti olduğu için kaldırılamaz"
#: plugin/installer.py:361
msgid "Plugin is not installed"
-msgstr ""
+msgstr "Eklenti kurulu değil"
#: plugin/installer.py:379
msgid "Plugin installation not found"
-msgstr ""
+msgstr "Eklenti kurulumu bulunamadı"
#: plugin/installer.py:395
msgid "Uninstalled plugin successfully"
-msgstr ""
+msgstr "Eklenti başarıyla kaldırıldı"
#: plugin/models.py:39
msgid "Plugin Configuration"
-msgstr ""
+msgstr "Eklenti Yapılandırma"
#: plugin/models.py:40
msgid "Plugin Configurations"
-msgstr ""
+msgstr "Eklenti Yapılandırmaları"
#: plugin/models.py:47
msgid "Key of plugin"
-msgstr ""
+msgstr "Eklentinin anahtarı"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr ""
+msgid "Name of the plugin"
+msgstr "Eklentinin adı"
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
-msgstr ""
+msgstr "Paket Adı"
#: plugin/models.py:64
msgid "Name of the installed package, if the plugin was installed via PIP"
-msgstr ""
+msgstr "Eklenti PIP aracılığıyla yüklendiyse, yüklenen paketin adı"
#: plugin/models.py:69
msgid "Is the plugin active"
-msgstr ""
+msgstr "Eklenti aktif mi"
#: plugin/models.py:176
msgid "Sample plugin"
-msgstr ""
+msgstr "Örnek eklenti"
#: plugin/models.py:184
msgid "Builtin Plugin"
-msgstr ""
+msgstr "Yerleşik Eklenti"
#: plugin/models.py:192
msgid "Mandatory Plugin"
-msgstr ""
+msgstr "Zorunlu Eklenti"
#: plugin/models.py:210
msgid "Package Plugin"
-msgstr ""
+msgstr "Paket Eklenti"
#: plugin/models.py:301 plugin/models.py:347
msgid "Plugin"
-msgstr ""
+msgstr "Eklenti"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
-msgstr ""
+msgstr "Yazar bulunamadı"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
-msgstr ""
+msgstr "'{p}' eklentisi, şu anki InvenTree sürümü {v} ile uyumlu değildir"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
-msgstr ""
+msgstr "Eklenti en az {v} sürümünü gerektirir"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
-msgstr ""
+msgstr "Eklenti en fazla {v} sürümünü gerektirir"
#: plugin/samples/integration/sample.py:52
msgid "User Setting 1"
-msgstr ""
+msgstr "Kullanıcı Ayarı 1"
#: plugin/samples/integration/sample.py:53
msgid "A user setting that can be changed by the user"
-msgstr ""
+msgstr "Kullanıcı tarafından değiştirilebilen bir kullanıcı ayarı"
#: plugin/samples/integration/sample.py:57
msgid "User Setting 2"
-msgstr ""
+msgstr "Kullanıcı Ayarı 2"
#: plugin/samples/integration/sample.py:58
msgid "Another user setting"
-msgstr ""
+msgstr "Başka bir kullanıcı ayarı"
#: plugin/samples/integration/sample.py:63
msgid "User Setting 3"
-msgstr ""
+msgstr "Kullanıcı Ayarı 3"
#: plugin/samples/integration/sample.py:64
msgid "A user setting with choices"
-msgstr ""
+msgstr "Seçenekli bir kullanıcı ayarı"
#: plugin/samples/integration/sample.py:72
msgid "Enable PO"
-msgstr ""
+msgstr "PO'yu Etkinleştir"
#: plugin/samples/integration/sample.py:73
msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
+msgstr "InvenTree arayüzünde PO işlevselliğini etkinleştir"
#: plugin/samples/integration/sample.py:78
msgid "API Key"
-msgstr ""
+msgstr "API Anahtarı"
#: plugin/samples/integration/sample.py:79
msgid "Key required for accessing external API"
-msgstr ""
+msgstr "Harici API erişimi için gerekli anahtar"
#: plugin/samples/integration/sample.py:83
msgid "Numerical"
-msgstr ""
+msgstr "Sayısal"
#: plugin/samples/integration/sample.py:84
msgid "A numerical setting"
-msgstr ""
+msgstr "Sayısal bir ayar"
#: plugin/samples/integration/sample.py:90
msgid "Choice Setting"
-msgstr ""
+msgstr "Seçenekli Ayar"
#: plugin/samples/integration/sample.py:91
msgid "A setting with multiple choices"
-msgstr ""
+msgstr "Birden fazla seçeneği olan bir ayar"
#: plugin/samples/integration/sample_currency_exchange.py:15
msgid "Sample currency exchange plugin"
-msgstr ""
+msgstr "Örnek döviz kuru eklentisi"
#: plugin/samples/integration/sample_currency_exchange.py:18
msgid "InvenTree Contributors"
-msgstr ""
+msgstr "InvenTree Katkıda Bulunanlar"
#: plugin/samples/integration/user_interface_sample.py:27
msgid "Enable Part Panels"
-msgstr ""
+msgstr "Parça Panelerini Etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:28
msgid "Enable custom panels for Part views"
-msgstr ""
+msgstr "Parça görünümleri için özel panelleri etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:33
msgid "Enable Purchase Order Panels"
-msgstr ""
+msgstr "Satın Alma Sipariş Panellerini Etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:34
msgid "Enable custom panels for Purchase Order views"
-msgstr ""
+msgstr "Satın alma siparişi görünümleri için özel panelleri etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:39
msgid "Enable Broken Panels"
-msgstr ""
+msgstr "Bozuk Panelleri Etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:40
msgid "Enable broken panels for testing"
-msgstr ""
+msgstr "Test için kırık panelleri etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:45
msgid "Enable Dynamic Panel"
-msgstr ""
+msgstr "Dinamik Paneli Etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:46
msgid "Enable dynamic panels for testing"
-msgstr ""
+msgstr "Test için dinamik panelleri etkinleştir"
#: plugin/samples/integration/user_interface_sample.py:114
msgid "Part Panel"
-msgstr ""
+msgstr "Parça Paneli"
#: plugin/samples/integration/user_interface_sample.py:149
msgid "Broken Dashboard Item"
-msgstr ""
+msgstr "Bozuk Pano Kartı"
#: plugin/samples/integration/user_interface_sample.py:151
msgid "This is a broken dashboard item - it will not render!"
-msgstr ""
+msgstr "Bu bozuk pano kartı görüntülenemiyor!"
#: plugin/samples/integration/user_interface_sample.py:157
msgid "Sample Dashboard Item"
-msgstr ""
+msgstr "Örnek Kontrol Paneli Kartı"
#: plugin/samples/integration/user_interface_sample.py:159
msgid "This is a sample dashboard item. It renders a simple string of HTML content."
-msgstr ""
+msgstr "Bu, örnek bir pano kartıdır. Basit bir HTML içeriği dizesi görüntüler."
#: plugin/samples/integration/user_interface_sample.py:165
msgid "Context Dashboard Item"
-msgstr ""
+msgstr "Bağlamsal Pano Kartı"
#: plugin/samples/integration/user_interface_sample.py:179
msgid "Admin Dashboard Item"
-msgstr ""
+msgstr "Yönetici Pano Kartı"
#: plugin/samples/integration/user_interface_sample.py:180
msgid "This is an admin-only dashboard item."
-msgstr ""
+msgstr "Bu, yalnızca yöneticilerin kullanabileceği bir pano kartıdır."
#: plugin/serializers.py:86
msgid "Source File"
-msgstr ""
+msgstr "Kaynak Dosyası"
#: plugin/serializers.py:87
msgid "Path to the source file for admin integration"
-msgstr ""
+msgstr "Yönetici entegrasyonu için kaynak dosya yolu"
#: plugin/serializers.py:94
msgid "Optional context data for the admin integration"
-msgstr ""
+msgstr "Yönetici entegrasyonu için isteğe bağlı bağlam verileri"
#: plugin/serializers.py:110
msgid "Source URL"
-msgstr ""
+msgstr "Kaynak URL"
#: plugin/serializers.py:112
msgid "Source for the package - this can be a custom registry or a VCS path"
-msgstr ""
+msgstr "Paketin kaynağı - bu, özel bir kayıt defteri veya bir VCS yolu olabilir"
#: plugin/serializers.py:121
msgid "Name for the Plugin Package - can also contain a version indicator"
-msgstr ""
+msgstr "Eklenti Paketi Adı - sürüm göstergesi de içerebilir"
#: plugin/serializers.py:128
msgid "Version"
-msgstr ""
+msgstr "Sürüm"
#: plugin/serializers.py:130
msgid "Version specifier for the plugin. Leave blank for latest version."
-msgstr ""
+msgstr "Eklenti için sürüm belirleyici. En son sürüm için boş bırakın."
#: plugin/serializers.py:135
msgid "Confirm plugin installation"
-msgstr ""
+msgstr "Eklenti kurulumunu onaylayın"
#: plugin/serializers.py:137
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
-msgstr ""
+msgstr "Bu, eklentiyi mevcut örneğe şimdi yükleyecektir. Örnek bakım moduna geçecektir."
#: plugin/serializers.py:150
msgid "Installation not confirmed"
-msgstr ""
+msgstr "Kurulum onaylanmadı"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr ""
+msgid "Either packagename or URL must be provided"
+msgstr "Paket adı veya URL'den biri belirtilmelidir"
#: plugin/serializers.py:188
msgid "Full reload"
-msgstr ""
+msgstr "Tam yeniden yükleme"
#: plugin/serializers.py:189
msgid "Perform a full reload of the plugin registry"
-msgstr ""
+msgstr "Eklenti kayıt defterini tamamen yeniden yükle"
#: plugin/serializers.py:195
msgid "Force reload"
-msgstr ""
+msgstr "Yeniden yüklemeye zorla"
#: plugin/serializers.py:197
msgid "Force a reload of the plugin registry, even if it is already loaded"
-msgstr ""
+msgstr "Eklenti kayıt defterini, zaten yüklenmiş olsa bile yeniden yüklemeye zorla"
#: plugin/serializers.py:204
msgid "Collect plugins"
-msgstr ""
+msgstr "Eklentileri topla"
#: plugin/serializers.py:205
msgid "Collect plugins and add them to the registry"
-msgstr ""
+msgstr "Eklentileri topla ve kayıt defterine ekle"
#: plugin/serializers.py:233
msgid "Activate Plugin"
-msgstr ""
+msgstr "Eklentiyi Aktifleştir"
#: plugin/serializers.py:234
msgid "Activate this plugin"
-msgstr ""
+msgstr "Bu eklentiyi aktifleştir"
#: plugin/serializers.py:243
msgid "Mandatory plugin cannot be deactivated"
-msgstr ""
+msgstr "Zorunlu eklenti pasifleştirilemez"
#: plugin/serializers.py:261
msgid "Delete configuration"
-msgstr ""
+msgstr "Yapılandırmayı sil"
#: plugin/serializers.py:262
msgid "Delete the plugin configuration from the database"
-msgstr ""
+msgstr "Eklenti yapılandırmasını veritabanından sil"
#: plugin/serializers.py:293
msgid "The user for which this setting applies"
-msgstr ""
+msgstr "Bu ayarların uygulanacağı kullanıcı"
#: report/api.py:44 report/serializers.py:102 report/serializers.py:152
msgid "Items"
-msgstr ""
+msgstr "Kalemler"
#: report/api.py:115
msgid "Plugin not found"
-msgstr ""
+msgstr "Eklenti bulunamadı"
#: report/api.py:117
msgid "Plugin does not support label printing"
-msgstr ""
+msgstr "Eklenti, etiket yazdırmayı desteklemiyor"
#: report/api.py:165
msgid "Invalid label dimensions"
-msgstr ""
+msgstr "Geçersiz etiket boyutları"
#: report/api.py:183 report/api.py:267
msgid "No valid items provided to template"
-msgstr ""
+msgstr "Şablona geçerli öge sağlanmadı"
#: report/helpers.py:43
msgid "A4"
-msgstr ""
+msgstr "A4"
#: report/helpers.py:44
msgid "A3"
-msgstr ""
+msgstr "A3"
#: report/helpers.py:45
msgid "Legal"
-msgstr ""
+msgstr "Yasal"
#: report/helpers.py:46
msgid "Letter"
-msgstr ""
+msgstr "Harf"
#: report/models.py:128
msgid "Template file with this name already exists"
-msgstr ""
+msgstr "Aynı isimde bir şablon zaten mevcut"
#: report/models.py:217
msgid "Template name"
@@ -7860,19 +7993,19 @@ msgstr "Şablon adı"
#: report/models.py:223
msgid "Template description"
-msgstr ""
+msgstr "Şablon açıklaması"
#: report/models.py:229
msgid "Revision number (auto-increments)"
-msgstr ""
+msgstr "Revizyon numarası (otomatik artar)"
#: report/models.py:235
msgid "Attach to Model on Print"
-msgstr ""
+msgstr "Yazdırmada Modele Ekle"
#: report/models.py:237
msgid "Save report output as an attachment against linked model instance when printing"
-msgstr ""
+msgstr "Yazdırırken rapor çıktısını bağlantılı model örneğine ek olarak kaydet"
#: report/models.py:281
msgid "Filename Pattern"
@@ -7880,15 +8013,15 @@ msgstr "Dosya Adı Deseni"
#: report/models.py:282
msgid "Pattern for generating filenames"
-msgstr ""
+msgstr "Dosya adları oluşturmak için desen"
#: report/models.py:287
msgid "Template is enabled"
-msgstr ""
+msgstr "Şablon etkinleştirildi"
#: report/models.py:294
msgid "Target model type for template"
-msgstr ""
+msgstr "Şablon için hedef model türü"
#: report/models.py:314
msgid "Filters"
@@ -7896,48 +8029,48 @@ msgstr "Filtreler"
#: report/models.py:315
msgid "Template query filters (comma-separated list of key=value pairs)"
-msgstr ""
+msgstr "Şablon sorgu filtreleri (virgülle ayrılmış anahtar=değer çiftleri listesi)"
#: report/models.py:374 report/models.py:670
msgid "Template file"
-msgstr ""
+msgstr "Şablon dosyası"
#: report/models.py:382
msgid "Page size for PDF reports"
-msgstr ""
+msgstr "PDF raporları için sayfa boyutu"
#: report/models.py:388
msgid "Render report in landscape orientation"
-msgstr ""
+msgstr "Raporu yatay yönde işle"
#: report/models.py:393
msgid "Merge"
-msgstr ""
+msgstr "Birleştir"
#: report/models.py:394
msgid "Render a single report against selected items"
-msgstr ""
+msgstr "Seçili ögeler için tek bir rapor oluştur"
#: report/models.py:449
#, python-brace-format
msgid "Report generated from template {self.name}"
-msgstr ""
+msgstr "{self.name} şablonundan oluşturulan rapor"
#: report/models.py:546 report/models.py:585 report/models.py:586
msgid "Template syntax error"
-msgstr ""
+msgstr "Şablon sözdizimi hatası"
#: report/models.py:553 report/models.py:592
msgid "Error rendering report"
-msgstr ""
+msgstr "Rapor işleme hatası"
#: report/models.py:612
msgid "Error generating report"
-msgstr ""
+msgstr "Rapor oluşturma hatası"
#: report/models.py:644
msgid "Error merging report outputs"
-msgstr ""
+msgstr "Rapor çıktılarını birleştirme hatası"
#: report/models.py:676
msgid "Width [mm]"
@@ -7957,70 +8090,70 @@ msgstr "Etiket yüksekliği mm olarak belirtilmeli"
#: report/models.py:789
msgid "Error printing labels"
-msgstr ""
+msgstr "Etiket yazdırma hatası"
#: report/models.py:808
msgid "Snippet"
-msgstr ""
+msgstr "Parçacık"
#: report/models.py:809
msgid "Report snippet file"
-msgstr ""
+msgstr "Rapor parçacık dosyası"
#: report/models.py:816
msgid "Snippet file description"
-msgstr ""
+msgstr "Parçacık dosyası açıklaması"
#: report/models.py:834
msgid "Asset"
-msgstr ""
+msgstr "Kaynak Dosyası"
#: report/models.py:835
msgid "Report asset file"
-msgstr ""
+msgstr "Rapor kaynak dosyası"
#: report/models.py:842
msgid "Asset file description"
-msgstr ""
+msgstr "Kaynak dosyası açıklaması"
#: report/serializers.py:95
msgid "Select report template"
-msgstr ""
+msgstr "Rapor şablonu seç"
#: report/serializers.py:103 report/serializers.py:153
msgid "List of item primary keys to include in the report"
-msgstr ""
+msgstr "Rapora dahil edilecek öge birincil anahtarlarının listesi"
#: report/serializers.py:136
msgid "Select label template"
-msgstr ""
+msgstr "Etiket Şablonu Seç"
#: report/serializers.py:144
msgid "Printing Plugin"
-msgstr ""
+msgstr "Yazdırma Eklentisi"
#: report/serializers.py:145
msgid "Select plugin to use for label printing"
-msgstr ""
+msgstr "Etiket yazdırma için kullanılacak eklentiyi seç"
#: report/templates/label/part_label.html:31
#: report/templates/label/stockitem_qr.html:21
#: report/templates/label/stocklocation_qr.html:20
msgid "QR Code"
-msgstr ""
+msgstr "QR Kod"
#: report/templates/label/part_label_code128.html:31
#: report/templates/label/stocklocation_qr_and_text.html:31
msgid "QR code"
-msgstr ""
+msgstr "QR kod"
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
-msgstr ""
+msgstr "Ürün Ağacı"
#: report/templates/report/inventree_bill_of_materials_report.html:133
msgid "Materials needed"
-msgstr ""
+msgstr "Gerekli Malzemeler"
#: report/templates/report/inventree_build_order_report.html:98
#: report/templates/report/inventree_purchase_order_report.html:47
@@ -8031,11 +8164,11 @@ msgstr ""
#: report/templates/report/inventree_test_report.html:84
#: report/templates/report/inventree_test_report.html:162
msgid "Part image"
-msgstr ""
+msgstr "Parça görseli"
#: report/templates/report/inventree_build_order_report.html:121
msgid "Issued"
-msgstr ""
+msgstr "Düzenlendi"
#: report/templates/report/inventree_build_order_report.html:146
msgid "Required For"
@@ -8043,43 +8176,43 @@ msgstr "İçin Gerekli Olan"
#: report/templates/report/inventree_build_order_report.html:152
msgid "Issued By"
-msgstr "Veren"
+msgstr "Düzenleyen"
#: report/templates/report/inventree_purchase_order_report.html:15
msgid "Supplier was deleted"
-msgstr ""
+msgstr "Tedarikçi silindi"
#: report/templates/report/inventree_purchase_order_report.html:22
msgid "Order Details"
-msgstr ""
+msgstr "Sipariş Ayrıntıları"
#: report/templates/report/inventree_purchase_order_report.html:37
#: report/templates/report/inventree_sales_order_report.html:30
msgid "Unit Price"
-msgstr ""
+msgstr "Birim Fiyat"
#: report/templates/report/inventree_purchase_order_report.html:62
#: report/templates/report/inventree_return_order_report.html:48
#: report/templates/report/inventree_sales_order_report.html:55
msgid "Extra Line Items"
-msgstr ""
+msgstr "Ek Kalemler"
#: report/templates/report/inventree_purchase_order_report.html:79
#: report/templates/report/inventree_sales_order_report.html:72
msgid "Total"
-msgstr ""
+msgstr "Toplam"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Seri Numara"
#: report/templates/report/inventree_sales_order_shipment_report.html:23
msgid "Allocations"
-msgstr ""
+msgstr "Tahsisler"
#: report/templates/report/inventree_sales_order_shipment_report.html:47
#: templates/email/stale_stock_notification.html:20
@@ -8088,18 +8221,18 @@ msgstr "Toplu"
#: report/templates/report/inventree_stock_location_report.html:97
msgid "Stock location items"
-msgstr ""
+msgstr "Stok konumu ögeleri"
#: report/templates/report/inventree_stock_report_merge.html:21
#: report/templates/report/inventree_test_report.html:21
msgid "Stock Item Test Report"
-msgstr ""
+msgstr "Stok Kalemi Test Raporu"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
-msgstr ""
+msgstr "Takılı Kalemler"
#: report/templates/report/inventree_stock_report_merge.html:111
#: report/templates/report/inventree_test_report.html:167
@@ -8108,517 +8241,541 @@ msgstr "Seri No"
#: report/templates/report/inventree_test_report.html:97
msgid "Test Results"
-msgstr ""
+msgstr "Test Sonuçları"
#: report/templates/report/inventree_test_report.html:102
msgid "Test"
-msgstr ""
+msgstr "Test"
#: report/templates/report/inventree_test_report.html:129
msgid "Pass"
-msgstr ""
+msgstr "Geçti"
#: report/templates/report/inventree_test_report.html:131
msgid "Fail"
-msgstr ""
+msgstr "Kaldı"
#: report/templates/report/inventree_test_report.html:138
msgid "No result (required)"
-msgstr ""
+msgstr "Sonuç yok (gerekli)"
#: report/templates/report/inventree_test_report.html:140
msgid "No result"
+msgstr "Sonuç yok"
+
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
+msgstr "Görsel dosyası bulunumadı"
+
+#: report/templatetags/report.py:412
+msgid "No image file specified"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
-msgstr ""
+msgstr "part_image etiketi bir parça örneği gerektirir"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
-msgstr ""
+msgstr "company_image etiketi bir şirket örneği gerektirir"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
-msgstr ""
+msgstr "Konum derinliğine göre filtrele"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
-msgstr ""
+msgstr "Üst seviye konumlara göre filtrele"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
-msgstr ""
+msgstr "Filtrelenmiş sonuçlara alt konumları dahil et"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
-msgstr ""
+msgstr "Üst Konum"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
-msgstr ""
+msgstr "Üst konuma göre filtrele"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
-msgstr ""
+msgstr "Parça adı (büyük/küçük harf duyarlı değildir)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
-msgstr ""
+msgstr "Parça adı şunu içerir (büyük/küçük harf duyarlı değildir)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
-msgstr ""
+msgstr "Parça adı (regex)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
-msgstr ""
+msgstr "Parça IPN (büyük/küçük harf duyarlı değildir)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
-msgstr ""
+msgstr "Parça IPN şunu içerir (büyük/küçük harf duyarlı değildir)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
-msgstr ""
+msgstr "Parça IPN (regex)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
-msgstr ""
+msgstr "Minimum stok"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
-msgstr ""
+msgstr "Maksimum stok"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
-msgstr ""
+msgstr "Durum Kodu"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
-msgstr ""
+msgstr "Harici Konum"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
-msgstr ""
+msgstr "Üretim Emrine göre Tüketilenler"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
-msgstr ""
+msgstr "Başka bir stok kalemine bağlı"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
-msgstr ""
+msgstr "Parça Ağacı"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
-msgstr ""
+msgstr "Daha önce güncellendi"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
-msgstr ""
+msgstr "Güncellendi (den sonra)"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
-msgstr ""
+msgstr "Stok Sayımı (-dan önce)"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
-msgstr ""
+msgstr "Stok Sayımı (-dan sonra)"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
-msgstr ""
+msgstr "Son kullanma tarihi öncesi"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
-msgstr ""
+msgstr "Son kullanma tarihi sonrası"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
-msgstr ""
+msgstr "Bozuk"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
-msgstr ""
+msgstr "Bu stok kalemini ve bağlı tüm alt kalemleri hariç tutmak için bir PK girin"
+
+#: stock/api.py:980
+msgid "Cascade Locations"
+msgstr "Konumları alt konumlara uygula"
#: stock/api.py:981
-msgid "Cascade Locations"
-msgstr ""
-
-#: stock/api.py:982
msgid "If true, include items in child locations of the given location"
-msgstr ""
+msgstr "Açıksa belirtilen konumun alt konumlarındaki öğeleri de dahil eder"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
-msgstr ""
+msgstr "Sayısal konum ID'si veya \"null\" değeriyle filtreleyin"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
-msgstr ""
+msgstr "Miktar gereklidir"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
-msgstr ""
+msgstr "Geçerli bir parça girilmelidir"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
-msgstr ""
+msgstr "Belirtilen tedarikçi parçası bulunamadı"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
-msgstr ""
+msgstr "Tedarikçi parçası için paket boyutu tanımlanmış, ancak ‘use_pack_size’ seçeneği etkin değil"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
-msgstr ""
+msgstr "Takibi olmayan bir parça için seri numarası verilemez"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
-msgstr ""
+msgstr "Takılıyı Dahil Et"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
-msgstr ""
+msgstr "Aktifse verilen stok kaleminin altına takılı öğelerin test sonuçları da dahil edilir"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
-msgstr ""
+msgstr "Sayısal Stok Kalemi ID’sine göre Filtrele"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
-msgstr ""
+msgstr "Belirtilen ID {id} ile bir stok kalemi bulunamadı"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "Varyantları Dahil Et"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "(-den sonra) sil"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "Önce"
+
+#: stock/models.py:73
msgid "Stock Location type"
-msgstr ""
+msgstr "Stok Konumu Türü"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
-msgstr ""
+msgstr "Stok Konum Türleri"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
-msgstr ""
+msgstr "Simge atanmamış tüm konumlar için varsayılan simge (isteğe bağlı)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Stok Konumları"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
-msgstr ""
+msgstr "Sahip"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
-msgstr ""
+msgstr "Sahibi Seçin"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
+msgstr "Stok kalemleri yapısal stok konumlarına doğrudan yerleştirilemez; ancak alt konumlara yerleştirilebilir."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
-msgstr ""
+msgstr "Harici"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
-msgstr ""
+msgstr "Bu, harici bir stok konumudur"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
-msgstr ""
+msgstr "Konum türü"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
-msgstr ""
+msgstr "Bu konumun stok konumu türü"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
+msgstr "Bazı stok kalemleri zaten bu stok konumunda bulunduğundan, bu stok konumunu yapısal hale getiremezsiniz!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
-msgstr ""
+msgstr "{field} mevcut değil"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
-msgstr ""
+msgstr "Parça belirtilmelidir"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
+msgstr "Stok kalemleri yapısal stok konumlarına yerleştirilemez!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
-msgstr ""
+msgstr "Sanal parçalar için stok kalemi oluşturulamaz"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
-msgstr ""
+msgstr "Parça türü ('{self.supplier_part.part}'), {self.part} olmalıdır"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
-msgstr ""
+msgstr "Öge kendisine ait olamaz"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
-msgstr ""
+msgstr "is_building=True ise ögenin bir üretim referansı olmalıdır"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
-msgstr ""
+msgstr "Üretim referansı aynı parça nesnesini göstermiyor"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
-msgstr ""
+msgstr "Temel parça"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
-msgstr "Bu stok kalemi için tedarikçi parçası seçin"
+msgstr "Bu stok kalemiyle eşleşen bir tedarikçi parçası seçin"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
-msgstr ""
+msgstr "Bu stok kalemi nerede bulunur?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
-msgstr ""
+msgstr "Bu stok kaleminin ambalajı şu şekilde saklanmaktadır"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
-msgstr ""
+msgstr "Şuna Takıldı"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
-msgstr ""
+msgstr "Bu öge başka bir ögeye takılı mı?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
-msgstr ""
+msgstr "Bu stok kalemine ait parti kodu"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
-msgstr ""
+msgstr "Stok Miktarı"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
-msgstr ""
-
-#: stock/models.py:1122
-msgid "Build for this stock item"
-msgstr ""
+msgstr "Kaynak Üretim"
#: stock/models.py:1129
+msgid "Build for this stock item"
+msgstr "Bu stok kalemi için üretim kaydı"
+
+#: stock/models.py:1136
msgid "Consumed By"
-msgstr ""
+msgstr "Tüketen"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
-msgstr ""
+msgstr "Bu stok kaleminin kullanıldığı üretim emri"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
-msgstr ""
+msgstr "Kaynak Satın Alma Emri"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
-msgstr ""
+msgstr "Bu stok kalemi için satın alma emri"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
-msgstr ""
+msgstr "Hedef satış siparişi"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
-msgstr ""
+msgstr "Stok kalemi için son kullanma tarihi. Bu tarihten sonra stok süresi dolmuş kabul edilir"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
-msgstr ""
+msgstr "Tükendiğinde sil"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
-msgstr ""
+msgstr "Stok tükendiğinde bu stok kalemini sil"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
-msgstr ""
+msgstr "Satın alma anındaki birim alış fiyatı"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
-msgstr ""
+msgstr "Parçaya dönüştürüldü"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
-msgstr ""
+msgstr "Miktar, mevcut stoğu aşıyor"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
-msgstr ""
+msgstr "Parça için izlenebilirlik etkin değil"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
-msgstr ""
+msgstr "Miktar tam sayı olmalıdır"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
-msgstr ""
+msgstr "Miktar, mevcut stok miktarını ({self.quantity}) aşmamalıdır"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
-msgstr ""
+msgstr "Seri numaraları liste halinde girilmelidir"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
-msgstr ""
+msgstr "Stok, yapısal bir konuma atanamaz"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
-msgstr ""
+msgstr "Test şablonu mevcut değil"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
-msgstr ""
+msgstr "Stok kalemi bir satış siparişine atanmıştır"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
-msgstr ""
+msgstr "Stok kalemi başka bir stok kalemine takılıdır"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
-msgstr ""
+msgstr "Bu öge, başka ögeler de içeriyor"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,248 +8819,248 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
-msgstr "Sağlayıcı Parça Numarası"
+msgstr "Tedarikçi Parça Numarası"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
-msgstr ""
+msgstr "Bu parçaya seri numarası atanamaz"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
-msgstr ""
+msgstr "Takılacak stok kalemini seçin"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
-msgstr ""
+msgstr "Miktar"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
-msgstr ""
+msgstr "Takılacak kalemlerin miktarını girin"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
-msgstr ""
+msgstr "Miktar en az \"1\" olmalıdır"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
-msgstr ""
+msgstr "Stok kalemi mevcut değil"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
-msgstr ""
+msgstr "Seçilen parça malzeme listesinde bulunamadı"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
-msgstr ""
+msgstr "Takılacak miktar, mevcudu geçmemeli"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
-msgstr ""
+msgstr "Sökülen ürün için hedef konum"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
-msgstr ""
+msgstr "Stok kaleminin dönüştürüleceği parçayı seçin"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
-msgstr ""
+msgstr "Seçilen parça dönüştürülmeye uygun değil"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
-msgstr ""
+msgstr "Tedarikçi parçası atanmış stok kalemi dönüştürülemez"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
-msgstr ""
-
-#: stock/serializers.py:1020
-msgid "Select stock items to change status"
-msgstr ""
+msgstr "Stok kalemi durum kodu"
#: stock/serializers.py:1026
-msgid "No stock items selected"
-msgstr ""
+msgid "Select stock items to change status"
+msgstr "Durumu değiştirilecek stok kalemlerini seçin"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1032
+msgid "No stock items selected"
+msgstr "Hiçbir stok kalemi seçilmedi"
+
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Alt konumlar"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
-msgstr ""
+msgstr "Üst stok konumu"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
-msgstr ""
+msgstr "Parça satılabilir olmalıdır"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
-msgstr ""
+msgstr "Ürün bir satış siparişine tahsis edilmiştir"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
-msgstr ""
+msgstr "Ürün bir üretim emrine tahsis edilmiştir"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
-msgstr ""
+msgstr "Stok kalemlerini atamak için müşteri"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
-msgstr ""
+msgstr "Seçilen şirket bir müşteri değil"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
-msgstr ""
+msgstr "Stok tahsis notları"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
-msgstr ""
+msgstr "Bir stok kalemleri listesi girilmelidir"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
-msgstr ""
+msgstr "Stok birleştirme notları"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
-msgstr ""
+msgstr "Farklı tedarikçilere izin ver"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
-msgstr ""
+msgstr "Farklı tedarikçi parçalarına sahip stokları birleştirmeye izin ver"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
-msgstr ""
+msgstr "Farklı durumlara sahip kalemlere izin ver"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
-msgstr ""
+msgstr "Farklı durum kodlarına sahip stokları birleştirmeye izin ver"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
-msgstr ""
+msgstr "En az iki stok kalemi girilmelidir"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
-msgstr ""
+msgstr "Değişiklik Yok"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
-msgstr ""
+msgstr "Stok Kalemi birincil anahtar (PK) değeri"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
-msgstr ""
+msgstr "Stok kalemi mevcut stokta yok"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
-msgstr ""
+msgstr "Stok kalemi zaten stokta"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
-msgstr ""
+msgstr "Miktar negatif olamaz"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
-msgstr ""
+msgstr "Stok aktarım notları"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
-msgstr ""
+msgstr "Mevcut stokla birleştir"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
-msgstr ""
+msgstr "Mümkünse iade edilen ürünleri mevcut stoklarla birleştir"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
-msgstr ""
+msgstr "Sıradaki Seri Numarası"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
-msgstr ""
+msgstr "Önceki Seri Numarası"
#: stock/status_codes.py:11
msgid "OK"
@@ -8959,11 +9116,11 @@ msgstr "Stok manuel olarak çıkarıldı"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr ""
+msgstr "Seri numaralı stok kalemleri"
#: stock/status_codes.py:58
msgid "Returned to stock"
-msgstr ""
+msgstr "Stoğa geri alındı"
#: stock/status_codes.py:61
msgid "Location changed"
@@ -8975,7 +9132,7 @@ msgstr "Stok Güncellendi"
#: stock/status_codes.py:65
msgid "Installed into assembly"
-msgstr "Montajda kullanıldı"
+msgstr "Montaj yerine takıldı"
#: stock/status_codes.py:66
msgid "Removed from assembly"
@@ -8983,7 +9140,7 @@ msgstr "Montajdan çıkarıldı"
#: stock/status_codes.py:68
msgid "Installed component item"
-msgstr "Bileşen ögesinde kullanıldı"
+msgstr "Takılan bileşen"
#: stock/status_codes.py:69
msgid "Removed component item"
@@ -8999,39 +9156,39 @@ msgstr "Alt ögeyi ayır"
#: stock/status_codes.py:76
msgid "Merged stock items"
-msgstr "Stok parçalarını birleştir"
+msgstr "Birleştirilen stok kalemleri"
#: stock/status_codes.py:79
msgid "Converted to variant"
-msgstr ""
+msgstr "Varyanta dönüştürüldü"
#: stock/status_codes.py:82
msgid "Build order output created"
-msgstr "Yapım emri çıktısı oluşturuldu"
+msgstr "Üretim emri çıktısı oluşturuldu"
#: stock/status_codes.py:83
msgid "Build order output completed"
-msgstr "Yapım emri çıktısı tamamlandı"
+msgstr "Üretim emri çıktısı tamamlandı"
#: stock/status_codes.py:84
msgid "Build order output rejected"
-msgstr ""
+msgstr "Üretim emri çıktısı reddedildi"
#: stock/status_codes.py:85
msgid "Consumed by build order"
-msgstr ""
+msgstr "Üretim emri tarafından tüketildi"
#: stock/status_codes.py:88
msgid "Shipped against Sales Order"
-msgstr ""
+msgstr "Satış siparişi kapsamında sevk edildi"
#: stock/status_codes.py:91
msgid "Received against Purchase Order"
-msgstr ""
+msgstr "Satın alma siparişi kapsamında teslim alındı"
#: stock/status_codes.py:94
msgid "Returned against Return Order"
-msgstr ""
+msgstr "İade siparişine karşılık iade edildi"
#: stock/status_codes.py:97
msgid "Sent to customer"
@@ -9043,15 +9200,15 @@ msgstr "Müşteriden geri döndü"
#: templates/403.html:6 templates/403.html:10 templates/403_csrf.html:7
msgid "Permission Denied"
-msgstr ""
+msgstr "İzin Reddedildi"
#: templates/403.html:11
msgid "You do not have permission to view this page."
-msgstr ""
+msgstr "Bu sayfayı görüntülemek için izniniz yok."
#: templates/403_csrf.html:11
msgid "Authentication Failure"
-msgstr ""
+msgstr "Kimlik Doğrulaması Başarısız"
#: templates/403_csrf.html:12
msgid "You have been logged out from InvenTree."
@@ -9317,149 +9474,149 @@ msgstr ""
#: users/models.py:529
msgid "Chosen display name for the user"
-msgstr ""
+msgstr "Kullanıcının görünen adı"
#: users/models.py:535
msgid "Position"
-msgstr ""
+msgstr "Konumu"
#: users/models.py:536
msgid "Main job title or position"
-msgstr ""
+msgstr "Ana unvanı veya pozisyonu"
#: users/models.py:543
msgid "User status message"
-msgstr ""
+msgstr "Kullanıcı durum mesajı"
#: users/models.py:550
msgid "User location information"
-msgstr ""
+msgstr "Kullanıcı konum bilgisi"
#: users/models.py:555
msgid "User is actively using the system"
-msgstr ""
+msgstr "Kullanıcı, sistemi aktif kullanıyor"
#: users/models.py:562
msgid "Preferred contact information for the user"
-msgstr ""
+msgstr "Kullanıcının tercih edilen iletişim bilgileri"
#: users/models.py:568
msgid "User Type"
-msgstr ""
+msgstr "Kullanıcı Türü"
#: users/models.py:569
msgid "Which type of user is this?"
-msgstr ""
+msgstr "Bu, hangi tür kullanıcı?"
#: users/models.py:575
msgid "Organisation"
-msgstr ""
+msgstr "Organizasyon"
#: users/models.py:576
msgid "Users primary organisation/affiliation"
-msgstr ""
+msgstr "Kullanıcının ana organizasyonu/ilişkisi"
#: users/models.py:584
msgid "Primary Group"
-msgstr ""
+msgstr "Birincil Grup"
#: users/models.py:585
msgid "Primary group for the user"
-msgstr ""
+msgstr "Kullanıcının birincil grubu"
#: users/ruleset.py:26
msgid "Admin"
-msgstr ""
+msgstr "Yönetici"
#: users/ruleset.py:32
msgid "Purchase Orders"
-msgstr "Satın Alma Emirleri"
+msgstr "Satın Alma Siparişleri"
#: users/ruleset.py:33
msgid "Sales Orders"
-msgstr "Satış Emirleri"
+msgstr "Satış Siparişleri"
#: users/ruleset.py:34
msgid "Return Orders"
-msgstr ""
+msgstr "İade Emirleri"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Kullanıcı Adı"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Adı"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Kullanıcının adı"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Soyadı"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Kullanıcının soyadı"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Kullanıcının e-posta adresi"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Personel"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Bu kullanıcının personel izinleri var mı"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Süper Kullanıcı"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Bu kullanıcı bir süper kullanıcı mı"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
-msgstr "Bu kullanıcı hesabı etkin mi"
+msgstr "Bu kullanıcı hesabı aktif mi"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
-msgstr ""
+msgstr "Bu alanı sadece bir yönetici değiştirebilir"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
-msgstr ""
+msgstr "Parola"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
-msgstr ""
+msgstr "Kullanıcının parolası"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
-msgstr ""
+msgstr "Uyarıları yok say"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
-msgstr ""
+msgstr "Şifre kuralları uyarılarını yok say"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
-msgstr ""
+msgstr "Kullanıcı yaratmak için yetkiniz yok"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Kullanıcı hesabınız oluşturulmuştur."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "InvenTree'ye Hoşgeldiniz"
diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po
index e16b1afdab..efae01509d 100644
--- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "Кінцева точка API не знайдена"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "Для масових операцій необхідно надати перелік сутностей або фільтрів"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "Сутності необхідно надати списком"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "Надано неправильний список сутностей"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "Фільтри необхідно надавати у вигляді словника"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "Надано неправильні фільтри"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "Немає сутностей що відповідають наданим критеріям"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr ""
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "У користувача немає дозволу на перегляд цієї моделі"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (ще раз)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Підтвердження адреси електронної пошти"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Ви повинні використовувати щоразу однаковий email."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Вказана основна адреса електронної пошти недійсна."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Наданий домен електронної пошти не затверджено."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Не вдалося перетворити {original} на {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Невірна кількість"
@@ -112,13 +104,13 @@ msgstr "Введіть дату"
msgid "Invalid decimal value"
msgstr "Неправильне десяткове значення"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Нотатки"
@@ -131,75 +123,75 @@ msgstr "Значення '{name}' не відповідає шаблону фо
msgid "Provided value does not match required pattern: "
msgstr "Надане значення не відповідає обов'язковому шаблону: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "Неможливо серіалізувати більше ніж 1000 сутностей за раз"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Пустий серійний номер"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr ""
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Видаліть HTML тег з цього значення"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "Дані містять заборонений вміст у форматі Markdown"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Помилка підключення"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Сервер відправив некоректний код статусу"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Відбулося виключення"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Сервер повернув невірне значення Content-Length"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Розмір зображення занадто великий"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Розмір зображення перевищує максимально дозволений розмір"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Віддалений сервер повернув пусту відповідь"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -207,11 +199,11 @@ msgstr ""
msgid "Log in to the app"
msgstr "Авторизуватися в додатку"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Електронна пошта"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "Необхідно увімкнути двофакторну автентифікацію, перед тим як робити будь-що інше."
@@ -255,133 +247,124 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Назва"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Опис"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Опис (опціонально)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Шлях"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr ""
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Примітки в Markdown (опціонально)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Помилка сервера"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Зображення"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr ""
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Китайська (спрощена)"
msgid "Chinese (Traditional)"
msgstr "Китайська (Традиційна)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr ""
msgid "Not a valid currency code"
msgstr ""
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr ""
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr ""
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Деталь"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr ""
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr ""
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr ""
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr ""
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Розхідний матеріал"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr ""
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Збірка"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr ""
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Тестуємо"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr ""
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr ""
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Доступно"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr ""
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr ""
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Місце"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr ""
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr ""
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr ""
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr ""
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr ""
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr ""
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr ""
msgid "Reference"
msgstr ""
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr ""
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Обрати деталь для створення"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr ""
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr ""
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr ""
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr ""
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr ""
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr ""
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr ""
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr ""
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr ""
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr ""
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr ""
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr ""
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr ""
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr ""
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr ""
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr ""
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr ""
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr ""
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr ""
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr ""
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr ""
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr ""
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr ""
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr ""
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr ""
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr ""
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr ""
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Кількість"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr ""
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr ""
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr ""
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr ""
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr ""
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr ""
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr ""
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr ""
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr ""
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr ""
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr ""
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr ""
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr ""
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr ""
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr ""
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr ""
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr ""
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr ""
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr ""
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr ""
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
+#: build/serializers.py:1121
+msgid "All Items"
msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr ""
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr ""
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr ""
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr ""
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr ""
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr ""
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr ""
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr ""
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr ""
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Дозволити варіанти"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "У виробництві"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr ""
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr ""
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr ""
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr ""
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr ""
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr ""
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr ""
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr ""
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr ""
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr ""
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr ""
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr ""
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr ""
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr ""
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr ""
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr ""
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr ""
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr ""
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr ""
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr ""
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr ""
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr ""
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr ""
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Користувач"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Ціна"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr ""
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr ""
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr ""
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Назва"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Посилання"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr ""
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr ""
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr ""
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr ""
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr ""
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr ""
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr ""
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Коментар"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "Дата завантаження"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "Дата завантаження файлу"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "Розмір файлу"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "Розмір файлу в байтах"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr ""
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "Етикетка"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "Колір"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "Модель"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "Список вибору"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "Заблоковано"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr ""
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr ""
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr ""
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr ""
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr ""
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr ""
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr ""
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr ""
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr ""
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr ""
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr ""
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Прапорець"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr ""
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr ""
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr ""
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr ""
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr ""
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Шаблон"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Дані"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr ""
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Примітка"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr ""
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr ""
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr ""
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr ""
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr ""
@@ -2351,93 +2359,101 @@ msgstr ""
msgid "Items have been received against a return order"
msgstr ""
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr ""
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr ""
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr ""
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr ""
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr ""
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr ""
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr ""
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr ""
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr ""
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr ""
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr ""
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr ""
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr ""
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr ""
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr ""
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr ""
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr ""
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr ""
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr ""
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr ""
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr ""
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr ""
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr ""
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr ""
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr ""
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr ""
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr ""
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr ""
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr ""
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr ""
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr ""
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr ""
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr ""
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr ""
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr ""
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr ""
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr ""
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr ""
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr ""
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr ""
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr ""
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr ""
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr ""
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr ""
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr ""
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr ""
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr ""
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr ""
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr ""
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr ""
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr ""
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr ""
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Компонент"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr ""
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Доступний для продажу"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr ""
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr ""
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Віртуальний"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr ""
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Показати пов'язані деталі"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr ""
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr ""
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr ""
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr ""
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr ""
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr ""
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr ""
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr ""
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr ""
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr ""
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr ""
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr ""
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr ""
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr ""
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr ""
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr ""
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr ""
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr ""
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr ""
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr ""
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr ""
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr ""
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr ""
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr ""
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr ""
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr ""
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr ""
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr ""
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr ""
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr ""
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr ""
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr ""
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr ""
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr ""
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr ""
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr ""
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr ""
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr ""
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr ""
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr ""
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr ""
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr ""
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr ""
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr ""
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr ""
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr ""
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "Чи призначені групи користувачеві повинні бути видалені, якщо вони не є резервним сервером IdP. Відключення цього налаштування може спричинити проблеми безпеки"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr ""
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr ""
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr ""
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr ""
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr ""
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr ""
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr ""
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr ""
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr ""
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr ""
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr ""
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr ""
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr ""
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr ""
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr ""
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr ""
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr ""
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr ""
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr ""
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr ""
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr ""
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr ""
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "Позиція активна"
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "Позиція постачальника активна"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "Внутрішня позиція активна"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Виробник"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr ""
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr ""
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr ""
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr ""
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr ""
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr ""
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr ""
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr ""
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr ""
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr ""
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr ""
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr ""
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr ""
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr ""
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr ""
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr ""
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr ""
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr ""
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr ""
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr ""
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr ""
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr ""
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr ""
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr ""
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr ""
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr ""
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr ""
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr ""
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Позиція виробника"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Базова позиція"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Обрати позицію"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr ""
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr ""
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
-msgid "Select manufacturer part"
+#: company/models.py:792
+msgid "Primary"
msgstr ""
-#: company/models.py:794
-msgid "URL for external supplier part link"
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
msgstr ""
#: company/models.py:803
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:810
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:819
msgid "Supplier part description"
msgstr ""
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "Базова вартість"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Мінімальний платіж (напр. комісія за збереження)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr ""
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr ""
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr ""
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr ""
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr ""
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "В наявності"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr ""
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr ""
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Дійсно"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr ""
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr ""
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr ""
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr ""
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Внутрішній компонент"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr ""
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr ""
msgid "Total price for this order"
msgstr ""
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr ""
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr ""
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr ""
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr ""
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr ""
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr ""
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr ""
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr ""
-#: order/models.py:504
-msgid "User or group responsible for this order"
+#: order/models.py:506
+msgid "Updated At"
msgstr ""
#: order/models.py:515
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr ""
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr ""
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr ""
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr ""
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr ""
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr ""
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr ""
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr ""
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr ""
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr ""
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr ""
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr ""
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr ""
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr ""
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr ""
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr ""
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr ""
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr ""
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr ""
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr ""
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr ""
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr ""
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr ""
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr ""
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr ""
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr ""
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr ""
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr ""
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr ""
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr ""
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr ""
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr ""
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr ""
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr ""
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr ""
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr ""
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr ""
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr ""
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr ""
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr ""
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr ""
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr ""
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr ""
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr ""
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr ""
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr ""
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr ""
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr ""
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr ""
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr ""
@@ -5532,1174 +5613,1226 @@ msgstr ""
msgid "Reject"
msgstr ""
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr ""
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr ""
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr ""
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr ""
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "Глибина"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "Батьківський елемент"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "Фільтр за батьківською категорією"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr ""
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr ""
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr ""
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr ""
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr ""
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr ""
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr ""
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Позиції"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "Неможливо видалити цю позицію, оскільки вона заблокована"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "Неможливо видалити цю позицію, оскільки вона ще активна"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "Неможливо видалити цю позицію, бо вона використовується у збірці"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr ""
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr ""
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr ""
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Назва позиції"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Це шаблон"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Ця позиція є шаблоном?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr ""
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Опис позиції (опціонально)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr ""
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr ""
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Ревізія"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "Ревізія"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr ""
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr ""
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr ""
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Мінімальний запас"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Мінімально дозволений рівень запасів"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Одиниці виміру для цієї позиції"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Чи можна побудувати цю позицію з інших компонентів?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr ""
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr ""
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr ""
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr ""
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr ""
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr ""
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Дата"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Тестова назва"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr ""
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr ""
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr ""
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr ""
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr ""
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr ""
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr ""
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr ""
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr ""
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr ""
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Позиція 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Позиція 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr ""
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr ""
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "Результати"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr ""
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr ""
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Виробничий номер позиції"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr ""
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr ""
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Початковий запас"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Наявне зображення"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr ""
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Мінімальна ціна"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Максимальна ціна"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr ""
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr ""
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr ""
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr ""
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr ""
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr ""
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr ""
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,7 +7409,7 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,7 +7669,7 @@ msgid "Key of plugin"
msgstr ""
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr ""
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr ""
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr ""
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr ""
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr ""
@@ -7763,7 +7896,7 @@ msgid "Installation not confirmed"
msgstr ""
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr ""
#: plugin/serializers.py:188
@@ -8072,7 +8205,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr ""
@@ -8097,7 +8230,7 @@ msgstr ""
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr ""
@@ -8130,495 +8263,519 @@ msgstr ""
msgid "No result"
msgstr ""
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr ""
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr ""
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr ""
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr ""
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr ""
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr ""
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr ""
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr ""
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr ""
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr ""
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr ""
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr ""
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr ""
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr ""
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr ""
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr ""
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr ""
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr ""
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr ""
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr ""
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr ""
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr ""
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr ""
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr ""
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr ""
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr ""
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr ""
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr ""
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr ""
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr ""
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr ""
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr ""
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr ""
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr ""
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr ""
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr ""
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr ""
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr ""
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr ""
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr ""
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr ""
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr ""
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr ""
msgid "Return Orders"
msgstr ""
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr ""
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Ім`я"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr ""
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Прізвище"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr ""
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Адреса електронної пошти користувача"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Персонал"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr ""
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr ""
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr ""
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr ""
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr ""
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr ""
diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
index 88b816d41b..4d88bc8d5e 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: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "API endpoint không tồn tại"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr ""
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr ""
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr ""
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr ""
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr ""
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr ""
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "Không có dữ liệu được cung cấp"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr ""
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "Người dùng không được phân quyền xem mẫu này"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "Email (nhắc lại)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "Xác nhận địa chỉ email"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "Bạn phải nhập cùng một email mỗi lần."
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "Địa chỉ email chính đã cung cấp không hợp lệ."
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "Miền email được cung cấp không được phê duyệt."
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "Không thể chuyển đổi {original} sang {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "Số lượng cung cấp không hợp lệ"
@@ -112,13 +104,13 @@ msgstr "Nhập ngày"
msgid "Invalid decimal value"
msgstr ""
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "Ghi chú"
@@ -131,75 +123,75 @@ msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu"
msgid "Provided value does not match required pattern: "
msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: "
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr ""
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "Chuỗi số sê-ri trống"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "Trùng lặp sê-ri"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr ""
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "Khoảng nhóm {group} vượt cho phép số lượng ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "Không tìm thấy số sê-ri"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "Xóa thẻ HTML từ giá trị này"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr ""
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "Lỗi kết nối"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "Xảy ra Exception"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "Hình ảnh quá lớn"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "Máy chủ trả về phản hồi trống"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ"
@@ -207,11 +199,11 @@ msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ"
msgid "Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "Email"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr ""
@@ -255,133 +247,124 @@ msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu"
msgid "Reference number is too large"
msgstr "Số tham chiếu quá lớn"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "Lựa chọn sai"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "Tên"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "Mô tả"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "Mô tả (tùy chọn)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "Đường dẫn"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Ghi chú markdown (không bắt buộc)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "Dữ liệu mã vạch"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "Dữ liệu mã vạch của bên thứ ba"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "Dữ liệu băm mã vạch"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "Mã vạch đã tồn tại"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr ""
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr ""
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "Lỗi máy chủ"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "Lỗi đã được ghi lại bởi máy chủ."
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "Hình ảnh"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "Phải là một số hợp lệ"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "Tiền tệ"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "Chọn tiền tệ trong các tùy chọn đang có"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
msgstr ""
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "Giá trị không hợp lệ"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "Hình ảnh từ xa"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "URL của tệp hình ảnh bên ngoài"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
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/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr ""
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
msgstr ""
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
msgstr ""
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
msgstr ""
@@ -537,11 +520,11 @@ msgstr "Tiếng Trung (Giản thể)"
msgid "Chinese (Traditional)"
msgstr "Tiếng Trung (Phồn thể)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr ""
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr ""
@@ -553,30 +536,30 @@ msgstr "Đơn vị vật lý không hợp lệ"
msgid "Not a valid currency code"
msgstr "Mã tiền tệ không hợp lệ"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "Trạng thái đặt hàng"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "Phiên bản cha"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr ""
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr ""
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr ""
msgid "Part"
msgstr "Nguyên liệu"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "Danh mục"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "Xây dựng nguồn gốc"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "Đã gán cho tôi"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "Đã gán cho"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr ""
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr ""
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr ""
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr ""
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr ""
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr ""
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr ""
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr ""
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr ""
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr ""
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr ""
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr ""
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr ""
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "Vật tư tiêu hao"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "Tuỳ chọn"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "Lắp ráp"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "Đã theo dõi"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "Có thể kiểm tra"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr ""
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "Đã cấp phát"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "Đã dùng"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "Có sẵn"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "Bật đơn hàng"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "Tạo đơn hàng"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "Địa điểm"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr ""
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "Tạo đơn hàng"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "Dây chuyền BOM chưa được xác thực"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "Không thể tạo đơn hàng cho hàng hoá đang không hoạt động"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "Không thể tạo đơn hàng cho hàng hoá đang mở khoá"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr ""
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "Phải chọn người dùng hoặc nhóm"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr ""
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "Tham chiếu đơn đặt bản dựng"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "Tham chiếu đơn đặt bản dựng"
msgid "Reference"
msgstr "Tham chiếu"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)"
-#: build/models.py:266
-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:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "Chọn sản phẩm để xây dựng"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "Tham chiếu đơn đặt bản dựng"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "Địa điểm nguồn"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr ""
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr ""
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "Địa điểm đích"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "Xây dựng số lượng"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "Số kho hàng để dựng"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "Những mục hoàn thành"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "Số sản phẩm trong kho đã được hoàn thiện"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "Trnạg thái bản dựng"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "Mã trạng thái bản dựng"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "Mã lô hàng"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "Mã lô cho đầu ra bản dựng này"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "Ngày tạo"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr ""
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr ""
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "Ngày hoàn thành mục tiêu"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này."
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "Ngày hoàn thành"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "hoàn thành bởi"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "Cấp bởi"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "Chịu trách nhiệm"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "Liên kết bên ngoài"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "Liên kết đến URL bên ngoài"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "Độ ưu tiên"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "Độ quan trọng của đơn đặt bản dựng"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "Mã dự án"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "Mã dự án cho đơn đặt bản dựng này"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr ""
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr ""
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "Không thể dỡ bỏ tác vụ để hoàn tất phân bổ"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "Đơn đặt bản dựng {build} đã được hoàn thành"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "Một đơn đặt bản dựng đã được hoàn thành"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "Số sê-ri phải được cung cấp cho hàng hoá có thể theo dõi"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "Không có đầu ra bản dựng đã được chỉ ra"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "Đầu ra bản dựng đã được hoàn thiện"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "Số lượng phải lớn hơn 0"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "Số lượng không thể lớn hơn số lượng đầu ra"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr ""
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "Tạo đầu ra {serial} chưa vượt qua tất cả các bài kiểm tra"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "Tạo mục đơn hàng"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "Dựng đối tượng"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "Dựng đối tượng"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "Số lượng"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "Yêu cầu số lượng để dựng đơn đặt"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr ""
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "Số lượng phải là 1 cho kho sê ri"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "Kho hàng đã bị phân bổ quá đà"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "Số lượng phân bổ phải lớn hơn 0"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "Số lượng phải là 1 cho kho sê ri"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr ""
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "Kho hàng"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "Kho hàng gốc"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "Số lượng kho hàng cần chỉ định để xây dựng"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "Cài đặt vào"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "Kho hàng đích"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "Tạo cấp"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "Tên sản phẩm"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "Nhãn mã dự án"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "Đầu ra bản dựng"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "Đầu ra xây dựng không hợp với bản dựng cha"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "Đầu ra sản phẩm không phù hợp với bản dựng đơn đặt hàng"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "Đầu ra bản dựng này đã được hoàn thành"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "Đầu ra bản dựng này chưa được phân bổ đầy đủ"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "Điền số lượng cho đầu ra bản dựng"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có thể theo dõi"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "Số sê-ri"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "Nhập vào số sêri cho đầu ra bản dựng"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "Vị trí tồn kho cho sản phẩm"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "Số sêri tự cấp"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
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:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "Vị trí kho cho đầu ra phế phẩm"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "Hủy phân bổ"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "Hủy bất kỳ phân kho nào cho đầu ra phế phẩm"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "Lý do loại bỏ đầu ra bản dựng"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "Vị trí cho đầu ra bản dựng hoàn thiện"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "Chấp nhận phân kho dang dở"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Hoàn hiện đầu ra nếu kho chưa được phân bổ hết chỗ trống"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "Xử lý phân bổ kho hàng"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "Tiêu thụ bất kỳ hàng tồn kho nào đã được phân bổ cho dự án này."
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "Xóa toàn bộ đầu ra chưa hoàn thành"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "Xóa bất kỳ đầu ra bản dựng nào chưa được hoàn thành"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "Chưa được cấp phép"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "Chấp nhận trạng thái tiêu hao bởi đơn đặt bản dựng này"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "Phân bổ trước khi hoàn thiện đơn đặt bản dựng này"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "Kho quá tải"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Bạn muốn thế nào để xử lý hàng trong kho được gán thừa cho đơn đặt bản dựng"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "Một vài hàng hóa đã được phân bổ quá thừa"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "Chấp nhận chưa phân bổ được"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đơn đặt bản dựng này"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "Kho được yêu cầu chưa được phân bổ hết không gian"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "Chấp nhận không hoàn thành"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Chấp nhận số yêu cầu của đầu ra bản dựng chưa được hoàn thành"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "Tạo đơn hàng có các đơn hàng đang mở"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "Tạo đơn hàng phải ở trạng thái sản xuất."
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "Đơn đặt bản dựng có đầu ra chưa hoàn thiện"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "Lộ giới"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "Đầu ra bản dựng"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "Mục chi tiết bản dựng"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part phải trỏ đến phần tương tự của đơn đặt bản dựng"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "Hàng hóa phải trong kho"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Số lượng có sẵn ({q}) đã bị vượt quá"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Đầu ra bản dựng phải được xác định cho việc phân sản phẩm được theo dõi"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "Hàng hóa phân bổ phải được cung cấp"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Vị trí kho nơi sản phẩm được lấy ra (để trống để lấy từ bất kỳ vị trí nào)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "Ngoại trừ vị trí"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "Không bao gồm hàng trong kho từ vị trí đã chọn này"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "Kho trao đổi"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Hàng trong kho thuộc nhiều vị trí có thể dùng thay thế được cho nhau"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "Kho thay thế"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "Cho phép phân kho sản phẩm thay thế"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "Mục tùy chọn"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn đặt bản dựng"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "Không thể khởi động tác vụ phân bổ tự động."
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr ""
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "BOM liên quan"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "ID hàng hoá BOM"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "Tên hàng hoá BOM"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr ""
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr ""
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "Sản phẩm nhà cung cấp"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "Số lượng đã phân bổ"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "Tạo liên quan"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "Tên danh mục hàng hoá"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "Có thể theo dõi"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "Được kế thừa"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "Cho phép biến thể"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "Mục BOM"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "Đang sản xuất"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr ""
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "Kho ngoài"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "Số hàng tồn"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "Kho hàng thay thế"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "Hàng tồn kho có sẵn"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr ""
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr ""
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr ""
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr ""
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr ""
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr ""
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr ""
@@ -1474,67 +1478,71 @@ msgstr "Chờ"
msgid "Cancelled"
msgstr "Đã hủy"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "Hoàn thành"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "Kho được yêu cầu cho đặt hàng bản dựng"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr ""
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "Đơn đặt bản dựng quá hạn"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "Đặt hàng bản dựng {bo} đang quá hạn"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "Đường dẫn"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "File"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "Không có quyền xoá file đính kèm"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "Không có quyền xoá file đính kèm"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "Sai mã tiền tệ"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "Trùng mã tiền tệ"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "Mã tiền tệ không đúng"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "Không phần mở rộng"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "Nhãn mã dự án"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "Đã cập nhật"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "Nhãn thời gian của lần cập cuối cùng"
@@ -1546,778 +1554,778 @@ msgstr ""
msgid "User who last updated this object"
msgstr ""
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "Mã dự án duy nhất"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "Mô tả dự án"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr ""
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "Giá trị cài đặt"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "Giá trị đã chọn không hợp lệ"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "Giá trị phải là kiểu boolean"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "Giá trị phải là một số nguyên dương"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr ""
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr ""
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "Chuỗi khóa phải duy nhất"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "Người dùng"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "Số lượng giá phá vỡ"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "Giá"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "Đơn vị giá theo số lượng cụ thể"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "Đầu mối"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "Đầu mối tại điểm webhook được nhận"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "Tên của webhook này"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "Hoạt động"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "Webhook có hoạt động không"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "Chữ ký số"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "Chữ ký số để truy cập"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "Bí mật"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "Mã bí mật dùng chung cho HMAC"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "Mã Tin nhắn"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "Định danh duy nhất cho tin nhắn này"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "Máy chủ"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "Mãy chủ từ tin nhắn này đã được nhận"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "Đầu mục"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "Đầu mục tin nhắn"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "Thân"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "Thân tin nhắn này"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "Đầu mối của tin nhắn này đã nhận được"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "Làm việc vào"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "Công việc trong tin nhắn này đã kết thúc?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "Mã"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "Tiêu đề"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "Liên kết"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "Đã công bố"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "Tác giả"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "Tóm tắt"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "Đọc"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "Tin này đã được đọc?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "Tệp ảnh"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr ""
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr ""
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr ""
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr ""
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "Tên đơn vị phải là một định danh hợp lệ"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "Tên đơn vị"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "Biểu tượng"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "Biểu tượng đơn vị tùy chọn"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "Định nghĩa"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "Định nghĩa đơn vị"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "Đính kèm"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "Tập tin bị thiếu"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "Thiếu liên kết bên ngoài"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "Chọn file đính kèm"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "Bình luận"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr ""
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr ""
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr ""
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr ""
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr ""
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr ""
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr ""
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr ""
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr ""
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "Giá trị"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr ""
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr ""
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr ""
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr ""
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr ""
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr ""
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr ""
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr ""
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr ""
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr ""
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr ""
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr ""
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr ""
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr ""
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr ""
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr ""
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr ""
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr ""
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "Đã tạo"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr ""
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "Cập nhật lần cuối"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr ""
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr ""
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr ""
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr ""
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr ""
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr ""
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr ""
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr ""
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "Mẫu tham số"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "Tham số hộp kiểm tra không thể có đơn vị"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "Tham số hộp kiểm tra không thể có lựa chọn"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "Lựa chọn phải duy nhất"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "Tên tham số mẫu phải là duy nhất"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "Tên tham số"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "Đơn vị"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "Đơn vị vật lý cho tham số này"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "Mô tả tham số"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "Ô lựa chọn"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "Tham số này có phải là hộp kiểm tra?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "Lựa chọn"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr ""
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "Đã bật"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
msgstr ""
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
msgstr ""
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "Lựa chọn sai cho giá trị tham số"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "Mẫu"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "Dữ liệu"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "Giá trị tham số"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "Ghi chú"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "Trường ghi chú tùy chọn"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr ""
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr ""
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr ""
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr ""
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr ""
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr ""
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "Ngữ cảnh"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr ""
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr ""
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr ""
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "Kết quả"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr ""
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr ""
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr ""
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr ""
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr ""
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr ""
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr ""
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr ""
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr ""
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr ""
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr ""
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr ""
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr ""
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr ""
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr ""
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr ""
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr ""
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr ""
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr ""
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr ""
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr ""
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr ""
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
msgstr ""
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr ""
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr ""
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "Khóa"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr ""
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr ""
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr ""
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr ""
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr ""
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr ""
@@ -2339,7 +2347,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:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "Mục đã nhận"
@@ -2351,93 +2359,101 @@ msgstr "Hàng đã được nhận theo đơn đặt mua"
msgid "Items have been received against a return order"
msgstr "Hàng đã nhận theo đơn hàng trả lại"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr ""
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr ""
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "Đang chạy"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "Công việc chờ xử lý"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "Tác vụ theo lịch"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "Tác vụ thất bại"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "ID tác vụ"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "ID tác vụ duy nhất"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "Khoá"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "Thời gian khóa"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "Tên công việc"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "Chức năng"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "Tên chức năng"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "Đối số"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "Đối số công việc"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "Đối số từ khóa"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "Đối số từ khóa công việc"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "Tên tập tin"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr ""
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr ""
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr ""
@@ -2445,1128 +2461,1157 @@ msgstr ""
msgid "No group"
msgstr "Không có nhóm"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "URL trang web đã bị khóa bởi cấu hình"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "Cần khởi động lại"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "Chuyển dữ liệu chờ xử lý"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr ""
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr ""
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr ""
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr ""
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr ""
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr ""
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "Tên thực thể máy chủ"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "Mô tả chuỗi cho thực thể máy chủ"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "Sử dụng tên thực thể"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "Sử dụng tên thực thể trên thanh tiêu đề"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "Cấm hiển thị `giới thiệu`"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "Tên công ty"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "Tên công ty nội bộ"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "URL cơ sở"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "URL cơ sở cho thực thể máy chủ"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "Tiền tệ mặc định"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "Chọn tiền tệ chính khi tính giá"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr ""
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr ""
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "Tần suất cập nhật tiền tệ"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "ngày"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "Phần mở rộng cập nhật tiền tệ"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "Tải về từ URL"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "Giới hạn kích thước tải xuống"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "User-agent được dùng để tải xuống theo URL"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr ""
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr ""
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "Thời gian kiểm tra bản cập nhật"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "Sao lưu tự động"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "Khoảng thời gian sao lưu tự động"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "Xác định số ngày giữa các kỳ sao lưu tự động"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "Khoảng thời gian xóa tác vụ"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "Khoảng thời gian xóa nhật ký lỗi"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "Khoảng thời gian xóa thông báo"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr ""
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr ""
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr ""
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr ""
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "Hỗ trợ mã vạch"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr ""
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr ""
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr ""
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr ""
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "Độ trễ quét mã vạch"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "Thời gian trễ xử lý đầu đọc mã vạch"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "Hỗ trợ mã vạch qua webcam"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr ""
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr ""
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr ""
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr ""
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "Phiên bản Sản phẩm"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "Bật trường phiên bản cho sản phẩm"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr ""
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr ""
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr ""
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr ""
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "Mẫu IPN"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "Cho phép trùng IPN"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "Cho phép sửa IPN"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "Sao chép dữ liệu BOM của sản phẩm"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "Sao chép dữ liệu tham số sản phẩm"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "Chép thông tin kiểm thử sản phẩm"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "Sao chéo mẫu tham số danh mục"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "Sản phẩm là mẫu bởi mặc định"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "Thành phần"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "Có thể mua"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "Sản phẩm mặc định có thể mua được"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "Có thể bán"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "Sản phẩm mặc định có thể bán được"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "Sản phẩm mặc định có thể theo dõi được"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "Ảo"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "Sản phẩm mặc định là số hóa"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "Hiển thị sản phẩm liên quan"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "Số liệu tồn kho ban đầu"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "Dữ liệu nhà cung cấp ban đầu"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "Định dạng tên sản phẩm hiển thị"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "Định dạng để hiển thị tên sản phẩm"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "Biểu tượng mặc định của danh mục sản phẩm"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "Vị trí phần thập phân giá bán tối thiểu"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "Vị trí phần thập phân giá bán tối đa"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "Sử dụng giá bán nhà cung cấp"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "Ghi đè lịch sử mua hàng"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "Sử dụng giá hàng hóa trong kho"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "Tuổi giá kho hàng"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "Sử dụng giá biến thể"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "Chỉ các biến thể hoạt động"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr ""
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr ""
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "Tần suất tạo lại giá"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "Giá nội bộ"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "Bật giá nội bộ cho sản phẩm"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "Ghi đè giá nội bộ"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "Bật in tem nhãn"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "Bật chức năng in tem nhãn từ giao diện web"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "DPI hỉnh ảnh tem nhãn"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "Bật báo cáo"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "Cho phép tạo báo cáo"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "Chế độ gỡ lỗi"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr ""
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr ""
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "Khổ giấy"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "Kích thước trang mặc định cho báo cáo PDF"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "Bắt buộc đơn vị tham số"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "Sê ri toàn cục duy nhất"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "Xóa kho đã hết hàng"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr ""
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "Mẫu sinh mã theo lô"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "Quá hạn trong kho"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "Bật chức năng quá hạn tồn kho"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "Bán kho quá hạn"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "Cho phép bán hàng kho quá hạn"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "Thời gian hàng cũ trong kho"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "Dựng kho quá hạn"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "Cho phép xây dựng với kho hàng quá hạn"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "Kiểm soát sở hữu kho"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "Biểu tượng địa điểm kho mặc định"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "Hiển thị hàng hóa đã lắp đặt"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr ""
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr ""
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr ""
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr ""
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "Mã tham chiếu đơn đặt bản dựng"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr ""
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr ""
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr ""
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr ""
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr ""
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr ""
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr ""
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr ""
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr ""
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr ""
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr ""
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr ""
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr ""
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr ""
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "Bật đơn hàng trả lại"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "Mẫu tham chiếu đơn hàng trả lại"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr ""
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "Sửa đơn hàng trả lại đã hoàn thành"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "Mẫu tham chiếu đơn đặt hàng"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "Vận chuyển mặc định đơn đặt hàng"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "Sửa đơn đặt hàng đã hoàn thành"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr ""
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr ""
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "Mẫu tham chiếu đơn đặt mua"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "Sửa đơn đặt mua đã hoàn thành"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr ""
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr ""
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "Tự động hoàn thành đơn đặt mua"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr ""
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "Bật quên mật khẩu"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "Bật đăng ký"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "Bật SSO"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "Cho phép SSO tại trang đăng nhập"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "Bật đăng ký SSO"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr ""
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr ""
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr ""
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr ""
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr ""
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr ""
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr ""
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr ""
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "Yêu cầu email"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "Yêu cầu người dùng cung cấp email để đăng ký"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "Người dùng tự động điền SSO"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "Thư 2 lần"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "Mật khẩu 2 lần"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "Các tên miền được phép"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "Nhóm khi đăng ký"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr ""
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "Bắt buộc MFA"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "Người dùng phải sử dụng bảo mật đa nhân tố."
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "Kiểm tra phần mở rộng khi khởi động"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "Kiểm tra cập nhật plugin"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr ""
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "Bật tích hợp URL"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "Bật phần mở rộng để thêm định tuyến URL"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "Bật tích hợp điều hướng"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "Bật phần mở rộng để tích hợp thanh định hướng"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "Bật tích hợp ứng dụng"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "Bật phần mở rộng để thêm ứng dụng"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "Cho phép tích hợp lập lịch"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "Bật tích hợp nguồn cấp sự kiện"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "Bật phần mở rộng để trả lời sự kiện bên trong"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr ""
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr ""
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr ""
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr ""
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr ""
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr ""
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr ""
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "Ngoại trừ vị trí bên ngoài"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "Giai đoạn kiểm kê tự động"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr ""
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr ""
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr ""
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "Hiển thị tên đầy đủ của người dùng"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr ""
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr ""
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
+msgid "Delete stocktake entries older than the specified number of days"
msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "Hiển thị tên đầy đủ của người dùng"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr ""
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr ""
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr ""
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr ""
msgid "Manufacturer is Active"
msgstr ""
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr ""
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr ""
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr ""
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "Doanh nghiêp"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr ""
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "Doanh nghiệp"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "Mô tả công ty"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "Mô tả của công ty"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "Trang web"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "URL trang web của công ty"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "Số điện thoại"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "Số điện thoại liên hệ"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "Địa chỉ email liên hệ"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "Liên hệ"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "Đầu mối liên hệ"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "Liên kết đến thông tin công ty ngoài"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr ""
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr ""
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "Bạn có bán hàng cho công ty này?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr ""
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "Bạn có mua hàng từ công ty này?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr ""
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "Công ty này có sản xuất sản phẩm?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "Tiền tệ mặc định dùng cho công ty này"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr ""
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr ""
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "Địa chỉ"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "Địa chỉ"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "Chọn doanh nghiệp"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "Tiêu đề địa chỉ"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "Tiêu đề mô tả mục địa chỉ"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "Địa chỉ chính"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "Đặt làm địa chỉ chính"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "Dòng 1"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "Địa chỉ dòng 1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "Dòng 2"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "Địa chỉ dòng 2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "Mã bưu chính"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "Thành phố/Vùng"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "Mã bưu chính thành phố/vùng"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "Bang/Tỉnh"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "Bang hay tỉnh"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "Quốc gia"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "Địa chỉ quốc gia"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "Ghi chú vận chuyển"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "Ghi chú dành cho chuyển phát nhanh"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "Ghi chú nội bọ chuyển phát nhanh"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "Liên kết thông tin địa chỉ (bên ngoài)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "Sản phẩm nhà sản xuất"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "Sản phẩm cơ bản"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "Chọn sản phẩm"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "Chọn nhà sản xuất"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr ""
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "Mã số nhà sản xuất"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "URL cho liên kết sản phẩm của nhà sản xuất bên ngoài"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "Mô tả sản phẩm của nhà sản xuất"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "Đơn vị đóng gói phải tương thích với đơn vị sản phẩm cơ bản"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "Đơn vị đóng gói phải lớn hơn không"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "Chọn nhà cung cấp"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "Đơn vị quản lý kho nhà cung cấp"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr ""
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "Chọn sản phẩm của nhà sản xuất"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "Mô tả sản phẩm nhà cung cấp"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "chi phí cơ sở"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Thu phí tối thiểu (vd: phí kho bãi)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "Đóng gói"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "Đóng gói sản phẩm"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "Số lượng gói"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ."
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "nhiều"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "Đặt hàng nhiều"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "Số lượng có sẵn từ nhà cung cấp"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "Sẵn hàng đã được cập nhật"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "Ngày cập nhật cuối thông tin tồn kho"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr ""
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr ""
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr ""
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "Còn hàng"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr ""
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr ""
@@ -4318,119 +4367,119 @@ msgstr "Đã đặt"
msgid "Invalid status code"
msgstr ""
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "Tập tin dữ liệu"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr ""
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr ""
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr ""
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr ""
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr ""
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr ""
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr ""
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr ""
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr ""
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr ""
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr ""
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr ""
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr ""
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr ""
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr ""
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr ""
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr ""
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr ""
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr ""
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr ""
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr ""
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr ""
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr ""
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr ""
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "Hợp lệ"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr ""
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "Không rõ"
@@ -4658,105 +4707,117 @@ msgstr ""
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "Tham chiếu đơn đặt"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr ""
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr ""
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "Tạo bởi"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr ""
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr ""
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr ""
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr ""
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr ""
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr ""
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr ""
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr ""
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr ""
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr ""
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr ""
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr ""
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr ""
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr ""
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "Đặt hàng"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr ""
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "Sản phẩm nội bộ"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr ""
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "Đã hoàn thành"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr ""
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "Đơn hàng"
msgid "Sales Order"
msgstr "Đơn đặt hàng"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "Tổng tiền"
msgid "Total price for this order"
msgstr "Tổng tiền cho đơn hàng hàng"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "Tiền tệ đơn đặt hàng"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr ""
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr ""
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr ""
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "Mô tả đơn đặt (tùy chọn)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "Mã dự án đã chọn cho đơn đặt hàng này"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "Liên kết đến trang bên ngoài"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr ""
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr ""
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "Ngày mục tiêu"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này."
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "Ngày phát hành"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "Ngày đặt hàng đã phát hành"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr ""
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "Đầu mối liên hệ của đơn đặt này"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "Địa chỉ công ty cho đơn đặt này"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "Mã đặt hàng"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "Trạng thái"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "Trạng thái đơn đặt mua"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "Tham chiếu nhà cung cấp"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "Mã tham chiếu đơn đặt nhà cung cấp"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "nhận bởi"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "Ngày đặt hàng đã được hoàn thiện"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "Đích đến"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr ""
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "Mục dòng không phù hợp với đơn đặt mua"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr ""
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "Số lượng phải là số dương"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "Khách hàng"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "Doanh nghiệp từ những hàng hóa đang được bán"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr ""
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "Tham chiếu khách hàng "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "Mã tham chiếu đơn đặt của khách hàng"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "Ngày giao hàng"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "vận chuyển bằng"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr ""
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr ""
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr ""
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr ""
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "Số lượng mặt hàng"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "Tham chiếu khoản riêng"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "Ghi chú khoản riêng"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "Mô tả khoản riêng (tùy chọn)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "Ngữ cảnh bổ sung"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "Đơn giá"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr ""
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr ""
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr ""
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr ""
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "Sản phẩm nhà cung cấp"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "Đã nhận"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "Số mục đã nhận"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "Giá mua"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "Giá đơn vị mua"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr ""
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr ""
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr ""
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "Giá bán"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "Giá bán đơn vị"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "Đã chuyển"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "Số lượng đã vận chuyển"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr ""
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr ""
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr ""
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "Ngày vận chuyển"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "Ngày giao hàng"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "Ngày giao hàng của vận chuyển"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "Kiểm tra bởi"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "Người dùng đã kiểm tra vận chuyển này"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "Vận chuyển"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "Mã vận chuyển"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "Số theo dõi"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "Thông tin theo dõi vận chuyển"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "Mã hóa đơn"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "Số tham chiếu liên kết với hóa đơn"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "Vận đơn đã được gửi đi"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "Vận đơn chưa có hàng hóa được phân bổ"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr ""
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr ""
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "Hàng trong kho chưa được giao"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "Số lượng phân bổ phải lớn hơn 0"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "Số lượng phải là 1 cho hàng hóa sêri"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "Đơn bán hàng không phù hợp với vận đơn"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "Vận đơn không phù hợp với đơn bán hàng"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "Dòng"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "Tham chiếu vận đơn của đơn hàng bán"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "Hàng hóa"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "Chọn hàng trong kho để phân bổ"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "Nhập số lượng phân kho"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "Tham chiếu đơn hàng trả lại"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "Công ty có hàng hóa sẽ được trả lại"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "Trạng thái đơn hàng trả lại"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr ""
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr ""
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr ""
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr ""
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr ""
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "Chọn hàng hóa để trả lại từ khách hàng"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "Ngày nhận được"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "Ngày mà hàng hóa trả lại đã được nhận"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "Kết quả"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "Kết quả cho hàng hóa dòng này"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr ""
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr ""
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr ""
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr ""
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr ""
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr ""
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "Sao chép thông số"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "Mục dòng"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr ""
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr ""
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr ""
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "Tên nhà cung cấp"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "Đơn đặt không thể bị hủy"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "Cho phép đơn đặt phải đóng lại cùng với các mục dòng hàng hóa chưa hoàn thành"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "Đơn đặt có dòng hàng hóa chưa hoàn thành"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "Đơn đặt là không được mở"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr ""
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr ""
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "Tiền tệ giá mua"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr ""
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr ""
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr ""
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "Mã sản phẩm nội bộ"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr ""
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "Sản phẩm nhà cung cấp phải được chỉ định"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "Đơn đặt mua phải được chỉ định"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "Mục dòng"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "Chọn vị trí đích cho hàng hóa đã nhận"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "Nhập mã lô cho hàng trong kho đang đến"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "Ngày hết hạn"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr ""
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "Nhập số sê ri cho hàng trong kho đang đến"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr ""
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr ""
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "Mã vạch"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "Mã vạch đã quét"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "Mã vạch đã được dùng"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "Dòng hàng hóa phải được cung cấp"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "Vị trí đích phải được chỉ ra"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "Giá trị mã vạch đã cung cấp phải duy nhất"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr ""
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "Vận đơn đã hoàn thành"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "Tiền tệ giá bán"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr ""
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "Chưa cung cấp thông tin vận chuyển"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "Dòng hàng hóa chưa được gắn với đơn đặt này"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "Số lượng phải là số dương"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "Nhập số sê ri để phân bổ"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "Vận đơn đã được chuyển đi"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "Vận đơn không được gắn với đơn đặt này"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "Không tìm thấy số sê ri sau đây"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr ""
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "Dòng riêng biệt đơn hàng trả lại"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "Line item không phù hợp với đơn hàng trả lại"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "Line item đã nhận được"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr ""
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "Tiền tệ giá đồng hạng"
@@ -5532,1174 +5613,1226 @@ msgstr "Hoàn tiền"
msgid "Reject"
msgstr "Từ chối"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "Đơn đặt mua quá hạn"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "Đơn đặt mua {po} quá hạn"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "Đơn bán hàng quá hạn"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "Đơn bán hàng {so} đã quá hạn"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr ""
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr ""
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr ""
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr ""
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr ""
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr ""
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr ""
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr ""
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr ""
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr ""
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr ""
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr ""
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr ""
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr ""
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr ""
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr ""
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "Danh mục sản phẩm"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "Danh mục sản phẩm"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "Điểm bán mặc định"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "Vị trí mặc định cho sản phẩm trong danh mục này"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "Cấu trúc"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Hàng hóa không được gán trực tiếp vào danh mục có cấu trúc nhưng có thể được gán vào danh mục con."
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "Từ khóa mặc định"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "Biểu tượng"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "Biểu tượng (tùy chọn)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr ""
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "Giá trị mặc định"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "Giá trị tham số mặc định"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "Nguyên liệu"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr ""
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr ""
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr ""
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "Không thể dùng sản phẩm '{self}' trong BOM cho '{parent}' (đệ quy)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "Sản phẩm '{parent}' được dùng trong BOM cho '{self}' (đệ quy)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr ""
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr ""
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr ""
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr ""
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr ""
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr ""
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "Hàng trong kho với số sê ri này đã tồn tại"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN trùng lặp không được cho phép trong thiết lập sản phẩm"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr ""
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại."
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "Tên sản phẩm"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "Là Mẫu"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "Sản phẩm này có phải là sản phẩm mẫu?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "Đây có phải là 1 biến thể của sản phẩm khác?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "Biến thể của"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "Mô tả (không bắt buộc)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "Từ khóa"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "Danh mục sản phẩm"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr ""
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "Phiên bản"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr ""
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr ""
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "Hàng hóa này sẽ được cất vào đâu?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "Nhà cung ứng mặc định"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "Nhà cung ứng sản phẩm mặc định"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "Hết hạn mặc định"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "Thời gian hết hạn (theo ngày) để nhập kho hàng hóa cho sản phẩm này"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "Kho tối thiểu"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "Cấp độ kho tối thiểu được phép"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "Đơn vị đo cho sản phẩm này"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "Sản phẩm này có thể được dựng từ sản phẩm khác?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "Sản phẩm này có thể dùng để dựng các sản phẩm khác?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "Sản phẩm này có đang theo dõi cho hàng hóa duy nhất?"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr ""
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "Sản phẩm này có thể mua được từ nhà cung ứng bên ngoài?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "Sản phẩm này có thể được bán cho khách hàng?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "Sản phẩm này đang hoạt động?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr ""
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Đây là sản phẩm ảo, ví dụ như sản phẩm phần mềm hay bản quyền?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr ""
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr ""
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "Giá trị tổng kiểm BOM"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "Giá trị tổng kiểm BOM đã được lưu"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "BOM kiểm tra bởi"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "Ngày kiểm tra BOM"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "Tạo người dùng"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "Bán nhiều"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "Tiền được dùng để làm đệm tính toán giá bán"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "Chi phí BOM tối thiểu"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "Chi phí thành phần sản phẩm tối thiểu"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "Chi phí BOM tối đa"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "Chi phí thành phần sản phẩm tối đa"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "Chi phí mua vào tối thiểu"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "Chi phí mua vào tối thiểu trong lịch sử"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "Chi phí mua tối đa"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "Giá nội bộ tối thiểu"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "Giá nội bộ tối đa"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "Giá nhà cung ứng tối thiểu"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "Giá nhà cung ứng tối đa"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "Giá trị biến thể tối thiểu"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "Chi phí biến thể tối đa"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "Chi phí tối đa của sản phẩm biến thể đã tính"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "Chi phí tối thiểu"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "Ghi đề chi phí tối thiểu"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "Chi phí tối đa"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "Ghi đề chi phí tối đa"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "Chi phí tối thiểu tính toán tổng thể"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "Chi phí tối đa tính toán tổng thể"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "Giá bán thấp nhất"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "Giá bán tối thiểu dựa trên phá giá"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "Giá bán cao nhất"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "Giá bán cao nhất dựa trên phá giá"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "Chi phí bán hàng tối thiểu"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "Giá bán hàng tối thiểu trong lịch sử"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "Giá bán hàng tối đa"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "Giá bán hàng tối đa trong lịch sử"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "Sản phẩm dành cho kiểm kê"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "Tổng số hàng"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "Số mục kho độc lậo tại thời điểm kiểm kê"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "Tống số kho tại thời điểm kiểm kê"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "Ngày"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "Kiểm kê đã thực hiện"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "Chi phí kho tối thiểu"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "Chi phí kho tối thiểu ước tính của kho đang có"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "Chi phí kho tối đa"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "Chi phí kho tối đa ước tính của kho đang có"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr ""
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr ""
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr ""
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr ""
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "Tên kiểm thử"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "Nhập tên cho kiểm thử"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr ""
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "Mô tả kiểm thử"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "Nhập mô tả cho kiểm thử này"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr ""
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "Bắt buộc"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "Kiểm thử này bắt buộc phải đạt?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "Giá trị bắt buộc"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "Yêu cầu đính kèm"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr ""
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr ""
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr ""
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "Chọn sản phẩm cha"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "Sản phẩm phụ"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "Chọn sản phẩm được dùng trong BOM"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "Số lượng BOM cho mục BOM này"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "Mục BOM này là tùy chọn"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr ""
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr ""
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr ""
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr ""
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr ""
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr ""
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "Tham chiếu mục BOM"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "Ghi chú mục BOM"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "Giá trị tổng kiểm"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "Giá trị tổng kiểm dòng BOM"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "Đã xác minh"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "Mục BOM này là hợp lệ"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "Nhận thừa hưởng"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "Sản phẩm phụ phải được chỉ định"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "Sảm phẩm thay thế mục BOM"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "Hàng hóa BOM cha"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "Sản phẩm thay thế"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "Sản phẩm 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "Sản phẩm 2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "Chọn sản phẩm liên quan"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr ""
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "Đã tồn tại mối quan hệ trùng lặp"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr ""
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr ""
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "Phụ mục"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr ""
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr ""
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "Loại tiền mua hàng của hàng hóa này"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr ""
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "Sản phẩm gốc"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "Chọn sản phẩm gốc để nhân bản"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "Sao chép ảnh"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "Sao chép hình ảnh từ sản phẩm gốc"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "Sao chép BOM"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "Sao chép thông số"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "Sao chép thông tin tham số từ sản phẩm gốc"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "Sao chép ghi chú"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "Sao chép ghi chú từ sản phẩm gốc"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr ""
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr ""
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "Số liệu tồn kho ban đầu"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào."
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "Vị trí kho ban đầu"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "Mã số nhà sản xuất"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại"
-#: part/serializers.py:522
+#: part/serializers.py:533
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:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "Tên danh mục"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "Đang dựng"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr ""
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr ""
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "Hàng trong kho"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr ""
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "Nhà cung cấp"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "Tổng số lượng"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "Nhân bản sản phẩm"
-#: part/serializers.py:944
+#: part/serializers.py:942
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:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "Số liệu kho ban đầu"
-#: part/serializers.py:951
+#: part/serializers.py:949
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:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "Thông tin nhà cung cấp"
-#: part/serializers.py:958
+#: part/serializers.py:956
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:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "Sao chép thông số nhóm hàng"
-#: part/serializers.py:967
+#: part/serializers.py:966
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:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "Ảnh hiện có"
-#: part/serializers.py:973
+#: part/serializers.py:972
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:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "Tệp hình ảnh không tồn tại"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "Xác minh toàn bộ hóa đơn vật liệu"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "Có thể dựng"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr ""
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr ""
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr ""
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "Giá thấp nhất"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "Giá trị tính toán ghi đè cho giá tối thiểu"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "Tiền tế giá tối thiểu"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "Giá cao nhất"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "Giá trị tính toán ghi đè cho giá tối đa"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "Tiền tế giá tối đa"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "Cập nhật"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "Cập nhật giá cho sản phẩm này"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, 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:1423
+#: part/serializers.py:1528
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:1426
+#: part/serializers.py:1531
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:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr ""
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr ""
-#: part/serializers.py:1802
+#: part/serializers.py:1927
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:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "Xóa dữ liệu đã tồn tại"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
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:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "Bao gồm thừa hưởng"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
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:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "Bỏ qua dòng không hợp lệ"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
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:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "Sao chép sản phẩm thay thế"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
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/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "Thông báo sắp hết hàng"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr ""
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr ""
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr ""
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr ""
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr ""
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr ""
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr ""
@@ -6732,108 +6865,108 @@ msgstr "Chưa chỉ ra hành động cụ thể"
msgid "No matching action found"
msgstr "Không tìm thấy chức năng phù hợp"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "Không tìm thấy dữ liệu mã vạch phù hợp"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr ""
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr ""
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "Mã vạch phù hợp với hàng hóa hiện có"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "Không tìm thấy thông tin sản phẩm phù hợp"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "Không tìm thấy sản phẩm nhà cung cấp phù hợp"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp phù hợp"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "Sản phẩm nhà cung cấp phù hợp"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "Hàng hóa này đã được nhận"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr ""
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr ""
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr ""
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr ""
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr ""
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "Kho không đủ hạn mức khả dụng"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr ""
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "Không đủ thông tin"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr ""
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "Buộc phải nhập thông tin khác để nhận mục dòng này"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "Mục dòng đơn đặt mua đã nhận"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr ""
@@ -6972,7 +7105,7 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr ""
msgid "Automatically issue orders that are backdated"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr ""
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr ""
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr ""
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "URL webhook đầu vào của Slack"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr ""
msgid "Provides support for printing using a machine"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr ""
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr ""
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "Khóa của phần bổ sung"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "Tên của phần bổ sung"
+msgid "Name of the plugin"
+msgstr ""
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr ""
msgid "Plugin"
msgstr "Phần bổ sung"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "Không tìm thấy tác giả"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "Cài đặt chưa được xác nhận"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "Hoặc là phải cung cấp tên gói của URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "Tổng cộng"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "Số sê-ri"
@@ -8097,7 +8230,7 @@ msgstr "Báo cáo kiểm thử mặt hàng"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "Mục đã cài đặt"
@@ -8130,495 +8263,519 @@ msgstr "Không có kết quả (bắt buộc)"
msgid "No result"
msgstr "Không có kết quả"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "Tệp tin tài sản không tồn tại"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "Không tìm thấy tệp hình ảnh"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr ""
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr ""
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr ""
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr ""
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr ""
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr ""
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr ""
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr ""
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr ""
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr ""
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr ""
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr ""
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr ""
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "Mã trạng thái"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "Địa điểm bên ngoài"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr ""
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr ""
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "Cây sản phẩm"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr ""
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr ""
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr ""
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr ""
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "Ngày hết hạn trước đó"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "Ngày hết hạn sau đó"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "Ế"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "Bắt buộc nhập số lượng"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "Phải cung cấp sản phẩm hợp lệ"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr ""
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr ""
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr ""
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr ""
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr ""
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "Loại vị trí kho hàng"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "Loại vị trí kho hàng"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "Biểu tượng mặc định cho vị trí không được đặt biểu tượng (tùy chọn)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "Kho hàng"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "Vị trí kho hàng"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "Chủ sở hữu"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "Chọn chủ sở hữu"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con."
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "Bên ngoài"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "Đây là vị trí kho bên ngoài"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "Loại vị trí"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "Loại vị trí kho hàng của địa điểm này"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu trúc vì đã có hàng hóa trong kho được đặt vào bên trong nó!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr ""
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr ""
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Không thể đặt hàng trong kho vào trong địa điểm kho có cấu trúc!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "Loại sản phẩm ('{self.supplier_part.part}') phải là {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "Số lượng phải là 1 cho hàng hóa với số sê ri"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Số sê ri không thể đặt được nếu số lượng lớn hơn 1"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "Hàng hóa không thể thuộc về chính nó"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "Hàng hóa phải có 1 tham chiếu bản dựng nếu is_building=True"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "Tham chiếu bản dựng không thể trỏ vào cùng một đối tượng sản phẩm"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "Hàng trong kho cha"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "Sản phẩm cơ bản"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho này"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "Hàng trong kho này được đặt ở đâu?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "Đóng gói hàng hóa này được lưu trữ lại"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "Đã cài đặt trong"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "Mục này đã được cài đặt trong mục khác?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "Số sê ri cho mục này"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "Mã lô cho hàng trong kho này"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "Số lượng tồn kho"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "Bản dựng nguồn"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "Bản dựng cho hàng hóa này"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "Tiêu thụ bởi"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "Đơn đặt bản dựng đã dùng hàng hóa này"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "Đơn đặt mua nguồn"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "Đơn đặt mua cho hàng hóa này"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "Đơn hàng bán đích"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ngày hết hạn của hàng hóa này. Kho sẽ được nhắc tình trạng hết hạn sau ngày này"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "Xóa khi thiếu hụt"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "Xóa hàng trong kho này khi kho hàng bị thiếu hụt"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "Giá mua riêng lẻ tại thời điểm mua"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "Đã chuyển đổi sang sản phẩm"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "Chưa đặt sản phẩm thành có thể theo dõi"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "Số lượng phải là số nguyên"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr ""
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "Số lượng không khớp với số sêri"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr ""
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr ""
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "Hàng trong kho đã được gán vào đơn hàng bán"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "Hàng trong kho đã được cài đặt vào hàng hóa khác"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "Hàng trong kho chứa hàng hóa khác"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "Hàng trong kho đã được gắn với một khách hàng"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "Hàng trong kho hiện đang sản xuất"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "Không thể hợp nhất kho nối tiếp"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "Mặt hàng trùng lặp"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "Mặt hàng phải tham chiếu đến sản phẩm tương tự"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "Mặt hàng phải tham chiếu đến sản phẩm nhà cung cấp tương tự"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "Mã trạng thái kho phải phù hợp"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Không thể xóa mặt hàng không ở trong kho"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr ""
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "Ghi chú đầu vào"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr ""
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "Phải cung cấp giá trị cho kiểm thử này"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "Phải tải liên đính kèm cho kiểm thử này"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr ""
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "Kết quả kiểm thử"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "Giá trị đầu ra kiểm thử"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "Đính kèm kết quả kiểm thử"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "Ghi chú kiểm thử"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr ""
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr ""
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr ""
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr ""
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr ""
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr ""
@@ -8662,246 +8819,246 @@ msgstr ""
msgid "Quantity of serial numbers to generate"
msgstr ""
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr ""
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr ""
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "Mục cha"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr ""
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "Sử dụng kích thước đóng gói khi thêm: Số lượng được định nghĩa là số của gói"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr ""
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "Điền số sêri cho hàng hóa mới"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "Số hiệu hàng hoá nhà cung cấp"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "Đã hết hạn"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "Mục con"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr ""
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "Giá mua của mặt hàng, theo đơn vị hoặc gói"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "Nhập số của mặt hàng cần tạo số nối tiếp"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr ""
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Số lượng phải không vượt quá số lượng trong kho đang có ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "Vị trí kho đích"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "Không thể gán số sêri cho sản phẩm này"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "Số sêri đã tồn tại"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "Chọn mặt hàng để lắp đặt"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "Số lượng để cài đặt"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "Nhập số lượng hàng hóa để cài đặt"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "Thêm ghi chú giao dịch (tùy chọn)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "Số lượng cần cài đặt phải ít nhất là 1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "Mặt hàng không khả dụng"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "Sản phẩm đã chọn không có trong hóa đơn vật liệu"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "Số lượng cần lắp đặt phải không vượt quá số lượng đang có"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "Chọn sản phẩm để chuyển đổi mặt hàng vào bên trong"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "Sản phẩm đã chọn không phải là tùy chọn hợp lệ để chuyển đổi"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "Không thể chuyển đổi hàng hóa với sản phẩm nhà cung cấp đã gán"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "Mã trạng thái mặt hàng"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "Chọn mặt hàng để đổi trạng thái"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "Không có mặt hàng nào được chọn"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "Kho phụ"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr ""
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "Sản phẩm phải có thể bán được"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "Hàng hóa được phân bổ đến một đơn hàng bán"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "Hàng hóa được phân bổ đến một đơn đặt bản dựng"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "Khách hàng được gán vào các mặt hàng"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "Công ty đã chọn không phải là khách hàng"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "Ghi chú phân bổ kho"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "Phải cung cấp danh sách mặt hàng"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "Ghi chú gộp kho"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "Cho phép nhiều nhà cung không khớp"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Cho phép mặt hàng cùng sản phẩm nhà cung cấp khác phải được gộp"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "Cho phép trạng thái không khớp"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "Cho phép mặt hàng với mã trạng thái khác nhau để gộp lại"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "Cần cung cấp ít nhất hai mặt hàng"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr ""
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "Giá trị khóa chính mặt hàng"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr ""
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr ""
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr ""
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "Ghi chú giao dịch kho"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr ""
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr ""
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr ""
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr ""
@@ -9383,83 +9540,83 @@ msgstr "Đơn hàng bán"
msgid "Return Orders"
msgstr "Đơn hàng trả lại"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "Tên người dùng"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "Tên"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "Họ người dùng"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "Họ"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "Tên người dùng"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "Địa chỉ email của người dùng"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "Nhân viên"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "Người dùng có quyền nhân viên"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "Superuser"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "Người dùng này là superuser"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "Tài khoản người dùng đang hoạt động"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr ""
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr ""
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr ""
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr ""
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr ""
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr ""
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "Tài khoản của bạn đã được tạo."
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "Chào mừng đến với InvenTree"
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 d0ef668039..83377caaec 100644
--- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "未找到 API 端点"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "批量操作必须提供物品或过滤器列表"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "必须以列表形式提供项目"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "提供了无效的单位"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "必须以字典形式提供筛选器"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "提供了无效的过滤器"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "所有过滤器只能使用true"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "没有符合所供条件的项目"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "未提供数据"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
msgstr "此字段的值必须是唯一的。"
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "用户没有权限查阅当前模型。"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "电子邮件 (重复)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "邮箱地址已确认"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "您必须每次输入相同的电子邮件。"
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "提供的主电子邮件地址无效。"
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "提供的邮箱域名未被批准。"
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "不能将 {original} 转换到 {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
@@ -112,13 +104,13 @@ msgstr "输入日期"
msgid "Invalid decimal value"
msgstr "无效的数值"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "备注"
@@ -131,75 +123,75 @@ msgstr "值' {name}' 未出现在模式格式中"
msgid "Provided value does not match required pattern: "
msgstr "提供的值与所需模式不匹配:"
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "无法一次序列化超过 1000 个项目"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "序列号为空白"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "重复的序列号"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "无效群组: {group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "未找到序列号"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "唯一序列号 ({n}) 必须匹配数量 ({q})"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "从这个值中删除 HTML 标签"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "数据包含禁止的 markdown 内容"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "连接错误"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "服务器响应状态码无效"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "发生异常"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "服务器响应的内容长度值无效"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "图片尺寸过大"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "图片下载超出最大尺寸"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "远程服务器返回了空响应"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
@@ -207,11 +199,11 @@ msgstr "提供的 URL 不是一个有效的图片文件"
msgid "Log in to the app"
msgstr "登录应用程序"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "电子邮件"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "您必须启用双重身份验证才能进行后续操作。"
@@ -255,135 +247,126 @@ msgstr "参考字段必须符合指定格式"
msgid "Reference number is too large"
msgstr "参考编号过大"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "无效选项"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "名称"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "描述"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "描述(选填)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "路径"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "同一父级下不能存在重复名称"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown备注(选填)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "条码数据"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "第三方条码数据"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "条码哈希值"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "条码数据的唯一哈希值"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "检测到已存在条码"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "任务失败"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "后台工作任务“{f}”在 {n} 次尝试后失败"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "服务器错误"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "图像"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "货币"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "从可用选项中选择货币"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "此字段不能为空。"
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "无效值"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "远程图片"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "远程图片文件的 URL"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图片"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "从远程URL下载图像失败"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "无效的内容类型格式"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "未找到内容类型"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "内容类型不匹配所需的 mixin 类"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "中文 (简体)"
msgid "Chinese (Traditional)"
msgstr "中文 (繁体)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "有可用更新"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "InvenTree有可用更新"
@@ -553,30 +536,30 @@ msgstr "无效的物理单位"
msgid "Not a valid currency code"
msgstr "无效的货币代码"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "订单状态"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "父级生产订单"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "包含变体"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "包含变体"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "包含变体"
msgid "Part"
msgstr "零件"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "类别"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "可测试部分"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "分配给我"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "负责人"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "创建时间早于"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "创建时间晚于"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "有开始日期"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "开始日期早于"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "开始日期晚于"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "有目标日期"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "目标日期早于"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "目标日期晚于"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "完成日期早于"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "完成日期晚于"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "最小日期"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "最大日期"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "排除树"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "生产订单必须取消后才能删除"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "耗材"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "可选项"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "装配件"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "可追溯"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "需检测"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "未结算订单"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "已分配"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "已消耗"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "可用数量"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "已订购"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "生产订单"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "库存位置"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
msgstr "产出"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr "按产出库存项ID筛选,使用“null”查找未安装的生产项。"
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "生产订单"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "装配物料清单尚未验证"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "无法为未激活的零件创建生产订单"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "无法为已解锁的零件创建生产订单"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "生产订单仅能通过外部采购可购买零件来完成"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "必须指定负责的用户或组"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "生产订单关联零件不可变更"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "目标日期必须在开始日期之后"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "生产订单编号"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "生产订单编号"
msgid "Reference"
msgstr "编号"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "生产订单的简要说明(可选)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
msgstr "该生产订单所属的上级生产订单"
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "选择要生产的零件"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "销售订单编号"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
msgstr "该生产订单关联的销售订单"
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "源库位"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "指定本次生产领料的来源库位(留空可从任意库位调拨)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "外协生产"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "该生产订单由外部供应商完成"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "目标库位"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "选择生产完成品的存放库位"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "生产数量"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "需要生产的库存品数量"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "已完成项目"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "已完成并入库的库存物品数量"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "生产状态"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "生产状态代码"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "批号"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "本批产出的批次编号"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "建立日期"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "生产开始日期"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "此生产订单的计划开始日期"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "计划完成日期"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产订单的计划完成时间,逾期后系统将标记为超期。"
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "完成日期"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "完成人"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "发起人"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "创建该生产订单的用户"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "责任方"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "该生产订单的责任人或责任团队"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "外部链接"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "指向外部资源的URL链接"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "生产优先级"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "此生产订单的优先级"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "项目编号"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "该生产订单归属的项目编号"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "无法完成生产订单,存在未关闭的子生产订单"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "无法完成生产订单,存在未完成的产出项"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "生产分配任务卸载失败"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "生产订单 {build} 已完成"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "生产订单已完成"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "可追溯零件必须填写序列号"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "未指定产出"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "产出已完成"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "产出与生产订单不匹配"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "数量必须大于零"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "数量不能大于产出数量"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "产出未通过所有必要测试"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "产出 {serial} 未通过所有必要测试"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr "存在已分配物料时无法部分完成生产输出"
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "生产订单行项目"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "生产对象"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "生产对象"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "生产订单所需数量"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "库存消耗量"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "所选库存项与物料清单行项不匹配"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr "分配的数量必须大于零"
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "序列化物料的数量必须为1"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "库存品项超额分配"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "分配的数量必须大于零"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "序列化物料的数量必须为1"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "所选库存项与物料清单行项不匹配"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "已分配数量超过可用库存数量"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "库存项"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "分配给该生产任务的库存量"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "安裝到"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "目标库存项"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "生产等级"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "零件名称"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "项目编号标签"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "产出"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "生产产出与上级订单不匹配"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "产出零件与生产订单零件不匹配"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "此产出已经完成"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "此产出尚未完全分配"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "输入产出数量"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "可追踪的零件数量必须为整数"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "因为物料清单包含可追踪的零件,所以数量必须为整数"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "序列号"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "输入产出的序列号"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "生产产出的库存地点"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "自动分配序列号"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自动为所需项目分配对应的序列号"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "以下序列号已存在或无效"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "必须提供产出清单"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "报废品库存地点"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "放弃分配"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "取消对报废产品的库存分配"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "废品产出的原因"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "完工产出存放库位"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "接受不完整的分配"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "如果库存尚未全部分配,则完成产出"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "消耗已分配库存"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "立即扣除已分配给该生产任务的库存"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "移除未完成的产出"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "删除所有未完成的产出"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "禁止操作"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "标记为当前生产订单消耗"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "完成此生产订单前取消分配"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "超额分配库存"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "如何处理分配给生产订单的超额库存"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "存在超额分配的库存项"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "接受未分配"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "接受库存项未被完全分配至生产订单"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "必需库存未完成全量分配"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "接受未完工"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "允许所需数量的产出未完成"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "生产需求数量未完成"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "生产订单有打开的子生产订单"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "生产订单必须处于生产状态"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "生产行"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "产出"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "生产产出必须指向相同的生产"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "生产行项目"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part 必须与生产订单零件相同"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "项目必须在库存中"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "可用量 ({q}) 超出限制"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "对于被追踪的零件的分配,必须指定生产产出"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "对于未被追踪的零件,无法指定生产产出"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "必须提供分配项目"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "零件来源的库存地点(留空则可来源于任何库存地点)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "排除位置"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "从该选定的库存地点排除库存项"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "可互换库存"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "在多个位置的库存项目可以互换使用"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "替代品库存"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "允许分配可替换的零件"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "可选项目"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "分配可选的物料清单给生产订单"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "启动自动分配任务失败"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr ""
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr "未跟踪的物品"
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr "已跟踪的物品"
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "物品类型"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr "选择要自动分配的条目类型"
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "物料清单参考"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "物料清单零件识别号码"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "物料清单零件名称"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "安裝到"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "生产"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "供应商零件"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "已分配数量"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "生产订单编号"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "零件类别名称"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "可追踪"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "已继承的"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "允许变体"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "物料清单项"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "生产中"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "生产计划"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "外部库存"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "可用库存"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "可用的替代品库存"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "可用的变体库存"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "消耗数量超过分配数量"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "库存消耗可选备注"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "生产物料项必须关联到正确的生产订单"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "重复的生产物料项分配"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "订单行项目必须关联到正确的生产订单"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "重复的订单行项目分配"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "必须提供至少一个物料项或行项目"
@@ -1474,67 +1478,71 @@ msgstr "已暂停"
msgid "Cancelled"
msgstr "已取消"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "完成"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "生产订单所需库存"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "生产订单{build}需补充库存"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "逾期的生产订单"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "生产订单 {bo} 现已逾期"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "是否链接"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "是否为文件"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "用户没有权限删除此附件"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "用户没有权限删除此附件"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "无效的货币代码"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "重复的货币代码"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "未提供有效的货币代码"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "暂无插件"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "项目编号标签"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "已是最新"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "最后更新时间戳"
@@ -1546,778 +1554,778 @@ msgstr "更新于"
msgid "User who last updated this object"
msgstr "上次修改该对象的用户"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "唯一项目编码"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "项目描述"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "负责此项目的用户或团队"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "设置密钥"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "设定值"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "所选值不是一个有效的选项"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "该值必须是布尔值"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "该值必须为整数"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "必须是有效数字"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "值未通过验证检查"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "键字符串必须是唯一的"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "使用者"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "批发价数量"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "价格"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "指定数量的单位价格"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "端点"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "接收此网络钩子的端点"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "此网络钩子的名称"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "激活"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "网络钩子是否已启用"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "令牌"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "访问令牌"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "密钥"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "HMAC共享密钥"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "消息ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "此邮件的唯一标识符"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "主机"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "接收此消息的主机"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "标题"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "此消息的标题"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "正文"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "此消息的正文"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "接收此消息的终点"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "工作于"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "这条消息的工作完成了吗?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "标识"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "标题"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "链接"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "已发布"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "作者"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "摘要"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "阅读"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "这条新闻被阅读了吗?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "图像文件"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "此图像的目标模型类型"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "此图像的目标型号ID"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "自定义单位"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "单位符号必须唯一"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "单位名称必须是有效的标识符"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "单位名称"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "符号"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "可选单位符号"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "定义"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "单位定义"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "附件"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "缺少文件"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "缺少外部链接"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "模型类型"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "图片的目标模型类型"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "选择附件"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "备注"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "附件备注"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "上传日期"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "上传文件的日期"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "文件大小"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "文件大小,以字节为单位"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "为附件指定的模型类型无效"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "自定状态"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "定制状态"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "参考状态设置"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "使用此自定义状态扩展状态的状态集"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "逻辑密钥"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "等同于商业逻辑中自定义状态的状态逻辑键"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "值"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "将保存至模型数据库的数值"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "状态名"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "标签"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "将在前端显示的标签"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "颜色"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "将在前端显示颜色"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "型号"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "该状态关联的模型"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "必须选定模型"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "必须选取密钥"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "必须选中逻辑密钥"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "密钥必须不同于逻辑密钥"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "必须提供有效的参考状态类"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "密钥必须不同于参考状态的逻辑密钥"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "逻辑密钥必须在参考状态的逻辑键中"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "名称必须不同于参考状态的名称"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "选择列表"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "选择列表"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "选择列表的名称"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "选择列表的描述"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "已锁定"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "此选择列表是否已锁定?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "能否使用此选择列表?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "源插件"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "提供选择列表的插件"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "源字符串"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "可选字符串,用于标识本列表的数据来源"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "缺省项"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "本选择列表的默认选项"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "已创建"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "选择列表的创建日期和时间"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "最近更新"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "选择列表的最后更新时间"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "选择列表项"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "选择列表项"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "此选项归属的选择列表"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "选择列表项的值"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "选择列表项的标签"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "选择列表项的描述"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "该选择列表项是否处于激活状态?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "参数模板"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
-msgstr ""
+msgstr "参数模板"
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "勾选框参数不能有单位"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "复选框参数不能有选项"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "选择必须是唯一的"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "参数模板名称必须是唯一的"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
-msgstr ""
+msgstr "此参数模板的目标模型类型"
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "参数名称"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "单位"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "此参数的物理单位"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "参数说明"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "勾选框"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "此参数是否为勾选框?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "选项"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "此参数的有效选择 (逗号分隔)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "此参数的选择列表"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "已启用"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
-msgstr ""
+msgstr "此参数模板是否启用?"
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "参数"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "参数"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "无效的参数值选择"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
-msgstr ""
+msgstr "为附件指定的模型类型无效"
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
-msgstr ""
+msgstr "型号ID"
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
-msgstr ""
+msgstr "此参数的目标模型的 ID"
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "模板"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
-msgstr ""
+msgstr "参数模板"
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "数据"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "参数值"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "备注"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "可选注释字段"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "扫描条码"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "条码数据"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "扫描条码的用户"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "时间戳"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "扫描条形码的日期和时间"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "处理条码的 URL 端点"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "上下文"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "扫描条形码的上下文数据"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "响应"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "扫描条形码的响应数据"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "结果"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "条码扫描成功吗?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "发生错误"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8:邮件日志删除受保护。需设置 INVENTREE_PROTECT_EMAIL_LOG 为 False 以允许删除。"
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "电子邮件信息"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "电子邮箱信息"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "已发布"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "已发送"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "失败"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "已送达"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "已确认"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "入站"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "出站"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "暂无回复消息"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "跟踪交付"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "已读追踪"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "点击追踪"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "全局ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "此消息的标识符 (可能由外部系统提供)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "主题 ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "此消息主题的标识符 (可能由外部系统提供)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "主题"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "链接到此消息的主题"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr "优先级"
+msgstr "优先"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "邮件主题"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "邮件主题"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "键"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "此主题的唯一密钥 (用于识别主题)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "此主题的唯一标识符"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "内部服务已启动"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "该线程是否为内部启动的?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "创建主题的日期和时间"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "主题最后更新的日期和时间"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} 已取消"
msgid "A order that is assigned to you was canceled"
msgstr "分配给您的订单已取消"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "收到的物品"
@@ -2351,93 +2359,101 @@ msgstr "已根据采购订单收到物品"
msgid "Items have been received against a return order"
msgstr "已收到退货订单中的物品"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr "指示是否更改此设置需要确认"
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr "此设置需要确认后才能更改。请确认更改。"
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "表示设置是否被环境变量覆盖"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "覆盖"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "正在运行"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "等待完成的任务"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "预定的任务"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "失败的任务"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "任务ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "唯一任务ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "锁定"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "锁定时间"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "任务名称"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "功能"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "功能名称"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "参数"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "任务参数"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "关键字参数"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "任务关键词参数"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "文件名"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "模型类型"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "用户无权为此模式创建或编辑附件"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
-msgstr ""
+msgstr "用户没有权限为此模型创建或编辑参数"
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "选择列表已锁定"
@@ -2445,1128 +2461,1157 @@ msgstr "选择列表已锁定"
msgid "No group"
msgstr "无分组"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "网站 URL 已配置为锁定"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "需要重启"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "设置已更改,需要服务器重启"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "等待迁移"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "待处理的数据库迁移数"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "活动的警告代码"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "活跃警告代码的字典"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "实例ID"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "此 InvenTree 实例的唯一标识符"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "公告 ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "在服务器状态信息中公开实例ID(未认证状态下)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "服务器实例名称"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "服务器实例的字符串描述符"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "使用实例名称"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "在标题栏中使用实例名称"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "限制显示 `关于` 信息"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "只向超级管理员显示关于信息"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "公司名称"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "内部公司名称"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "基本 URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "服务器实例的基准 URL"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "默认货币"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "系统价格计算使用的基准货币"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "支持币种"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "支持的货币代码列表"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "货币更新间隔时间"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "检查更新的频率(设置为零以禁用)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "天"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "币种更新插件"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "使用货币更新插件"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "从URL下载"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "允许从外部 URL 下载远程图片和文件"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "下载大小限制"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "远程图片的最大允许下载大小"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "用于从 URL 下载的 User-agent"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "允许覆盖用于从外部 URL 下载图片和文件的 user-agent(留空为默认值)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "严格的 URL 验证"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "验证 URL 时需要 schema 规范"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "更新检查间隔"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "检查更新的频率(设置为零以禁用)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "自动备份"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "启用数据库和媒体文件的自动备份"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "自动备份间隔"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "指定自动备份之间的间隔天数"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "任务删除间隔"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "后台任务结果将在指定天数后删除"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "错误日志删除间隔"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "错误日志将在指定天数后被删除"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "通知删除间隔"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "用户通知将在指定天数后被删除"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "邮件自动清理周期"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "邮件将在指定天数后删除"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "保护邮件日志"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "防止邮件日志条目被删除"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "条形码支持"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "在网页界面启用条形码扫描器支持"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "存储条形码结果"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "存储条形码扫描结果"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "条形码扫描最大计数"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "保存的条形码扫描结果的最大数量"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "条形码扫描延迟设置"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "条形码输入处理延迟时间"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "启用摄像头扫码支持"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "允许通过网络摄像头扫描条形码"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "显示条形码数据"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "在浏览器中将条形码数据显示为文本"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "条形码生成插件"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "用于内部条形码数据生成的插件"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "零件修订"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "启用零件修订字段"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "仅限装配修订版本"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "仅允许对装配零件进行修订"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "允许从装配中删除"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "允许删除已在装配中使用的零件"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN(内部零件号)正则规则"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "用于匹配IPN(内部零件号)格式的正则表达式"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "允许重复的 IPN(内部零件号)"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "允许多个零件共享相同的 IPN(内部零件号)"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "允许编辑 IPN(内部零件号)"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "允许编辑零件时更改IPN(内部零件号)"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "复制零件物料清单数据"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "复制零件时默认复制物料清单数据"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "复制零件参数数据"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "复制零件时默认复制参数数据"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "复制零件测试数据"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "复制零件时默认复制测试数据"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "复制类别参数模板"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "创建零件时复制类别参数模板"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "零件默认为模板"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "默认情况下,元件可由其他零件组装而成"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "组件"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "默认情况下,零件可用作子部件"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "可购买"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "默认情况下可购买零件"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "可销售"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "零件默认为可销售"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "默认情况下可跟踪零件"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "虚拟的"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "默认情况下,零件是虚拟的"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "显示关联零件"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "显示零件的关联零件"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "允许创建初始库存"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "允许在添加新零件时创建初始库存数据"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "允许创建供应商数据"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "允许在添加新零件时创建初始供应商数据"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "零件名称显示格式"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "显示零件名称的格式"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "零件类别默认图标"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "零件类别默认图标 (空表示没有图标)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "最小定价小数位数"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "呈现定价数据时显示的最小小数位数"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "最大定价小数位数"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "呈现定价数据时显示的最大小数位数"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "使用供应商定价"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "将供应商的批发价纳入整体价格计算"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "采购历史价优先"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "当存在历史采购订单价格时,将忽略供应商的批发价"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "使用库存项定价"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "使用手动输入的库存数据进行定价计算"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "库存项目定价时间"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "从定价计算中排除超过此天数的库存项目"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "使用变体定价"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "将产品变体的特殊定价纳入整体价格计算"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "仅限活跃变体"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "仅使用活跃变体零件计算变体价格"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "自动更新定价"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "当内部数据变化时自动更新零件价格"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "价格重建间隔"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "零件价格自动更新前的天数"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "内部价格"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "为零件启用内部核算价格功能"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "内部价格优先"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "若存在内部价格,将覆盖BOM价格区间计算结果"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "启用标签打印功能"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "启用从网络界面打印标签"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "标签图片 DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "启用报告"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "启用报告生成"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "调试模式"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "以调试模式生成报告(HTML 输出)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "日志错误报告"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "记录生成报告时出现的错误"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "页面大小"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "PDF 报告默认页面大小"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "强制参数单位"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "如果提供了单位,参数值必须与指定的单位匹配"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "全局唯一序列号"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "库存项的序列号必须全局唯一"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "删除已耗尽的库存"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "设置库存耗尽时的默认行为"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "批号模板"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "为库存项生成默认批号的模板"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "库存过期"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "启用库存过期功能"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "库存临期预警天数"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "库存项过期前被标记为\"临期\"的天数"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "允许使用过期库存"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "允许在生产中使用已过期的库存"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "库存所有权管控"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "启用对库存地点和库存物品的归属权管理"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "库存地点默认图标"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "库存地点默认图标 (空表示没有图标)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "显示已安装的库存项"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "在库存列表中显示已被安装到设备中的库存项"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "在安装项目时检查物料清单"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "已安装的库存项目必须存在于上级零件的物料清单中"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "允许零库存调拨"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "允许对当前库存量为零的物品执行库位间调拨操作"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "生产订单参考模式"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "生成生产订单参考字段所需的模式"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "要求负责人"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "必须为每个订单分配一个负责人"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "需要活动零件"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "防止为非活动零件创建生产订单"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "需要锁定零件"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "防止为未锁定的零件创建生产订单"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "需要有效的物料清单"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "除非物料清单已验证,否则禁止创建生产订单"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "需要关闭子订单"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "在所有子订单关闭之前,阻止生产订单的完成"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "外部生产订单"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "启用外部生产订单功能"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "阻止直到测试通过"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "在所有必要的测试通过之前,阻止产出完成"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "启用订单退货"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "在用户界面中启用订单退货功能"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "退货订单参考模式"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "生成退货订单参考字段所需的模式"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "编辑已完成的退货订单"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "允许编辑已完成的退货订单"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "销售订单参考模式"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "生成销售订单参考字段所需参照模式"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "销售订单默认配送方式"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "启用创建销售订单的默认配送功能"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "编辑已完成的销售订单"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "允许在订单配送或完成后编辑销售订单"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr "货件需核对"
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr "只有所有物品均经核对,才能确认发货完成"
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "标记该订单为已完成?"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "采购订单参考模式"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "生成采购订单参考字段所需的模式"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "编辑已完成的采购订单"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "允许在采购订单已配送或完成后编辑订单"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "货币转换"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "收货时将物料价值折算为基准货币"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "自动完成采购订单"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "当收到所有行项目时,自动将采购订单标记为完成"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "忘记启用密码"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "在登录页面上启用忘记密码功能"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "启用注册"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "在登录页面为用户启用自行注册功能"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "启用SSO登录"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "在登录页面启用单点登录(SSO)功能"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "启用SSO注册"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "允许用户通过登录页面的SSO系统注册账号"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "启用SSO组同步"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "启用后,将自动同步InvenTree用户组与身份提供商(IdP)提供的用户组"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "SSO组属性键"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "身份提供商(IdP)返回的组信息声明属性名称"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "SSO组映射关系"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "将SSO用户组映射到本地InvenTree用户组的对应关系表。如果本地组不存在,系统会自动创建对应的用户组。"
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "移除非SSO来源的用户组"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "当用户组未被身份提供商(IdP)支持时,是否移除该用户组。禁用此选项可能导致安全风险"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "必须提供邮箱"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "用户注册时必须提供邮箱"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "自动填充SSO用户信息"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "自动从SSO账户数据中填充用户详细信息"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "发两次邮件"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "注册时询问用户他们的电子邮件两次"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "两次输入密码"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "当注册时请用户输入密码两次"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "域名白名单"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "限制注册到某些域名 (逗号分隔,以 @ 开头)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "注册默认分组"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "新用户注册时被分配的默认用户组。 如果启用了SSO组同步功能,当无法从身份提供商(IdP)分配组时才会应用此分组。"
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "强制启用多因素安全认证"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "用户必须使用多因素安全认证。"
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr "启用此设置将要求所有用户设置多元素认证。所有会话将立即断开连接。"
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "启动时检查插件"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "启动时检查全部插件是否已安装 - 在容器环境中启用"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "检查插件更新"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "启用定期检查已安装插件的更新"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "启用统一资源定位符集成"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "启用插件以添加统一资源定位符路由"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "启用导航集成"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "启用插件以集成到导航中"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "启用应用集成"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "启用插件添加应用"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "启用调度集成"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "启用插件来运行预定任务"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "启用事件集成"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "启用插件响应内部事件"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "启用界面集成"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "启用插件集成到用户界面"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "启用邮件集成"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "启用插件来处理发送/接收邮件"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "启用项目编码"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "启用项目编码来跟踪项目"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "启用库存历史"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr "启用盘点"
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "启用历史库存水平及价值记录功能"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "排除外部地点"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "在库存历史统计中排除外部库位的库存项"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "自动盘点周期"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "自动记录库存历史的间隔天数"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "删除旧的库存历史记录"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "删除超过指定天数的库存历史记录"
+#: common/setting/system.py:1135
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "库存历史删除间隔"
+#: common/setting/system.py:1141
+msgid "Stocktake Deletion Interval"
+msgstr ""
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "库存历史记录将在指定天数后删除"
+#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
-#: common/setting/system.py:1123
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr ""
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
msgid "Display Users full names"
msgstr "显示用户全名"
-#: common/setting/system.py:1124
+#: common/setting/system.py:1168
msgid "Display Users full names instead of usernames"
msgstr "显示用户全名而不是用户名"
-#: common/setting/system.py:1129
+#: common/setting/system.py:1173
msgid "Display User Profiles"
msgstr "显示用户配置"
-#: common/setting/system.py:1130
+#: common/setting/system.py:1174
msgid "Display Users Profiles on their profile page"
msgstr "在用户个人资料页展示其档案信息"
-#: common/setting/system.py:1135
+#: common/setting/system.py:1179
msgid "Enable Test Station Data"
msgstr "启用测试站数据"
-#: common/setting/system.py:1136
+#: common/setting/system.py:1180
msgid "Enable test station data collection for test results"
msgstr "启用测试站数据收集以获取测试结果"
-#: common/setting/system.py:1141
+#: common/setting/system.py:1185
msgid "Enable Machine Ping"
msgstr "启用设备状态检测"
-#: common/setting/system.py:1143
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr "启用定期 Ping 检测,确认注册设备的运行状态"
@@ -3596,11 +3641,11 @@ msgstr "在浏览器中显示PDF报告,而不是作为文件下载"
#: common/setting/user.py:45
msgid "Barcode Scanner in Form Fields"
-msgstr ""
+msgstr "表格字段中的条形码扫描器"
#: common/setting/user.py:46
msgid "Allow barcode scanner input in form fields"
-msgstr ""
+msgstr "允许条形码扫描器输入表单字段"
#: common/setting/user.py:51
msgid "Search Parts"
@@ -3870,7 +3915,7 @@ msgstr "为用户保存上次使用的打印设备"
#: common/validators.py:38
msgid "All models"
-msgstr ""
+msgstr "全部型号"
#: common/validators.py:63
msgid "No attachment model type provided"
@@ -3913,366 +3958,370 @@ msgstr "零件已激活"
msgid "Manufacturer is Active"
msgstr "制造商处于活动状态"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "供应商零件处于激活状态"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "内部零件已激活"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "供应商已激活"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "制造商"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "公司"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "有库存"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "公司"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "公司简介"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "公司简介"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "网站"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "公司网站"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "电话号码"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "联系电话"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "联系人电子邮箱地址"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "联系人"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "联络点"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "外部公司信息链接"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "这家公司是否激活?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "是客户"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "你是否向该公司出售商品?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "是否为供应商"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "你从这家公司买东西吗?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "是制造商吗"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "这家公司生产零件吗?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "此公司使用的默认货币"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "税号"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "公司税号"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "地址"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "地址"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "选择公司"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "地址标题"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "描述地址条目的标题"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "主要地址"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "设置主要地址"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "第1行"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "地址行1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "第2行"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "地址行2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "邮政编码"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "城市/地区"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "邮政编码城市/地区"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "省/市/自治区"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "省、自治区或直辖市"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "国家/地区"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "地址所在国家"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "快递运单"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "运输快递注意事项"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "内部装运通知单"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "内部使用的装运通知单"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "链接地址信息 (外部)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "制造商零件"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "基础零件"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "选择零件"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "制造商零件编号"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "制造商零件编号"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "外部制造商零件链接的URL"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "制造商零件说明"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "包装单位必须与基础零件单位兼容"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "包装单位必须大于零"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "链接的制造商零件必须引用相同的基础零件"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "供应商库存管理单位"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "此供应商零件是否处于活动状态?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "选择制造商零件"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "外部供应商零件链接的URL"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "供应商零件说明"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "基本费用"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低费用(例如库存费)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "打包"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "零件打包"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "包装数量"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "单包供应的总数量。为单个项目留空。"
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "多个"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "订购多个"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "供应商提供的数量"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "可用性已更新"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "上次更新可用性数据的日期"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "供应商批发价"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "返回主地址的字符串表示形式。此属性为向后兼容而保留。"
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "此供应商使用的默认货币"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "公司名称"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "有库存"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr "批发价"
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "数据导出过程中发生错误"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "数据导出插件返回的数据格式不正确"
@@ -4320,119 +4369,119 @@ msgstr "放置"
msgid "Invalid status code"
msgstr "无效状态码"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "数据文件"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "要导入的数据文件"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "列"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "本次导入会话的目标模型类型"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "导入状态"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "字段默认值"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "字段覆盖"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "字段筛选器"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "更新现有记录"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "若启用,现有记录将被新数据更新"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "某些必填字段尚未映射"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "记录的现有数据库标识符"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "列已映射到数据库字段"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "字段已映射到数据列"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "列映射必须链接到有效的导入会话"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "数据文件中不存在列"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "目标模型中不存在字段"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "所选字段为只读"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "导入会话"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "字段"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "列"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "行索引"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "原始行数据"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "错误"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "有效"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "更新现有记录需要提供ID。"
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr "没有找到与提供的ID相关的记录"
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr "提供的ID格式无效"
@@ -4532,7 +4581,7 @@ msgstr "每个标签要打印的份数"
msgid "Connected"
msgstr "已连接"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "未知"
@@ -4660,105 +4709,117 @@ msgstr "最大进度"
msgid "Maximum value for progress type, required if type=progress"
msgstr "进度类型的最大值。当 type=progress 时为必填项"
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "订单参考"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "未完成"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "有项目编码"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "创建人"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "创建时间早于"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "创建时间晚于"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "有开始日期"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "开始日期早于"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "开始日期晚于"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "有目标日期"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "目标日期早于"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "目标日期晚于"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr "更新时间早于"
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr "更新时间晚于"
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "有定价"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "完成时间早于"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "完成时间晚于"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "外部生产订单"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "订单"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "订单完成"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "内部零件"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "订单待定"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "已完成"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "有配送"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "采购订单"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4766,8 +4827,8 @@ msgstr "采购订单"
msgid "Sales Order"
msgstr "销售订单"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4783,722 +4844,742 @@ msgstr "总价格"
msgid "Total price for this order"
msgstr "此订单的总价"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "订单货币"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "此订单的货币 (留空以使用公司默认值)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "该订单已锁定,不可修改"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "联系人与所选公司不匹配"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "开始日期必须早于目标日期"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
msgstr "地址与所选公司不匹配"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "订单描述 (可选)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "为此订单选择项目编码"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "链接到外部页面"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "开始日期"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "本订单的预定开始日期"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "预计日期"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "订单交付的预期日期。订单将在此日期后过期。"
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "签发日期"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "订单发出日期"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr "更新时间"
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "负责此订单的用户或组"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "此订单的联系人"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "此订单的公司地址"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "订单参考"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "狀態"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "采购订单状态"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "订购物品的公司"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "供应商参考"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "供应商订单参考代码"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "接收人"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "订单完成日期"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "目的地"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "接收物品的目标"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "零件供应商必须与采购订单供应商匹配"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "行项目与采购订单不匹配"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "行项目缺少关联零件"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "数量必须是正数"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "客户"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "出售物品的公司"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "销售订单状态"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "客户参考 "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "客户订单参考代码"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "发货日期"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "发货人"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "订单已完成"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "订单已取消"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "只有未结订单才能标记为已完成"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "由于发货不完整,订单无法完成"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "由于缺货,订单无法完成"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "订单无法完成,因为行项目不完整"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "订单已锁定,不可修改"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "项目数量"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "行项目参考"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "行项目注释"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "此行项目的目标日期 (留空以使用订单中的目标日期)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "行项目描述 (可选)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "此行的附加上下文"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "单位价格"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "采购订单行项目"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "供应商零件必须与供应商匹配"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "生产订单必须标记为外部"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "生产订单仅可关联至装配零件"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "生产订单零件必须与行项目零件一致"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "供应商零件"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "已接收"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "收到的物品数量"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "每单位的采购价格"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "外部生产订单需由此行项目履行"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "采购订单附加行"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "销售订单行项目"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "只有可销售的零件才能分配给销售订单"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "售出价格"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "单位售出价格"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "已配送"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "发货数量"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "销售订单发货"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
msgstr "收货地址必须与该客户的资料一致"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
msgstr "本次发货的收货地址"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "发货日期"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "送达日期"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "装运交货日期"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "审核人"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "检查此装运的用户"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "配送"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "配送单号"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "跟踪单号"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "配送跟踪信息"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "发票编号"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "相关发票的参考号"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "货物已发出"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "发货没有分配库存项目"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr "货件必须先经核对,方可标记为完成"
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "销售订单加行"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "销售订单分配"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "库存项目尚未分配"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "无法将库存项目分配给具有不同零件的行"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "无法将库存分配给没有零件的生产线"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "分配数量不能超过库存数量"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "分配的数量必须大于零"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "序列化库存项目的数量必须为1"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "销售订单与发货不匹配"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "发货与销售订单不匹配"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "行"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "销售订单发货参考"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "项目"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "选择要分配的库存项目"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "输入库存分配数量"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "退货订单参考"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "退回物品的公司"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "退货订单状态"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "退货订单行项目"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "必须指定库存项"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "退回数量超过库存数量"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "退回数量必须大于零"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "序列化库存项的数量无效"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "选择要从客户处退回的商品"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "接收日期"
-#: order/models.py:3025
-msgid "The date this this return item was received"
+#: order/models.py:3041
+msgid "The date this return item was received"
msgstr "收到此退货的日期"
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "结果"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "该行项目的结果"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "与此行项目的退货或维修相关的成本"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "退货订单附加行"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "订单ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "要复制的订单ID"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "复制行"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "从原始订单复制行项目"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "复制额外行"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "从原始订单复制额外的行项目"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "复制参数"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "行项目"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "已完成行项目"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "复制订单"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "指定复制此订单的选项"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "订单ID不正确"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "供应商名称"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "订单不能取消"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "允许关闭行项目不完整的订单"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "订单中的行项目不完整"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "订单未打开"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "自动定价"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "根据供应商零件数据自动计算采购价格"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "购买价格货币"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "合并项目"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "库存量单位"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "内部零件编号"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "内部零件名称"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "必须指定供应商零件"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "必须指定采购订单"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "供应商必须匹配采购订单"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "采购订单必须与供应商匹配"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "行项目"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "为收到的物品选择目的地位置"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "输入入库项目的批号"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "有效期至"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "输入入库库存项的有效期"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "输入入库库存项目的序列号"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "覆盖传入库存项目的包装资料"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "传入库存项目的附加说明"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "条形码"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "扫描条形码"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "条形码已被使用"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "必须提供行项目"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "必须指定目标位置"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "提供的条形码值必须是唯一的"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "配送"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "完成配送"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr "已分配的行"
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "售出价格货币"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "已分配的项目"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "未提供装运详细信息"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "行项目与此订单不关联"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "数量必须为正"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "输入要分配的序列号"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "货物已发出"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "发货与此订单无关"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "未找到以下序列号的匹配项"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "以下序列号不可用"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "退货订单行项目"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "行项目与退货订单不匹配"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "行项目已收到"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "只能根据正在进行的订单接收物品"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "退货数量"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "行价格货币"
@@ -5534,1174 +5615,1226 @@ msgstr "退款"
msgid "Reject"
msgstr "拒绝"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "逾期采购订单"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "采购订单 {po} 已逾期"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "逾期销售订单"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "销售订单 {so} 已逾期"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "逾期退货订单"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "退货订单 {ro} 现已逾期"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "已加星标"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "按星标类别筛选"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "深度"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "按类别深度筛选"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "顶级"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "按顶级类别筛选"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "级联"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "在筛选结果中包含子类别"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "父类"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "按父类别筛选"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "排除指定类别下的子类别"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "有结果"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "是变体"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "是修订版本"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "有修订版本"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "物料清单合规"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr "级联分类"
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr "如果为真,则包含给定分类下的所有子分类中的项目"
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr "按数字分类ID或字面值 \"null\" 进行筛选"
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr "装配零件已启用"
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr "装配零件可追踪"
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "装配部份是可测试的"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr "元器件已激活"
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "组件部份是可测试的"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr "有可用库存"
+
+#: part/api.py:1370
msgid "Uses"
msgstr "使用"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "零件类别"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "零件类别"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "默认位置"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "此类别零件的默认库存地点"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "结构性"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。"
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "默认关键字"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "此类别零件的默认关键字"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "图标"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "图标(可选)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "您不能使这个零件类别结构化,因为有些零件已经分配给了它!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "零件类别参数模板"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "默认参数值"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "零件"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
-msgstr ""
+msgstr "无法删除已锁定零件的参数"
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
-msgstr ""
+msgstr "无法修改已锁定零件的参数"
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "无法删除这个零件,因为它已被锁定"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "无法删除这个零件,因为它仍然处于活动状态"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "无法删除这个零件,因为它被使用在了装配中"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清单 (递归)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清单 (递归)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "内部零件号必须匹配正则表达式 {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "零件不能是对自身的修订"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "无法对已经是修订版本的零件进行修订"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "必须指定修订代码"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "修订仅对装配零件允许"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "无法对模版零件进行修订"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "上级零件必须指向相同的模版"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "该序列号库存项己存在"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "在零件设置中不允许重复的内部零件号"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "重复的零件修订版本已经存在。"
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "有这个名字,内部零件号,和修订版本的零件已经存在"
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "零件不能分配到结构性零件类别!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "零件名称"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "是模板"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "这个零件是一个模版零件吗?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "这个零件是另一零件的变体吗?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "变体"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "零件描述(可选)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "关键词"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的零件关键字"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "零件类别"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "内部零件号 IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "零件修订版本或版本号"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "版本"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "这零件是另一零件的修订版本吗?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "修订版本"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "该物品通常存放在哪里?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "默认供应商"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "默认供应商零件"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "默认到期"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "此零件库存项的过期时间 (天)"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "允许的最小库存量"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "此零件的计量单位"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "这个零件可由其他零件加工而成吗?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "这个零件可用于创建其他零件吗?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "此零件是否有唯一物品的追踪功能"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "这一部件能否记录到测试结果?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "这个零件可从外部供应商购买吗?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "此零件可以销售给客户吗?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "这个零件是否已激活?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "无法编辑锁定的零件"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟零件,例如一个软件产品或许可证吗?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "物料清单已验证"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "该零件的物料清单是否通过验证?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "物料清单校验和"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "保存的物料清单校验和"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "物料清单检查人"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "物料清单检查日期"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "此零件的负责人"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "出售多个"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "用于缓存定价计算的货币"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "最低物料清单成本"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "元件的最低成本"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "物料清单的最高成本"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "元件的最高成本"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "最低购买成本"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "最高历史购买成本"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "最大购买成本"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "最高历史购买成本"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "最低内部价格"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "基于内部批发价的最低成本"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "最大内部价格"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "基于内部批发价的最高成本"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "供应商最低价格"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "外部供应商零件的最低价格"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "供应商最高价格"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "来自外部供应商的商零件的最高价格"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "最小变体成本"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "计算出的变体零件的最低成本"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "最大变体成本"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "计算出的变体零件的最大成本"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "最低成本"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "覆盖最低成本"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "最高成本"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "覆盖最大成本"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "计算总最低成本"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "计算总最大成本"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "最低售出价格"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "基于批发价的最低售出价格"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "最高售出价格"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "基于批发价的最大售出价格"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "最低销售成本"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "历史最低售出价格"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "最高销售成本"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "历史最高售出价格"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "用于盘点的零件"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "物品数量"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "盘点时的个别库存条目数"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "盘点时可用库存总额"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "日期"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "进行盘点的日期"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "最低库存成本"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "现有存库存最低成本估算"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "最高库存成本"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "目前库存最高成本估算"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "零件售出价格折扣"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "零件测试模板"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "模板名称无效 - 必须包含至少一个字母或者数字"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "测试模板只能为可拆分的部件创建"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "零件已存在具有相同主键的测试模板"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "测试名"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "输入测试的名称"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "测试主键"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "简化测试主键"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "测试说明"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "输入测试的描述"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "此测试是否已启用?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "必须的"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "需要此测试才能通过吗?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "需要值"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "添加测试结果时是否需要一个值?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "需要附件"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "添加测试结果时是否需要文件附件?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "此测试的有效选择 (逗号分隔)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "物料清单项目不能被修改 - 装配已锁定"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "物料清单项目不能修改 - 变体装配已锁定"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "选择父零件"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "子零件"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "选择要用于物料清单的零件"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "此物料清单项目的数量"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "此物料清单项目是可选的"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "设置数量"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "为补偿生产准备损耗所需的额外数量"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "损耗"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "生产预估损耗率(百分比,0-100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "舍入倍数"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "将所需生产数量向上舍入至该值的最接近倍数"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "物料清单项目引用"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "物料清单项目注释"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "校验和"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "物料清单行校验和"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "已验证"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "此物料清单项目已验证"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "获取继承的"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "此物料清单项目是由物料清单继承的变体零件"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "变体零件的库存项可以用于此物料清单项目"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "可追踪零件的数量必须是整数"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "必须指定子零件"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "物料清单项目替代品"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "替代品零件不能与主零件相同"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "上级物料清单项目"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "替代品零件"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "零件 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "零件2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "选择相关的零件"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "此关系的注释"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "零件关系不能在零件和自身之间创建"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "复制关系已经存在"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "上级类别"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "上级零件类别"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "子类别"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "结果"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "根据该模板记录的结果数量"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "购买此库存项的货币"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "文件不是一个图片"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "原始零件"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "选择要复制的原始零件"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "复制图片"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "从原零件复制图片"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "复制物料清单"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "从原始零件复制材料清单"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "复制参数"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "从原始零件复制参数数据"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "复制备注"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "从原始零件复制备注"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "复制测试"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "从原始零件复制测试模板"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "初始化库存数量"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。"
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "初始化库存地点"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "初始化指定此零件的库存地点"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "选择供应商(或为空以跳过)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "选择制造商(或为空)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "制造商零件号"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "所选公司不是一个有效的供应商"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "所选公司不是一个有效的制造商"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "匹配此库存单位 (SKU) 的供应商零件已存在"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "类别名称"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "正在生产"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "目前正在生产的零件数量"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "此零件计划待产数量"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "库存项"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "修订"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "供应商"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "库存总量"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "未分配的库存"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "变体库存"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "重复零件"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "从另一个零件复制初始数据"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "初始库存"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "创建具有初始库存数量的零件"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "供应商信息"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "添加此零件的初始供应商信息"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "从选择的零件复制参数模版"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "现有的图片"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "现有零件图片的文件名"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "图片不存在"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "验证整个物料清单"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "可以创建"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "生产订单必填项"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "分配到生产订单"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "销售订单必填项"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "分配到销售订单"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr "内部零件号"
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr "零件描述"
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "生成报告"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "最低价格"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "覆盖已计算的最低价格值"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "最低价格货币"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "最高价格"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "覆盖已计算的最高价格值"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "最高价格货币"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "更新"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "更新这个零件的价格"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "无法将所提供的货币转换为 {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "最低价格不能高于最高价格。"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "最高价格不能低于最低价格"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "选择父装配"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "选择零部件"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "选择要复制物料清单的零件"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "移除现有数据"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "复制前删除现有的物料清单项目"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "包含继承的"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "包含从模板零件继承的物料清单项目"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "跳过无效行"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "启用此选项以跳过无效行"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "复制替代品零件"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "复制物料清单项目时复制替代品零件"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "低库存通知"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "可用的 {part.name}库存已经跌到设置的最低值"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "到期库存通知"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "您有1个库存项即将到期"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "您有{item_count}个库存项即将到期"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "永久有效"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "已过期 {abs(days_diff)} 天"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "今天到期"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "{days_until_expiry}天"
@@ -6734,108 +6867,108 @@ msgstr "未指定操作"
msgid "No matching action found"
msgstr "未找到指定操作"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "未找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "不支持模型"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "找不到模型实例"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "条形码匹配现有项目"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "没有找到匹配的零件数据"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "没有找到匹配的供应商零件"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "找到多个匹配的供应商零件"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "没有找到匹配条形码数据的插件"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "匹配的供应商零件"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "项目已被接收"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "没有匹配供应商条形码的插件"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "找到多个匹配的行项目"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "未找到匹配的行项目"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "未提供销售订单"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "条形码与现有的库存项不匹配"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "库存项与行项目不匹配"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "可用库存不足"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "库存项已分配到销售订单"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "没有足够的信息"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "找到匹配的项目"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "供应商零件与行项目不匹配"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "行项目已完成"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "需要更多信息以接收行项目"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "已收到采购订单行项目"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "接收行项目失败"
@@ -6974,7 +7107,7 @@ msgstr "提供条形码本地支持"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7072,111 +7205,111 @@ msgstr "补发追溯订单"
msgid "Automatically issue orders that are backdated"
msgstr "自动补发追溯订单"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "等级"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "导出的层级数 - 设置为零以导出所有物料清单层级"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "总数量"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "在物料清单中包含每个零件的总数量"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "库存数据"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "包括零件库存数据"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "定价数据"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "包括零件定价数据"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "供应商数据"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "包括供应商数据"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "制造商数据"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "包含制造商数据"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "替代品数据"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "包含替代零件数据"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "参数数据"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "包含零件参数数据"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "多层级物料清单导出器"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "支持多层物料清单导出功能"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "物料清单层级"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "替代品 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "供应商 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "供应商 {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "供应商 {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "制造商 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "制造商 {n} MPN"
@@ -7191,19 +7324,19 @@ msgstr "支持从InvenTree导出数据"
#: plugin/builtin/exporter/parameter_exporter.py:16
msgid "Exclude Inactive"
-msgstr ""
+msgstr "排除未激活的"
#: plugin/builtin/exporter/parameter_exporter.py:17
msgid "Exclude parameters which are inactive"
-msgstr ""
+msgstr "排除未激活的参数"
#: plugin/builtin/exporter/parameter_exporter.py:29
msgid "Parameter Exporter"
-msgstr ""
+msgstr "参数导出"
#: plugin/builtin/exporter/parameter_exporter.py:30
msgid "Exporter for model parameter data"
-msgstr ""
+msgstr "模型参数数据导出器"
#: plugin/builtin/exporter/stocktake_exporter.py:25
msgid "Include External Stock"
@@ -7278,7 +7411,7 @@ msgid "Integrated Slack notification methods"
msgstr "已集成Slack通知方法"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
+msgid "Slack incoming webhook URL"
msgstr "Slack传入Webhook url"
#: plugin/builtin/integration/core_notifications.py:132
@@ -7356,11 +7489,11 @@ msgstr "InvenTree 设备标签打印机"
msgid "Provides support for printing using a machine"
msgstr "提供使用设备打印的支持"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "最近使用"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "选项"
@@ -7538,7 +7671,7 @@ msgid "Key of plugin"
msgstr "插件的键"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
+msgid "Name of the plugin"
msgstr "插件名称"
#: plugin/models.py:62 plugin/serializers.py:119
@@ -7573,21 +7706,21 @@ msgstr "软件包插件"
msgid "Plugin"
msgstr "插件"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "未找到作者"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "插件 '{p}' 与当前 InvenTree 版本{v} 不兼容"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "插件所需最低版本 {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "插件所需最高版本 {v}"
@@ -7765,7 +7898,7 @@ msgid "Installation not confirmed"
msgstr "安装尚未确认"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
+msgid "Either packagename or URL must be provided"
msgstr "必须提供软件包名称或者URL"
#: plugin/serializers.py:188
@@ -8074,7 +8207,7 @@ msgstr "总计"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "序列号"
@@ -8099,7 +8232,7 @@ msgstr "库存项测试报告"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "已安装的项目"
@@ -8132,495 +8265,519 @@ msgstr "无结果 (必填)"
msgid "No result"
msgstr "没有结果"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "资产文件不存在"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "找不到图片文件"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "parpart_image 标签需要一个零件实例"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "公司_图片标签需要一个公司实例"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "按位置深度筛选"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "按顶级位置筛选"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "在筛选结果中包含子地点"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "上级地点"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "按上级位置筛选"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "零件名称 (不区分大小写)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "零件名称包含 (不区分大小写)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "零件名称 (正则表达式)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "内部零件号 (不区分大小写)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "内部零件号 (不区分大小写)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "内部零件号 (正则表达式)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "最低库存"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "最大库存"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "状态代码"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "外部地点"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "被生产订单消耗"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "安装于其他库存项中"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "零件树"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "更新时间早于"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "更新时间晚于"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "盘点时间早于"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "盘点时间晚于"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "过期日期前"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "过期日期后"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "过期"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr "提供库存项的主键(PK)以排除该项及其所有子项"
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr "级联位置"
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr "若为真,则包含给定位置的所有子位置中的项目"
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr "按数字位置ID或字母“null”筛选"
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "请先输入数量"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "必须提供有效的零件"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "给定的供应商零件不存在"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "供应商零件有定义的包装大小,但 use_pack_size 标志未设置"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "不能为不可跟踪的零件提供序列号"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr "包含已安装项"
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr "如果为真,则包含给定库存项下已安装组件的测试结果"
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
msgstr "按数字库存项ID进行筛选"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
msgstr "ID 为 {id} 的库存项不存在"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "包含零件变体"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "日期晚于"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "日期早于"
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "库存地点类型"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "库存地点类型"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "为所有没有图标的位置设置默认图标(可选)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "库存地点"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "库存地点"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "所有者"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "选择所有者"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "库存项可能不直接位于结构库存地点,但可能位于其子地点。"
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "外部"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "这是一个外部库存地点"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "位置类型"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "该位置的库存地点类型"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "您不能将此库存地点设置为结构性,因为某些库存项已经位于它!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "{field} 不存在"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "必须指定零件"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "库存项不能存放在结构性库存地点!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "无法为虚拟零件创建库存项"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "零件类型 ('{self.supplier_part.part}') 必须为 {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "有序列号的项目的数量必须是1"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "如果数量大于1,则不能设置序列号"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "项目不能属于其自身"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "如果is_building=True,则项必须具有构建引用"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "构建引用未指向同一零件对象"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "父级库存项"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "基础零件"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "为此库存项目选择匹配的供应商零件"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "这个库存物品在哪里?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "包装此库存物品存储在"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "安装于"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "此项目是否安装在另一个项目中?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "此项目的序列号"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "此库存项的批号"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "库存数量"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "源代码构建"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "为此库存项目构建"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "消费者"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "构建消耗此库存项的生产订单"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "采购订单来源"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "此库存商品的采购订单"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "目的地销售订单"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "库存物品的到期日。在此日期之后,库存将被视为过期"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "耗尽时删除"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "当库存耗尽时删除此库存项"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "购买时一个单位的价格"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "转换为零件"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "数量超过可用库存"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "零件未设置为可跟踪"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "数量必须是整数"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "数量不得超过现有库存量 ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "必须以列表形式提供序列号"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "数量不匹配序列号"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
msgstr "无法将库存分配到结构位置"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "测试模板不存在"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "库存项已分配到销售订单"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "库存项已安装在另一个项目中"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "库存项包含其他项目"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "库存项已分配给客户"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "库存项目前正在生产"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "序列化的库存不能合并"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "复制库存项"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "库存项必须指相同零件"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "库存项必须是同一供应商的零件"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "库存状态码必须匹配"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "库存项不能移动,因为它没有库存"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "库存项跟踪"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "条目注释"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "库存项测试结果"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "必须为此测试提供值"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "测试附件必须上传"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "此测试的值无效"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "测试结果"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "测试输出值"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "测验结果附件"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "测试备注"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "测试站"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "进行测试的测试站的标识符"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "已开始"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "测试开始的时间戳"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "已完成"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "测试结束的时间戳"
@@ -8664,246 +8821,246 @@ msgstr "选择要生成序列号的零件"
msgid "Quantity of serial numbers to generate"
msgstr "要生成的序列号的数量"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "此结果的测试模板"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
msgstr "未找到适用于此零件的匹配测试"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "必须提供模板 ID 或测试名称"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "测试完成时间不能早于测试开始时间"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "父项"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "父库存项"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "添加时使用包装尺寸:定义的数量是包装的数量"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "包装规格"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "输入新项目的序列号"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "供应商零件编号"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "已过期"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "子项目"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "跟踪项目"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "此库存商品的购买价格,单位或包装"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "输入要序列化的库存项目数量"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "未提供库存项"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "数量不得超过现有库存量 ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "目标库存位置"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "此零件不能分配序列号"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "选择要安装的库存项目"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "安装数量"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "输入要安装的项目数量"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "添加交易记录 (可选)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "安装数量必须至少为1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "库存项不可用"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "所选零件不在物料清单中"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "安装数量不得超过可用数量"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "已卸载项目的目标位置"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "选择要将库存项目转换为的零件"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "所选零件不是有效的转换选项"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "无法转换已分配供应商零件的库存项"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "库存项状态代码"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "选择要更改状态的库存项目"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "未选择库存商品"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "子位置"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "上级库存地点"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "零件必须可销售"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "物料已分配到销售订单"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "项目被分配到生产订单中"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "客户分配库存项目"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "所选公司不是客户"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "库存分配说明"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "必须提供库存物品清单"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "库存合并说明"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "允许不匹配的供应商"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "允许合并具有不同供应商零件的库存项目"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "允许不匹配的状态"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "允许合并具有不同状态代码的库存项目"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "必须提供至少两件库存物品"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "无更改"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "库存项主键值"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "库存项无现货"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "库存项已有现货"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "数量不得为负"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "库存交易记录"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "合并至现有库存"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "若可行,将退回项目合并至现有库存项"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "下一个序列号"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "上一个序列号"
@@ -8961,7 +9118,7 @@ msgstr "已手动删除库存"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr "显示已序列化的库存物品"
+msgstr "已序列化的库存物品"
#: stock/status_codes.py:58
msgid "Returned to stock"
@@ -9385,83 +9542,83 @@ msgstr "销售订单"
msgid "Return Orders"
msgstr "退货订单"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "用户名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "用户的名字(不包括姓氏)"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "姓"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "用户的姓氏"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "用户的电子邮件地址"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "职员"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "此用户是否拥有员工权限"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "超级用户"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "此用户是否为超级用户"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "此用户帐户是否已激活"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "只有超级用户可以调整此字段"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "密码"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "用户密码"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "覆盖警告"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "覆盖有关密码规则的警告"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "你没有权限创建用户"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "您的账户已创建。"
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "请使用密码重置功能登录"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "欢迎使用 InvenTree"
diff --git a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po
index 8d082882ef..ab9cc0a734 100644
--- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-12-07 07:33+0000\n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"POT-Creation-Date: 2026-03-21 12:48+0000\n"
+"PO-Revision-Date: 2026-03-21 12:51\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -17,67 +17,59 @@ msgstr ""
"X-Crowdin-File: /src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 250\n"
-#: InvenTree/api.py:358
+#: InvenTree/api.py:365
msgid "API endpoint not found"
msgstr "未找到 API 端點"
-#: InvenTree/api.py:435
-msgid "List of items or filters must be provided for bulk operation"
-msgstr "批次操作必須提供項目列表或篩選條件"
+#: InvenTree/api.py:438
+msgid "List of items must be provided for bulk operation"
+msgstr ""
-#: InvenTree/api.py:442
+#: InvenTree/api.py:445
msgid "Items must be provided as a list"
msgstr "項目必須以列表形式提供"
-#: InvenTree/api.py:450
+#: InvenTree/api.py:453
msgid "Invalid items list provided"
msgstr "提供了無效的單位"
-#: InvenTree/api.py:456
-msgid "Filters must be provided as a dict"
-msgstr "篩選條件必須以字典 (dict) 格式提供"
-
-#: InvenTree/api.py:463
-msgid "Invalid filters provided"
-msgstr "提供了無效的過濾器"
-
-#: InvenTree/api.py:468
+#: InvenTree/api.py:458
msgid "All filter must only be used with true"
msgstr "all 篩選器只能在值為 true 時使用"
-#: InvenTree/api.py:473
+#: InvenTree/api.py:463
msgid "No items match the provided criteria"
msgstr "沒有項目符合所提供的條件"
-#: InvenTree/api.py:497
+#: InvenTree/api.py:487
msgid "No data provided"
msgstr "未提供資料"
-#: InvenTree/api.py:513
+#: InvenTree/api.py:503
msgid "This field must be unique."
-msgstr ""
+msgstr "此欄位須唯一值。"
-#: InvenTree/api.py:803
+#: InvenTree/api.py:805
msgid "User does not have permission to view this model"
msgstr "用户沒有權限查閲當前模型。"
-#: InvenTree/auth_overrides.py:56
+#: InvenTree/auth_overrides.py:58
msgid "Email (again)"
msgstr "電子郵件 (重複)"
-#: InvenTree/auth_overrides.py:60
+#: InvenTree/auth_overrides.py:62
msgid "Email address confirmation"
msgstr "郵箱地址已確認"
-#: InvenTree/auth_overrides.py:83
+#: InvenTree/auth_overrides.py:85
msgid "You must type the same email each time."
msgstr "您必須每次輸入相同的電子郵件。"
-#: InvenTree/auth_overrides.py:125 InvenTree/auth_overrides.py:132
+#: InvenTree/auth_overrides.py:132 InvenTree/auth_overrides.py:139
msgid "The provided primary email address is not valid."
msgstr "提供的主電子郵件地址無效。"
-#: InvenTree/auth_overrides.py:138
+#: InvenTree/auth_overrides.py:145
msgid "The provided email domain is not approved."
msgstr "提供的郵箱域名未被批准。"
@@ -96,7 +88,7 @@ msgid "Could not convert {original} to {unit}"
msgstr "不能將 {original} 轉換到 {unit}"
#: InvenTree/conversion.py:286 InvenTree/conversion.py:300
-#: InvenTree/helpers.py:597 order/models.py:721 order/models.py:1016
+#: InvenTree/helpers.py:610 order/models.py:734 order/models.py:1029
msgid "Invalid quantity provided"
msgstr "提供的數量無效"
@@ -112,13 +104,13 @@ msgstr "輸入日期"
msgid "Invalid decimal value"
msgstr "無效的十進位數值"
-#: InvenTree/fields.py:218 InvenTree/models.py:1228 build/serializers.py:517
-#: build/serializers.py:588 build/serializers.py:1796 company/models.py:811
-#: order/models.py:1781
+#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497
+#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827
+#: order/models.py:1796
#: report/templates/report/inventree_build_order_report.html:172
-#: stock/models.py:2865 stock/models.py:2989 stock/serializers.py:717
-#: stock/serializers.py:893 stock/serializers.py:1035 stock/serializers.py:1336
-#: stock/serializers.py:1425 stock/serializers.py:1624
+#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:723
+#: stock/serializers.py:899 stock/serializers.py:1041 stock/serializers.py:1369
+#: stock/serializers.py:1458 stock/serializers.py:1657
msgid "Notes"
msgstr "備註"
@@ -131,75 +123,75 @@ msgstr "值' {name}' 未出現在模式格式中"
msgid "Provided value does not match required pattern: "
msgstr "提供的值與所需模式不匹配:"
-#: InvenTree/helpers.py:601
+#: InvenTree/helpers.py:614
msgid "Cannot serialize more than 1000 items at once"
msgstr "一次不能序列化超過 1000 個項目"
-#: InvenTree/helpers.py:607
+#: InvenTree/helpers.py:620
msgid "Empty serial number string"
msgstr "序號為空白"
-#: InvenTree/helpers.py:636
+#: InvenTree/helpers.py:649
msgid "Duplicate serial"
msgstr "複製序列號"
-#: InvenTree/helpers.py:668 InvenTree/helpers.py:711 InvenTree/helpers.py:729
-#: InvenTree/helpers.py:736 InvenTree/helpers.py:755
+#: InvenTree/helpers.py:681 InvenTree/helpers.py:724 InvenTree/helpers.py:742
+#: InvenTree/helpers.py:749 InvenTree/helpers.py:768
#, python-brace-format
msgid "Invalid group: {group}"
msgstr "無效的群組:{group}"
-#: InvenTree/helpers.py:699
+#: InvenTree/helpers.py:712
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
msgstr "組範圍 {group} 超出了允許的數量 ({expected_quantity})"
-#: InvenTree/helpers.py:765
+#: InvenTree/helpers.py:778
msgid "No serial numbers found"
msgstr "未找到序列號"
-#: InvenTree/helpers.py:772
+#: InvenTree/helpers.py:785
#, python-brace-format
msgid "Number of unique serial numbers ({n}) must match quantity ({q})"
msgstr "唯一序列號數量 ({n}) 必須與數量 ({q}) 相符"
-#: InvenTree/helpers.py:902
+#: InvenTree/helpers.py:915
msgid "Remove HTML tags from this value"
msgstr "從這個值中刪除 HTML 標籤"
-#: InvenTree/helpers.py:981
+#: InvenTree/helpers.py:994
msgid "Data contains prohibited markdown content"
msgstr "資料包含被禁止的 Markdown 內容"
-#: InvenTree/helpers_model.py:134
+#: InvenTree/helpers_model.py:139
msgid "Connection error"
msgstr "連接錯誤"
-#: InvenTree/helpers_model.py:139 InvenTree/helpers_model.py:146
+#: InvenTree/helpers_model.py:144 InvenTree/helpers_model.py:151
msgid "Server responded with invalid status code"
msgstr "服務器響應狀態碼無效"
-#: InvenTree/helpers_model.py:142
+#: InvenTree/helpers_model.py:147
msgid "Exception occurred"
msgstr "發生異常"
-#: InvenTree/helpers_model.py:152
+#: InvenTree/helpers_model.py:157
msgid "Server responded with invalid Content-Length value"
msgstr "服務器響應的內容長度值無效"
-#: InvenTree/helpers_model.py:155
+#: InvenTree/helpers_model.py:160
msgid "Image size is too large"
msgstr "圖片尺寸過大"
-#: InvenTree/helpers_model.py:167
+#: InvenTree/helpers_model.py:172
msgid "Image download exceeded maximum size"
msgstr "圖片下載超出最大尺寸"
-#: InvenTree/helpers_model.py:172
+#: InvenTree/helpers_model.py:177
msgid "Remote server returned empty response"
msgstr "遠程服務器返回了空響應"
-#: InvenTree/helpers_model.py:180
+#: InvenTree/helpers_model.py:185
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一個有效的圖片文件"
@@ -207,11 +199,11 @@ msgstr "提供的 URL 不是一個有效的圖片文件"
msgid "Log in to the app"
msgstr "登入此應用程式"
-#: InvenTree/magic_login.py:41 company/models.py:173 users/serializers.py:198
+#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201
msgid "Email"
msgstr "電子郵件"
-#: InvenTree/middleware.py:177
+#: InvenTree/middleware.py:178
msgid "You must enable two-factor authentication before doing anything else."
msgstr "在進行任何其他操作前,必須先啟用雙因素驗證。"
@@ -255,135 +247,126 @@ msgstr "參考欄位並須符合格式"
msgid "Reference number is too large"
msgstr "參考編號過大"
-#: InvenTree/models.py:896
+#: InvenTree/models.py:901
msgid "Invalid choice"
msgstr "無效的選項"
-#: InvenTree/models.py:1017 common/models.py:1414 common/models.py:1841
-#: common/models.py:2102 common/models.py:2227 common/models.py:2494
-#: common/serializers.py:539 generic/states/serializers.py:20
-#: machine/models.py:25 part/models.py:1127 plugin/models.py:54
-#: report/models.py:216 stock/models.py:84
+#: InvenTree/models.py:1022 common/models.py:1431 common/models.py:1858
+#: common/models.py:2119 common/models.py:2244 common/models.py:2513
+#: common/serializers.py:638 generic/states/serializers.py:20
+#: machine/models.py:25 part/models.py:1107 plugin/models.py:54
+#: report/models.py:216 stock/models.py:86
msgid "Name"
msgstr "名稱"
-#: InvenTree/models.py:1023 build/models.py:253 common/models.py:175
-#: common/models.py:2234 common/models.py:2347 common/models.py:2509
-#: company/models.py:545 company/models.py:802 order/models.py:443
-#: order/models.py:1826 part/models.py:1150 report/models.py:222
+#: InvenTree/models.py:1028 build/models.py:265 common/models.py:177
+#: common/models.py:2251 common/models.py:2364 common/models.py:2528
+#: company/models.py:558 company/models.py:818 order/models.py:447
+#: order/models.py:1841 part/models.py:1130 report/models.py:222
#: report/models.py:815 report/models.py:841
#: report/templates/report/inventree_build_order_report.html:117
-#: stock/models.py:90
+#: stock/models.py:92
msgid "Description"
msgstr "描述"
-#: InvenTree/models.py:1024 stock/models.py:91
+#: InvenTree/models.py:1029 stock/models.py:93
msgid "Description (optional)"
msgstr "描述(選填)"
-#: InvenTree/models.py:1039 common/models.py:2815
+#: InvenTree/models.py:1044 common/models.py:2834
msgid "Path"
msgstr "路徑"
-#: InvenTree/models.py:1144
+#: InvenTree/models.py:1149
msgid "Duplicate names cannot exist under the same parent"
msgstr "同一個上層元件下不能有重複的名字"
-#: InvenTree/models.py:1228
+#: InvenTree/models.py:1233
msgid "Markdown notes (optional)"
msgstr "Markdown 註記(選填)"
-#: InvenTree/models.py:1259
+#: InvenTree/models.py:1264
msgid "Barcode Data"
msgstr "條碼資料"
-#: InvenTree/models.py:1260
+#: InvenTree/models.py:1265
msgid "Third party barcode data"
msgstr "第三方條碼資料"
-#: InvenTree/models.py:1266
+#: InvenTree/models.py:1271
msgid "Barcode Hash"
msgstr "條碼雜湊值"
-#: InvenTree/models.py:1267
+#: InvenTree/models.py:1272
msgid "Unique hash of barcode data"
msgstr "條碼資料的唯一雜湊值"
-#: InvenTree/models.py:1348
+#: InvenTree/models.py:1353
msgid "Existing barcode found"
msgstr "發現現有條碼"
-#: InvenTree/models.py:1430
-msgid "Task Failure"
-msgstr "任務失敗"
-
-#: InvenTree/models.py:1431
-#, python-brace-format
-msgid "Background worker task '{f}' failed after {n} attempts"
-msgstr "背景工作任務「{f}」在嘗試 {n} 次後失敗"
-
-#: InvenTree/models.py:1458
+#: InvenTree/models.py:1453
msgid "Server Error"
msgstr "伺服器錯誤"
-#: InvenTree/models.py:1459
+#: InvenTree/models.py:1454
msgid "An error has been logged by the server."
msgstr "伺服器紀錄了一個錯誤。"
-#: InvenTree/models.py:1501 common/models.py:1752
+#: InvenTree/models.py:1496 common/models.py:1769
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report.html:35
msgid "Image"
msgstr "圖像"
-#: InvenTree/serializers.py:255 part/models.py:4196
+#: InvenTree/serializers.py:327 part/models.py:4174
msgid "Must be a valid number"
msgstr "必須是有效的數字"
-#: InvenTree/serializers.py:297 company/models.py:215 part/models.py:3349
+#: InvenTree/serializers.py:369 company/models.py:217 part/models.py:3313
msgid "Currency"
msgstr "貨幣"
-#: InvenTree/serializers.py:300 part/serializers.py:1250
+#: InvenTree/serializers.py:372 part/serializers.py:1355
msgid "Select currency from available options"
msgstr "從可用選項中選擇貨幣"
-#: InvenTree/serializers.py:654
+#: InvenTree/serializers.py:726
msgid "This field may not be null."
-msgstr ""
+msgstr "此欄位不可為空白。"
-#: InvenTree/serializers.py:660
+#: InvenTree/serializers.py:732
msgid "Invalid value"
msgstr "無效值"
-#: InvenTree/serializers.py:697
+#: InvenTree/serializers.py:769
msgid "Remote Image"
msgstr "遠程圖片"
-#: InvenTree/serializers.py:698
+#: InvenTree/serializers.py:770
msgid "URL of remote image file"
msgstr "遠程圖片文件的 URL"
-#: InvenTree/serializers.py:716
+#: InvenTree/serializers.py:788
msgid "Downloading images from remote URL is not enabled"
msgstr "未啓用從遠程 URL下載圖片"
-#: InvenTree/serializers.py:723
+#: InvenTree/serializers.py:795
msgid "Failed to download image from remote URL"
msgstr "從遠程URL下載圖像失敗"
-#: InvenTree/serializers.py:806
+#: InvenTree/serializers.py:878
msgid "Invalid content type format"
-msgstr ""
+msgstr "不合規的內容類型格式"
-#: InvenTree/serializers.py:809
+#: InvenTree/serializers.py:881
msgid "Content type not found"
-msgstr ""
+msgstr "內容類型未發現"
-#: InvenTree/serializers.py:815
+#: InvenTree/serializers.py:887
msgid "Content type does not match required mixin class"
-msgstr ""
+msgstr "內容類型與所需的 mixin 類別不符"
#: InvenTree/setting/locales.py:20
msgid "Arabic"
@@ -537,11 +520,11 @@ msgstr "中文 (簡體)"
msgid "Chinese (Traditional)"
msgstr "中文 (繁體)"
-#: InvenTree/tasks.py:576
+#: InvenTree/tasks.py:620
msgid "Update Available"
msgstr "有可用更新"
-#: InvenTree/tasks.py:577
+#: InvenTree/tasks.py:621
msgid "An update for InvenTree is available"
msgstr "有新的 InvenTree 更新可用"
@@ -553,30 +536,30 @@ msgstr "無效的物理單位"
msgid "Not a valid currency code"
msgstr "無效的貨幣代碼"
-#: build/api.py:54 order/api.py:116 order/api.py:275 order/api.py:1378
-#: order/serializers.py:133
+#: build/api.py:55 order/api.py:113 order/api.py:280 order/api.py:1379
+#: order/serializers.py:123
msgid "Order Status"
msgstr "訂單狀態"
-#: build/api.py:80 build/models.py:265
+#: build/api.py:81 build/models.py:277
msgid "Parent Build"
msgstr "上層生產工單"
-#: build/api.py:84 build/api.py:837 order/api.py:553 order/api.py:776
-#: order/api.py:1179 order/api.py:1454 stock/api.py:573
+#: build/api.py:85 build/api.py:904 order/api.py:557 order/api.py:780
+#: order/api.py:1180 order/api.py:1481 stock/api.py:572
msgid "Include Variants"
msgstr "包含變體"
-#: build/api.py:100 build/api.py:472 build/api.py:851 build/models.py:271
-#: build/serializers.py:1233 build/serializers.py:1364
-#: build/serializers.py:1435 company/models.py:1021 company/serializers.py:490
-#: order/api.py:303 order/api.py:307 order/api.py:934 order/api.py:1192
-#: order/api.py:1195 order/models.py:1942 order/models.py:2109
-#: order/models.py:2110 part/api.py:1160 part/api.py:1163 part/api.py:1314
-#: part/models.py:550 part/models.py:3360 part/models.py:3503
-#: part/models.py:3561 part/models.py:3582 part/models.py:3604
-#: part/models.py:3743 part/models.py:3993 part/models.py:4412
-#: part/serializers.py:1801
+#: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283
+#: build/serializers.py:1205 build/serializers.py:1376
+#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435
+#: order/api.py:308 order/api.py:312 order/api.py:937 order/api.py:1193
+#: order/api.py:1196 order/models.py:1959 order/models.py:2127
+#: order/models.py:2128 part/api.py:1132 part/api.py:1135 part/api.py:1348
+#: part/models.py:527 part/models.py:3324 part/models.py:3467
+#: part/models.py:3525 part/models.py:3546 part/models.py:3568
+#: part/models.py:3709 part/models.py:3971 part/models.py:4390
+#: part/serializers.py:1304 part/serializers.py:1926
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_report.html:109
@@ -585,9 +568,9 @@ msgstr "包含變體"
#: report/templates/report/inventree_sales_order_report.html:27
#: report/templates/report/inventree_sales_order_shipment_report.html:28
#: report/templates/report/inventree_stock_location_report.html:102
-#: stock/api.py:586 stock/serializers.py:120 stock/serializers.py:172
-#: stock/serializers.py:408 stock/serializers.py:594 stock/serializers.py:926
-#: templates/email/build_order_completed.html:17
+#: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120
+#: stock/serializers.py:172 stock/serializers.py:410 stock/serializers.py:593
+#: stock/serializers.py:932 templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
@@ -596,192 +579,197 @@ msgstr "包含變體"
msgid "Part"
msgstr "零件"
-#: build/api.py:120 build/api.py:123 build/serializers.py:1446 part/api.py:975
-#: part/api.py:1325 part/models.py:435 part/models.py:1168 part/models.py:3632
-#: part/serializers.py:1617 stock/api.py:869
+#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967
+#: part/api.py:1359 part/models.py:412 part/models.py:1148 part/models.py:3596
+#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868
msgid "Category"
msgstr "類別"
-#: build/api.py:131 build/api.py:135
+#: build/api.py:132 build/api.py:136
msgid "Ancestor Build"
msgstr "可測試部分"
-#: build/api.py:152 order/api.py:134
+#: build/api.py:153 order/api.py:131
msgid "Assigned to me"
msgstr "分配給我"
-#: build/api.py:167
+#: build/api.py:168
msgid "Assigned To"
msgstr "負責人"
-#: build/api.py:202
+#: build/api.py:203
msgid "Created before"
msgstr "建立於之前"
-#: build/api.py:206
+#: build/api.py:207
msgid "Created after"
msgstr "建立於之後"
-#: build/api.py:210
+#: build/api.py:211
msgid "Has start date"
msgstr "有開始日期"
-#: build/api.py:218
+#: build/api.py:219
msgid "Start date before"
msgstr "開始日期早於"
-#: build/api.py:222
+#: build/api.py:223
msgid "Start date after"
msgstr "開始日期晚於"
-#: build/api.py:226
+#: build/api.py:227
msgid "Has target date"
msgstr "有目標日期"
-#: build/api.py:234
+#: build/api.py:235
msgid "Target date before"
msgstr "目標日期早於"
-#: build/api.py:238
+#: build/api.py:239
msgid "Target date after"
msgstr "目標日期晚於"
-#: build/api.py:242
+#: build/api.py:243
msgid "Completed before"
msgstr "完成於之前"
-#: build/api.py:246
+#: build/api.py:247
msgid "Completed after"
msgstr "完成於之後"
-#: build/api.py:249 order/api.py:231
+#: build/api.py:250 order/api.py:236
msgid "Min Date"
msgstr "最小日期"
-#: build/api.py:272 order/api.py:250
+#: build/api.py:273 order/api.py:255
msgid "Max Date"
msgstr "最大日期"
-#: build/api.py:297 build/api.py:300 part/api.py:212 stock/api.py:961
+#: build/api.py:298 build/api.py:301 part/api.py:197 stock/api.py:960
msgid "Exclude Tree"
msgstr "排除樹"
-#: build/api.py:411
+#: build/api.py:400
msgid "Build must be cancelled before it can be deleted"
msgstr "工單必須被取消才能被刪除"
-#: build/api.py:455 build/serializers.py:1382 part/models.py:4027
+#: build/api.py:444 build/serializers.py:1406 part/models.py:4005
msgid "Consumable"
msgstr "耗材"
-#: build/api.py:458 build/serializers.py:1385 part/models.py:4021
+#: build/api.py:447 build/serializers.py:1409 part/models.py:3999
msgid "Optional"
msgstr "非必須項目"
-#: build/api.py:461 build/serializers.py:1423 common/setting/system.py:456
-#: part/models.py:1290 part/serializers.py:1579 part/serializers.py:1590
-#: stock/api.py:639
+#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:470
+#: part/models.py:1253 part/serializers.py:1696 part/serializers.py:1715
+#: stock/api.py:638
msgid "Assembly"
msgstr "裝配"
-#: build/api.py:464
+#: build/api.py:453
msgid "Tracked"
msgstr "追蹤中"
-#: build/api.py:467 build/serializers.py:1388 part/models.py:1308
+#: build/api.py:456 build/serializers.py:1412 part/models.py:1271
msgid "Testable"
msgstr "可測試"
-#: build/api.py:477 order/api.py:998 order/api.py:1368
+#: build/api.py:466 order/api.py:1001 order/api.py:1369
msgid "Order Outstanding"
msgstr "訂單未完成"
-#: build/api.py:487 build/serializers.py:1472 order/api.py:957
+#: build/api.py:476 build/serializers.py:1502 order/api.py:960
msgid "Allocated"
msgstr "已分配"
-#: build/api.py:496 build/models.py:1673 build/serializers.py:1401
+#: build/api.py:485 build/models.py:1786 build/serializers.py:1425
msgid "Consumed"
msgstr "已消耗"
-#: build/api.py:505 company/models.py:866 company/serializers.py:467
+#: build/api.py:494 company/models.py:882 company/serializers.py:414
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
#: templates/email/part_event_notification.html:18
msgid "Available"
msgstr "可用數量"
-#: build/api.py:529 build/serializers.py:1474 company/serializers.py:464
-#: order/serializers.py:1295 part/serializers.py:844 part/serializers.py:1171
-#: part/serializers.py:1626
+#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411
+#: order/serializers.py:1282 part/serializers.py:849 part/serializers.py:1170
+#: part/serializers.py:1751
msgid "On Order"
msgstr "已訂購"
-#: build/api.py:874 build/models.py:118 order/models.py:1975
+#: build/api.py:671
+msgid "Build not found"
+msgstr ""
+
+#: build/api.py:941 build/models.py:120 order/models.py:1992
#: report/templates/report/inventree_build_order_report.html:105
#: stock/serializers.py:93 templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
msgid "Build Order"
msgstr "生產工單"
-#: build/api.py:888 build/api.py:892 build/serializers.py:380
-#: build/serializers.py:505 build/serializers.py:575 build/serializers.py:1259
-#: build/serializers.py:1264 order/api.py:1239 order/api.py:1244
-#: order/serializers.py:844 order/serializers.py:984 order/serializers.py:2059
-#: stock/api.py:987 stock/serializers.py:111 stock/serializers.py:601
-#: stock/serializers.py:710 stock/serializers.py:888 stock/serializers.py:1418
-#: stock/serializers.py:1739 stock/serializers.py:1788
-#: templates/email/stale_stock_notification.html:18 users/models.py:549
+#: build/api.py:955 build/api.py:959 build/serializers.py:360
+#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253
+#: build/serializers.py:1258 order/api.py:1240 order/api.py:1245
+#: order/serializers.py:802 order/serializers.py:942 order/serializers.py:2023
+#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111
+#: stock/serializers.py:600 stock/serializers.py:716 stock/serializers.py:894
+#: stock/serializers.py:1451 stock/serializers.py:1772
+#: stock/serializers.py:1821 templates/email/stale_stock_notification.html:18
+#: users/models.py:549
msgid "Location"
msgstr "地點"
-#: build/api.py:900
+#: build/api.py:967 part/serializers.py:1349
msgid "Output"
-msgstr ""
+msgstr "產出"
-#: build/api.py:902
+#: build/api.py:969
msgid "Filter by output stock item ID. Use 'null' to find uninstalled build items."
msgstr ""
-#: build/models.py:119 users/ruleset.py:31
+#: build/models.py:121 users/ruleset.py:31
msgid "Build Orders"
msgstr "生產工單"
-#: build/models.py:169
+#: build/models.py:181
msgid "Assembly BOM has not been validated"
msgstr "裝配物料清單尚未驗證"
-#: build/models.py:176
+#: build/models.py:188
msgid "Build order cannot be created for an inactive part"
msgstr "無法為未激活的零件創建生產訂單"
-#: build/models.py:183
+#: build/models.py:195
msgid "Build order cannot be created for an unlocked part"
msgstr "無法為已解鎖的零件創建生產訂單"
-#: build/models.py:201
+#: build/models.py:213
msgid "Build orders can only be externally fulfilled for purchaseable parts"
msgstr "只有可採購的零件,生產工單才可進行外部履行"
-#: build/models.py:208 order/models.py:370
+#: build/models.py:220 order/models.py:373
msgid "Responsible user or group must be specified"
msgstr "必須指定負責的用户或組"
-#: build/models.py:213
+#: build/models.py:225
msgid "Build order part cannot be changed"
msgstr "無法更改生產工單"
-#: build/models.py:218 order/models.py:383
+#: build/models.py:230 order/models.py:386
msgid "Target date must be after start date"
msgstr "目標日期必須晚於開始日期"
-#: build/models.py:246
+#: build/models.py:258
msgid "Build Order Reference"
msgstr "生產工單代號"
-#: build/models.py:247 build/serializers.py:1379 order/models.py:615
-#: order/models.py:1312 order/models.py:1774 order/models.py:2713
-#: part/models.py:4067
+#: build/models.py:259 build/serializers.py:1403 order/models.py:628
+#: order/models.py:1327 order/models.py:1789 order/models.py:2724
+#: part/models.py:4045
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_purchase_order_report.html:35
#: report/templates/report/inventree_return_order_report.html:26
@@ -789,230 +777,234 @@ msgstr "生產工單代號"
msgid "Reference"
msgstr "參考代號"
-#: build/models.py:256
+#: build/models.py:268
msgid "Brief description of the build (optional)"
msgstr "關於生產工單的簡單説明(選填)"
-#: build/models.py:266
-msgid "BuildOrder to which this build is allocated"
-msgstr "這張生產工單對應的上層生產工單"
+#: build/models.py:278
+msgid "Build Order to which this build is allocated"
+msgstr ""
-#: build/models.py:275
+#: build/models.py:287
msgid "Select part to build"
msgstr "選擇要生產的零件"
-#: build/models.py:280
+#: build/models.py:292
msgid "Sales Order Reference"
msgstr "銷售訂單代號"
-#: build/models.py:285
-msgid "SalesOrder to which this build is allocated"
-msgstr "這張生產工單對應的銷售訂單"
+#: build/models.py:297
+msgid "Sales Order to which this build is allocated"
+msgstr ""
-#: build/models.py:290 build/serializers.py:1105
+#: build/models.py:302 build/serializers.py:1085
msgid "Source Location"
msgstr "來源倉儲地點"
-#: build/models.py:296
+#: build/models.py:308
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)"
-#: build/models.py:302
+#: build/models.py:314
msgid "External Build"
msgstr "外部生產"
-#: build/models.py:303
+#: build/models.py:315
msgid "This build order is fulfilled externally"
msgstr "此生產工單由外部履行"
-#: build/models.py:308
+#: build/models.py:320
msgid "Destination Location"
msgstr "目標倉儲地點"
-#: build/models.py:313
+#: build/models.py:325
msgid "Select location where the completed items will be stored"
msgstr "選擇已完成項目庫存地點"
-#: build/models.py:317
+#: build/models.py:329
msgid "Build Quantity"
msgstr "生產數量"
-#: build/models.py:320
+#: build/models.py:332
msgid "Number of stock items to build"
msgstr "要生產的項目數量"
-#: build/models.py:324
+#: build/models.py:336
msgid "Completed items"
msgstr "已完成項目"
-#: build/models.py:326
+#: build/models.py:338
msgid "Number of stock items which have been completed"
msgstr "已經完成的庫存品數量"
-#: build/models.py:330
+#: build/models.py:342
msgid "Build Status"
msgstr "生產狀態"
-#: build/models.py:335
+#: build/models.py:347
msgid "Build status code"
msgstr "生產狀態代碼"
-#: build/models.py:344 build/serializers.py:367 order/serializers.py:860
-#: stock/models.py:1100 stock/serializers.py:85 stock/serializers.py:1591
+#: build/models.py:356 build/serializers.py:347 order/serializers.py:818
+#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1624
msgid "Batch Code"
msgstr "批號"
-#: build/models.py:348 build/serializers.py:368
+#: build/models.py:360 build/serializers.py:348
msgid "Batch code for this build output"
msgstr "此產出的批號"
-#: build/models.py:352 order/models.py:480 order/serializers.py:193
-#: part/models.py:1371
+#: build/models.py:364 order/models.py:484 order/serializers.py:166
+#: part/models.py:1334
msgid "Creation Date"
msgstr "建立日期"
-#: build/models.py:358
+#: build/models.py:370
msgid "Build start date"
msgstr "生產開始日期"
-#: build/models.py:359
+#: build/models.py:371
msgid "Scheduled start date for this build order"
msgstr "預計此生產工單的開始日期"
-#: build/models.py:365
+#: build/models.py:377
msgid "Target completion date"
msgstr "目標完成日期"
-#: build/models.py:367
+#: build/models.py:379
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生產的預計完成日期。若超過此日期則工單會逾期。"
-#: build/models.py:372 order/models.py:668 order/models.py:2752
+#: build/models.py:384 order/models.py:681 order/models.py:2763
msgid "Completion Date"
msgstr "完成日期"
-#: build/models.py:380
+#: build/models.py:392
msgid "completed by"
msgstr "完成者"
-#: build/models.py:389
+#: build/models.py:401
msgid "Issued by"
msgstr "發布者"
-#: build/models.py:390
+#: build/models.py:402
msgid "User who issued this build order"
msgstr "發布此生產工單的使用者"
-#: build/models.py:399 common/models.py:184 order/api.py:184
-#: order/models.py:505 part/models.py:1388
+#: build/models.py:411 common/models.py:186 order/api.py:181
+#: order/models.py:516 part/models.py:1351
#: report/templates/report/inventree_build_order_report.html:158
msgid "Responsible"
msgstr "負責人"
-#: build/models.py:400
+#: build/models.py:412
msgid "User or group responsible for this build order"
msgstr "負責此生產工單的使用者或羣組"
-#: build/models.py:405 stock/models.py:1093
+#: build/models.py:417 stock/models.py:1100
msgid "External Link"
msgstr "外部連結"
-#: build/models.py:407 common/models.py:1990 part/models.py:1202
-#: stock/models.py:1095
+#: build/models.py:419 common/models.py:2007 part/models.py:1182
+#: stock/models.py:1102
msgid "Link to external URL"
msgstr "外部URL連結"
-#: build/models.py:412
+#: build/models.py:424
msgid "Build Priority"
msgstr "製造優先度"
-#: build/models.py:415
+#: build/models.py:427
msgid "Priority of this build order"
msgstr "此生產工單的優先程度"
-#: build/models.py:423 common/models.py:154 common/models.py:168
-#: order/api.py:170 order/models.py:452 order/models.py:1806
+#: build/models.py:435 common/models.py:156 common/models.py:170
+#: order/api.py:167 order/models.py:456 order/models.py:1821
msgid "Project Code"
msgstr "專案代碼"
-#: build/models.py:424
+#: build/models.py:436
msgid "Project code for this build order"
msgstr "此生產工單隸屬的專案代碼"
-#: build/models.py:677
+#: build/models.py:689
msgid "Cannot complete build order with open child builds"
msgstr "無法完成仍有未結束子工單的生產工單"
-#: build/models.py:682
+#: build/models.py:694
msgid "Cannot complete build order with incomplete outputs"
msgstr "無法完成有未完成產出的生產工單"
-#: build/models.py:701 build/models.py:831
+#: build/models.py:713 build/models.py:843
msgid "Failed to offload task to complete build allocations"
msgstr "未能卸載任務以完成生產分配"
-#: build/models.py:724
+#: build/models.py:736
#, python-brace-format
msgid "Build order {build} has been completed"
msgstr "生產工單 {build} 已經完成"
-#: build/models.py:730
+#: build/models.py:742
msgid "A build order has been completed"
msgstr "一張生產工單已經完成"
-#: build/models.py:912 build/serializers.py:415
+#: build/models.py:924 build/serializers.py:395
msgid "Serial numbers must be provided for trackable parts"
msgstr "對於可跟蹤的零件,必須提供序列號"
-#: build/models.py:1043 build/models.py:1130
+#: build/models.py:1016 build/models.py:1103
msgid "No build output specified"
msgstr "未指定產出"
-#: build/models.py:1046
+#: build/models.py:1019
msgid "Build output is already completed"
msgstr "產出已完成"
-#: build/models.py:1049
+#: build/models.py:1022
msgid "Build output does not match Build Order"
msgstr "產出與生產訂單不匹配"
-#: build/models.py:1137 build/models.py:1235 build/serializers.py:293
-#: build/serializers.py:343 build/serializers.py:973 build/serializers.py:1747
-#: order/models.py:718 order/serializers.py:669 order/serializers.py:855
-#: part/serializers.py:1573 stock/models.py:940 stock/models.py:1430
-#: stock/models.py:1878 stock/serializers.py:688 stock/serializers.py:1580
+#: build/models.py:1110 build/models.py:1216 build/serializers.py:273
+#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716
+#: order/models.py:731 order/serializers.py:613 order/serializers.py:813
+#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437
+#: stock/models.py:1902 stock/serializers.py:694 stock/serializers.py:1613
msgid "Quantity must be greater than zero"
msgstr "數量必須大於零"
-#: build/models.py:1141 build/models.py:1240 build/serializers.py:298
+#: build/models.py:1114 build/models.py:1221 build/serializers.py:278
msgid "Quantity cannot be greater than the output quantity"
msgstr "數量不能大於輸出數量"
-#: build/models.py:1215 build/serializers.py:614
+#: build/models.py:1189 build/serializers.py:594
msgid "Build output has not passed all required tests"
msgstr "此產出尚未通過所有必要測試"
-#: build/models.py:1218 build/serializers.py:609
+#: build/models.py:1192 build/serializers.py:589
#, python-brace-format
msgid "Build output {serial} has not passed all required tests"
msgstr "產出 {serial} 未通過所有必要測試"
-#: build/models.py:1230
+#: build/models.py:1203
+msgid "Allocated stock items are still in production"
+msgstr ""
+
+#: build/models.py:1211
msgid "Cannot partially complete a build output with allocated items"
msgstr ""
-#: build/models.py:1628
+#: build/models.py:1740
msgid "Build Order Line Item"
msgstr "生產訂單行項目"
-#: build/models.py:1652
+#: build/models.py:1765
msgid "Build object"
msgstr "生產對象"
-#: build/models.py:1664 build/models.py:1975 build/serializers.py:279
-#: build/serializers.py:328 build/serializers.py:1400 common/models.py:1344
-#: order/models.py:1757 order/models.py:2598 order/serializers.py:1710
-#: order/serializers.py:2141 part/models.py:3517 part/models.py:4015
+#: build/models.py:1777 build/models.py:2102 build/serializers.py:259
+#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1361
+#: order/models.py:1772 order/models.py:2607 order/serializers.py:1675
+#: order/serializers.py:2112 part/models.py:3481 part/models.py:3993
#: report/templates/report/inventree_bill_of_materials_report.html:138
#: report/templates/report/inventree_build_order_report.html:113
#: report/templates/report/inventree_purchase_order_report.html:36
@@ -1024,433 +1016,445 @@ msgstr "生產對象"
#: report/templates/report/inventree_stock_report_merge.html:113
#: report/templates/report/inventree_test_report.html:90
#: report/templates/report/inventree_test_report.html:169
-#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:676
+#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:682
#: templates/email/build_order_completed.html:18
#: templates/email/stale_stock_notification.html:19
msgid "Quantity"
msgstr "數量"
-#: build/models.py:1665
+#: build/models.py:1778
msgid "Required quantity for build order"
msgstr "生產工單所需數量"
-#: build/models.py:1674
+#: build/models.py:1787
msgid "Quantity of consumed stock"
msgstr "已消耗庫存數量"
-#: build/models.py:1773
+#: build/models.py:1888
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "生產項必須指定產出,因為主零件已經被標記為可追蹤的"
-#: build/models.py:1784
+#: build/models.py:1951
+msgid "Selected stock item does not match BOM line"
+msgstr "選擇的庫存品項和BOM的項目不符"
+
+#: build/models.py:1970
+msgid "Allocated quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1976
+msgid "Quantity must be 1 for serialized stock"
+msgstr "有序號的品項數量必須為1"
+
+#: build/models.py:1986
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配的數量({q})不能超過可用的庫存數量({a})"
-#: build/models.py:1805 order/models.py:2547
+#: build/models.py:2003 order/models.py:2556
msgid "Stock item is over-allocated"
msgstr "庫存品項超額分配"
-#: build/models.py:1810 order/models.py:2550
-msgid "Allocation quantity must be greater than zero"
-msgstr "分配的數量必須大於零"
-
-#: build/models.py:1816
-msgid "Quantity must be 1 for serialized stock"
-msgstr "有序號的品項數量必須為1"
-
-#: build/models.py:1876
-msgid "Selected stock item does not match BOM line"
-msgstr "選擇的庫存品項和BOM的項目不符"
-
-#: build/models.py:1914
-msgid "Allocated quantity exceeds available stock quantity"
-msgstr "分配數量超過可用庫存"
-
-#: build/models.py:1965 build/serializers.py:956 build/serializers.py:1248
-#: order/serializers.py:1547 order/serializers.py:1568
+#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221
+#: order/serializers.py:1512 order/serializers.py:1533
#: report/templates/report/inventree_sales_order_shipment_report.html:29
-#: stock/api.py:1404 stock/models.py:456 stock/serializers.py:102
-#: stock/serializers.py:800 stock/serializers.py:1274 stock/serializers.py:1386
+#: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102
+#: stock/serializers.py:806 stock/serializers.py:1307 stock/serializers.py:1419
msgid "Stock Item"
msgstr "庫存品項"
-#: build/models.py:1966
+#: build/models.py:2093
msgid "Source stock item"
msgstr "來源庫存項目"
-#: build/models.py:1976
+#: build/models.py:2103
msgid "Stock quantity to allocate to build"
msgstr "要分配的庫存數量"
-#: build/models.py:1985
+#: build/models.py:2112
msgid "Install into"
msgstr "安裝到"
-#: build/models.py:1986
+#: build/models.py:2113
msgid "Destination stock item"
msgstr "目的庫存品項"
-#: build/serializers.py:120
+#: build/serializers.py:115
msgid "Build Level"
msgstr "構建等級"
-#: build/serializers.py:136
+#: build/serializers.py:128 part/serializers.py:1256
msgid "Part Name"
msgstr "零件名稱"
-#: build/serializers.py:161
-msgid "Project Code Label"
-msgstr "項目編碼標籤"
-
-#: build/serializers.py:227 build/serializers.py:982
+#: build/serializers.py:207 build/serializers.py:962
msgid "Build Output"
msgstr "產出"
-#: build/serializers.py:239
+#: build/serializers.py:219
msgid "Build output does not match the parent build"
msgstr "產出與之前的生產不匹配"
-#: build/serializers.py:243
+#: build/serializers.py:223
msgid "Output part does not match BuildOrder part"
msgstr "產出零件與生產訂單零件不匹配"
-#: build/serializers.py:247
+#: build/serializers.py:227
msgid "This build output has already been completed"
msgstr "此產出已經完成"
-#: build/serializers.py:261
+#: build/serializers.py:241
msgid "This build output is not fully allocated"
msgstr "此產出尚未完全分配"
-#: build/serializers.py:280 build/serializers.py:329
+#: build/serializers.py:260 build/serializers.py:309
msgid "Enter quantity for build output"
msgstr "輸入產出數量"
-#: build/serializers.py:351
+#: build/serializers.py:331
msgid "Integer quantity required for trackable parts"
msgstr "可追蹤的零件數量必須為整數"
-#: build/serializers.py:357
+#: build/serializers.py:337
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數"
-#: build/serializers.py:374 order/serializers.py:876 order/serializers.py:1714
-#: stock/serializers.py:699
+#: build/serializers.py:354 order/serializers.py:834 order/serializers.py:1679
+#: stock/serializers.py:705
msgid "Serial Numbers"
msgstr "序號"
-#: build/serializers.py:375
+#: build/serializers.py:355
msgid "Enter serial numbers for build outputs"
msgstr "輸出產出的序列號"
-#: build/serializers.py:381
+#: build/serializers.py:361
msgid "Stock location for build output"
msgstr "生產輸出的庫存地點"
-#: build/serializers.py:396
+#: build/serializers.py:376
msgid "Auto Allocate Serial Numbers"
msgstr "自動分配序號"
-#: build/serializers.py:398
+#: build/serializers.py:378
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自動為需要項目分配對應的序號"
-#: build/serializers.py:431 order/serializers.py:962 stock/api.py:1183
-#: stock/models.py:1901
+#: build/serializers.py:411 order/serializers.py:920 stock/api.py:1186
+#: stock/models.py:1925
msgid "The following serial numbers already exist or are invalid"
msgstr "序號已存在或無效"
-#: build/serializers.py:473 build/serializers.py:529 build/serializers.py:621
+#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601
msgid "A list of build outputs must be provided"
msgstr "必須提供產出清單"
-#: build/serializers.py:506
+#: build/serializers.py:486
msgid "Stock location for scrapped outputs"
msgstr "廢品產出的庫存位置"
-#: build/serializers.py:512
+#: build/serializers.py:492
msgid "Discard Allocations"
msgstr "放棄分配"
-#: build/serializers.py:513
+#: build/serializers.py:493
msgid "Discard any stock allocations for scrapped outputs"
msgstr "取消對廢品產出的任何庫存分配"
-#: build/serializers.py:518
+#: build/serializers.py:498
msgid "Reason for scrapping build output(s)"
msgstr "廢品產出的原因"
-#: build/serializers.py:576
+#: build/serializers.py:556
msgid "Location for completed build outputs"
msgstr "已完成刪除的庫存地點"
-#: build/serializers.py:584
+#: build/serializers.py:564
msgid "Accept Incomplete Allocation"
msgstr "接受不完整的分配"
-#: build/serializers.py:585
+#: build/serializers.py:565
msgid "Complete outputs if stock has not been fully allocated"
msgstr "如果庫存尚未全部分配,則完成產出"
-#: build/serializers.py:710
+#: build/serializers.py:690
msgid "Consume Allocated Stock"
msgstr "消費已分配的庫存"
-#: build/serializers.py:711
+#: build/serializers.py:691
msgid "Consume any stock which has already been allocated to this build"
msgstr "消耗已分配給此生產的任何庫存"
-#: build/serializers.py:717
+#: build/serializers.py:697
msgid "Remove Incomplete Outputs"
msgstr "移除未完成的產出"
-#: build/serializers.py:718
+#: build/serializers.py:698
msgid "Delete any build outputs which have not been completed"
msgstr "刪除所有未完成的產出"
-#: build/serializers.py:745
+#: build/serializers.py:725
msgid "Not permitted"
msgstr "不允許"
-#: build/serializers.py:746
+#: build/serializers.py:726
msgid "Accept as consumed by this build order"
msgstr "接受作為此生產訂單的消費"
-#: build/serializers.py:747
+#: build/serializers.py:727
msgid "Deallocate before completing this build order"
msgstr "完成此生產訂單前取消分配"
-#: build/serializers.py:774
+#: build/serializers.py:754
msgid "Overallocated Stock"
msgstr "超出分配的庫存"
-#: build/serializers.py:777
+#: build/serializers.py:757
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "如何處理分配給生產訂單的額外庫存項"
-#: build/serializers.py:788
+#: build/serializers.py:768
msgid "Some stock items have been overallocated"
msgstr "有庫存項目已被過度分配"
-#: build/serializers.py:793
+#: build/serializers.py:773
msgid "Accept Unallocated"
msgstr "接受未分配"
-#: build/serializers.py:795
+#: build/serializers.py:775
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "接受庫存項未被完全分配至生產訂單"
-#: build/serializers.py:806
+#: build/serializers.py:786
msgid "Required stock has not been fully allocated"
msgstr "所需庫存尚未完全分配"
-#: build/serializers.py:811 order/serializers.py:535 order/serializers.py:1615
+#: build/serializers.py:791 order/serializers.py:489 order/serializers.py:1580
msgid "Accept Incomplete"
msgstr "接受不完整"
-#: build/serializers.py:813
+#: build/serializers.py:793
msgid "Accept that the required number of build outputs have not been completed"
msgstr "允許所需數量的產出未完成"
-#: build/serializers.py:824
+#: build/serializers.py:804
msgid "Required build quantity has not been completed"
msgstr "未完成所需生產數量"
-#: build/serializers.py:836
+#: build/serializers.py:816
msgid "Build order has open child build orders"
msgstr "生產訂單有打開的子生產訂單"
-#: build/serializers.py:839
+#: build/serializers.py:819
msgid "Build order must be in production state"
msgstr "生產訂單必須處於生產狀態"
-#: build/serializers.py:842
+#: build/serializers.py:822
msgid "Build order has incomplete outputs"
msgstr "生產訂單有未完成的產出"
-#: build/serializers.py:881
+#: build/serializers.py:861
msgid "Build Line"
msgstr "生產行"
-#: build/serializers.py:889
+#: build/serializers.py:869
msgid "Build output"
msgstr "產出"
-#: build/serializers.py:897
+#: build/serializers.py:877
msgid "Build output must point to the same build"
msgstr "生產產出必須指向相同的生產"
-#: build/serializers.py:928
+#: build/serializers.py:908
msgid "Build Line Item"
msgstr "生產行項目"
-#: build/serializers.py:946
+#: build/serializers.py:926
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part 必須與生產訂單零件相同"
-#: build/serializers.py:962 stock/serializers.py:1287
+#: build/serializers.py:942 stock/serializers.py:1320
msgid "Item must be in stock"
msgstr "商品必須有庫存"
-#: build/serializers.py:1005 order/serializers.py:1601
+#: build/serializers.py:985 order/serializers.py:1566
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "可用量 ({q}) 超出限制"
-#: build/serializers.py:1011
+#: build/serializers.py:991
msgid "Build output must be specified for allocation of tracked parts"
msgstr "對於被追蹤的零件的分配,必須指定生產產出"
-#: build/serializers.py:1019
+#: build/serializers.py:999
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "對於未被追蹤的零件,無法指定生產產出"
-#: build/serializers.py:1043 order/serializers.py:1874
+#: build/serializers.py:1023 order/serializers.py:1839
msgid "Allocation items must be provided"
msgstr "必須提供分配項目"
-#: build/serializers.py:1107
+#: build/serializers.py:1087
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "零件來源的庫存地點(留空則可來源於任何庫存地點)"
-#: build/serializers.py:1116
+#: build/serializers.py:1096
msgid "Exclude Location"
msgstr "排除位置"
-#: build/serializers.py:1117
+#: build/serializers.py:1097
msgid "Exclude stock items from this selected location"
msgstr "從該選定的庫存地點排除庫存項"
-#: build/serializers.py:1122
+#: build/serializers.py:1102
msgid "Interchangeable Stock"
msgstr "可互換庫存"
-#: build/serializers.py:1123
+#: build/serializers.py:1103
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "在多個位置的庫存項目可以互換使用"
-#: build/serializers.py:1128
+#: build/serializers.py:1108
msgid "Substitute Stock"
msgstr "替代品庫存"
-#: build/serializers.py:1129
+#: build/serializers.py:1109
msgid "Allow allocation of substitute parts"
msgstr "允許分配可替換的零件"
-#: build/serializers.py:1134
+#: build/serializers.py:1114
msgid "Optional Items"
msgstr "可選項目"
-#: build/serializers.py:1135
+#: build/serializers.py:1115
msgid "Allocate optional BOM items to build order"
msgstr "分配可選的物料清單給生產訂單"
-#: build/serializers.py:1156
-msgid "Failed to start auto-allocation task"
-msgstr "啓動自動分配任務失敗"
+#: build/serializers.py:1121
+msgid "All Items"
+msgstr "全部品項"
-#: build/serializers.py:1208
+#: build/serializers.py:1122
+msgid "Untracked Items"
+msgstr ""
+
+#: build/serializers.py:1123
+msgid "Tracked Items"
+msgstr ""
+
+#: build/serializers.py:1125
+msgid "Item Type"
+msgstr "品項類型"
+
+#: build/serializers.py:1126
+msgid "Select item type to auto-allocate"
+msgstr ""
+
+#: build/serializers.py:1180
msgid "BOM Reference"
msgstr "物料清單參考"
-#: build/serializers.py:1214
+#: build/serializers.py:1186
msgid "BOM Part ID"
msgstr "物料清單零件識別號碼"
-#: build/serializers.py:1221
+#: build/serializers.py:1193
msgid "BOM Part Name"
msgstr "物料清單零件名稱"
-#: build/serializers.py:1274 build/serializers.py:1457
+#: build/serializers.py:1242
+msgid "Install Into"
+msgstr "安裝至"
+
+#: build/serializers.py:1269 build/serializers.py:1487
msgid "Build"
msgstr "生產"
-#: build/serializers.py:1284 company/models.py:639 order/api.py:316
-#: order/api.py:321 order/api.py:549 order/serializers.py:661
-#: stock/models.py:1036 stock/serializers.py:579
+#: build/serializers.py:1288 company/models.py:638 order/api.py:321
+#: order/api.py:326 order/api.py:553 order/serializers.py:605
+#: stock/models.py:1043 stock/serializers.py:573
msgid "Supplier Part"
msgstr "供應商零件"
-#: build/serializers.py:1292 stock/serializers.py:620
+#: build/serializers.py:1304 stock/serializers.py:626
msgid "Allocated Quantity"
msgstr "已分配數量"
-#: build/serializers.py:1359
+#: build/serializers.py:1371
msgid "Build Reference"
msgstr "構建參考"
-#: build/serializers.py:1369
+#: build/serializers.py:1381
msgid "Part Category Name"
msgstr "零件類別名稱"
-#: build/serializers.py:1391 common/setting/system.py:480 part/models.py:1302
+#: build/serializers.py:1415 common/setting/system.py:494 part/models.py:1265
msgid "Trackable"
msgstr "可追蹤"
-#: build/serializers.py:1394
+#: build/serializers.py:1418
msgid "Inherited"
msgstr "已繼承的"
-#: build/serializers.py:1397 part/models.py:4100
+#: build/serializers.py:1421 part/models.py:4078
msgid "Allow Variants"
msgstr "允許變體"
-#: build/serializers.py:1403 build/serializers.py:1408 part/models.py:3833
-#: part/models.py:4404 stock/api.py:882
+#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3799
+#: part/models.py:4382 stock/api.py:881
msgid "BOM Item"
msgstr "物料清單項"
-#: build/serializers.py:1475 order/serializers.py:1296 part/serializers.py:1175
-#: part/serializers.py:1630
+#: build/serializers.py:1505 order/serializers.py:1283 part/serializers.py:1174
+#: part/serializers.py:1755
msgid "In Production"
msgstr "生產中"
-#: build/serializers.py:1477 part/serializers.py:835 part/serializers.py:1179
+#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178
msgid "Scheduled to Build"
msgstr "排程生產中"
-#: build/serializers.py:1480 part/serializers.py:872
+#: build/serializers.py:1510 part/serializers.py:873
msgid "External Stock"
msgstr "外部庫存"
-#: build/serializers.py:1481 part/serializers.py:1165 part/serializers.py:1673
+#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798
msgid "Available Stock"
msgstr "可用庫存"
-#: build/serializers.py:1483
+#: build/serializers.py:1513
msgid "Available Substitute Stock"
msgstr "可用的替代品庫存"
-#: build/serializers.py:1486
+#: build/serializers.py:1516
msgid "Available Variant Stock"
msgstr "可用的變體庫存"
-#: build/serializers.py:1760
+#: build/serializers.py:1729
msgid "Consumed quantity exceeds allocated quantity"
msgstr "消耗數量超過已分配數量"
-#: build/serializers.py:1797
+#: build/serializers.py:1766
msgid "Optional notes for the stock consumption"
msgstr "庫存耗用的可選備註"
-#: build/serializers.py:1814
+#: build/serializers.py:1783
msgid "Build item must point to the correct build order"
msgstr "生產項必須指向正確的生產工單"
-#: build/serializers.py:1819
+#: build/serializers.py:1788
msgid "Duplicate build item allocation"
msgstr "重複的生產項分配"
-#: build/serializers.py:1837
+#: build/serializers.py:1806
msgid "Build line must point to the correct build order"
msgstr "生產行必須指向正確的生產工單"
-#: build/serializers.py:1842
+#: build/serializers.py:1811
msgid "Duplicate build line allocation"
msgstr "重複的生產行分配"
-#: build/serializers.py:1854
+#: build/serializers.py:1823
msgid "At least one item or line must be provided"
msgstr "至少必須提供一個項目或一行"
@@ -1474,67 +1478,71 @@ msgstr "被掛起"
msgid "Cancelled"
msgstr "已取消"
-#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:552
+#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580
#: importer/status_codes.py:27 order/status_codes.py:15
#: order/status_codes.py:52 order/status_codes.py:83
msgid "Complete"
msgstr "完成"
-#: build/tasks.py:231
+#: build/tasks.py:218
msgid "Stock required for build order"
msgstr "生產訂單所需庫存"
-#: build/tasks.py:241
+#: build/tasks.py:228
#, python-brace-format
msgid "Build order {build} requires additional stock"
msgstr "生產工單 {build} 需要額外庫存"
-#: build/tasks.py:265
+#: build/tasks.py:252
msgid "Overdue Build Order"
msgstr "逾期的生產訂單"
-#: build/tasks.py:270
+#: build/tasks.py:257
#, python-brace-format
msgid "Build order {bo} is now overdue"
msgstr "生產訂單 {bo} 現已逾期"
-#: common/api.py:701
+#: common/api.py:723
msgid "Is Link"
msgstr "是否鏈接"
-#: common/api.py:709
+#: common/api.py:731
msgid "Is File"
msgstr "是否為文件"
-#: common/api.py:756
+#: common/api.py:778
msgid "User does not have permission to delete these attachments"
msgstr "用户沒有權限刪除此附件"
-#: common/api.py:769
+#: common/api.py:791
msgid "User does not have permission to delete this attachment"
msgstr "用户沒有權限刪除此附件"
-#: common/currency.py:130
+#: common/currency.py:135
msgid "Invalid currency code"
msgstr "無效的貨幣代碼"
-#: common/currency.py:132
+#: common/currency.py:137
msgid "Duplicate currency code"
msgstr "重複的貨幣代碼"
-#: common/currency.py:137
+#: common/currency.py:142
msgid "No valid currency codes provided"
msgstr "未提供有效的貨幣代碼"
-#: common/currency.py:154
+#: common/currency.py:159
msgid "No plugin"
msgstr "暫無插件"
-#: common/models.py:105 common/models.py:130 common/models.py:3150
+#: common/filters.py:351
+msgid "Project Code Label"
+msgstr "項目編碼標籤"
+
+#: common/models.py:105 common/models.py:130 common/models.py:3169
msgid "Updated"
msgstr "已是最新"
-#: common/models.py:106 common/models.py:131
+#: common/models.py:106 common/models.py:131 order/models.py:507
msgid "Timestamp of last update"
msgstr "最後更新時間戳"
@@ -1546,778 +1554,778 @@ msgstr "更新者"
msgid "User who last updated this object"
msgstr "最後更新此物件的使用者"
-#: common/models.py:169
+#: common/models.py:171
msgid "Unique project code"
msgstr "唯一項目編碼"
-#: common/models.py:176
+#: common/models.py:178
msgid "Project description"
msgstr "項目描述"
-#: common/models.py:185
+#: common/models.py:187
msgid "User or group responsible for this project"
msgstr "負責此項目的用户或羣組"
-#: common/models.py:775 common/models.py:1276 common/models.py:1314
+#: common/models.py:777 common/models.py:1293 common/models.py:1331
msgid "Settings key"
msgstr "設定鍵值"
-#: common/models.py:779
+#: common/models.py:781
msgid "Settings value"
msgstr "設定值"
-#: common/models.py:834
+#: common/models.py:836
msgid "Chosen value is not a valid option"
msgstr "所選值不是一個有效的選項"
-#: common/models.py:850
+#: common/models.py:852
msgid "Value must be a boolean value"
msgstr "該值必須是布爾值"
-#: common/models.py:858
+#: common/models.py:860
msgid "Value must be an integer value"
msgstr "該值必須為整數"
-#: common/models.py:866
+#: common/models.py:868
msgid "Value must be a valid number"
msgstr "值必須為有效數字"
-#: common/models.py:891
+#: common/models.py:893
msgid "Value does not pass validation checks"
msgstr "值未通過驗證檢查"
-#: common/models.py:913
+#: common/models.py:915
msgid "Key string must be unique"
msgstr "鍵字符串必須是唯一的"
-#: common/models.py:1322 common/models.py:1323 common/models.py:1427
-#: common/models.py:1428 common/models.py:1673 common/models.py:1674
-#: common/models.py:2006 common/models.py:2007 common/models.py:2803
-#: importer/models.py:100 part/models.py:3611 part/models.py:3639
+#: common/models.py:1339 common/models.py:1340 common/models.py:1444
+#: common/models.py:1445 common/models.py:1690 common/models.py:1691
+#: common/models.py:2023 common/models.py:2024 common/models.py:2822
+#: importer/models.py:101 part/models.py:3575 part/models.py:3603
#: plugin/models.py:355 plugin/models.py:356
#: report/templates/report/inventree_test_report.html:105 users/models.py:124
#: users/models.py:501
msgid "User"
msgstr "使用者"
-#: common/models.py:1345
+#: common/models.py:1362
msgid "Price break quantity"
msgstr "批發價數量"
-#: common/models.py:1352 company/serializers.py:349 order/models.py:1843
-#: order/models.py:3044
+#: common/models.py:1369 company/serializers.py:316 order/models.py:1858
+#: order/models.py:3060
msgid "Price"
msgstr "價格"
-#: common/models.py:1353
+#: common/models.py:1370
msgid "Unit price at specified quantity"
msgstr "指定數量的單位價格"
-#: common/models.py:1404 common/models.py:1589
+#: common/models.py:1421 common/models.py:1606
msgid "Endpoint"
msgstr "端點"
-#: common/models.py:1405
+#: common/models.py:1422
msgid "Endpoint at which this webhook is received"
msgstr "接收此網絡鈎子的端點"
-#: common/models.py:1415
+#: common/models.py:1432
msgid "Name for this webhook"
msgstr "此網絡鈎子的名稱"
-#: common/models.py:1419 common/models.py:2247 common/models.py:2354
-#: company/models.py:192 company/models.py:776 machine/models.py:40
-#: part/models.py:1325 plugin/models.py:69 stock/api.py:642 users/models.py:195
-#: users/models.py:554 users/serializers.py:314
+#: common/models.py:1436 common/models.py:2264 common/models.py:2371
+#: company/models.py:194 company/models.py:786 machine/models.py:40
+#: part/models.py:1288 plugin/models.py:69 stock/api.py:641 users/models.py:195
+#: users/models.py:554 users/serializers.py:319
msgid "Active"
msgstr "激活"
-#: common/models.py:1419
+#: common/models.py:1436
msgid "Is this webhook active"
msgstr "網絡鈎子是否已啓用"
-#: common/models.py:1435 users/models.py:172
+#: common/models.py:1452 users/models.py:172
msgid "Token"
msgstr "令牌"
-#: common/models.py:1436
+#: common/models.py:1453
msgid "Token for access"
msgstr "訪問令牌"
-#: common/models.py:1444
+#: common/models.py:1461
msgid "Secret"
msgstr "密鑰"
-#: common/models.py:1445
+#: common/models.py:1462
msgid "Shared secret for HMAC"
msgstr "HMAC共享密鑰"
-#: common/models.py:1553 common/models.py:3040
+#: common/models.py:1570 common/models.py:3059
msgid "Message ID"
msgstr "消息ID"
-#: common/models.py:1554 common/models.py:3030
+#: common/models.py:1571 common/models.py:3049
msgid "Unique identifier for this message"
msgstr "此郵件的唯一標識符"
-#: common/models.py:1562
+#: common/models.py:1579
msgid "Host"
msgstr "主機"
-#: common/models.py:1563
+#: common/models.py:1580
msgid "Host from which this message was received"
msgstr "接收此消息的主機"
-#: common/models.py:1571
+#: common/models.py:1588
msgid "Header"
msgstr "標題"
-#: common/models.py:1572
+#: common/models.py:1589
msgid "Header of this message"
msgstr "此消息的標題"
-#: common/models.py:1579
+#: common/models.py:1596
msgid "Body"
msgstr "正文"
-#: common/models.py:1580
+#: common/models.py:1597
msgid "Body of this message"
msgstr "此消息的正文"
-#: common/models.py:1590
+#: common/models.py:1607
msgid "Endpoint on which this message was received"
msgstr "接收此消息的終點"
-#: common/models.py:1595
+#: common/models.py:1612
msgid "Worked on"
msgstr "工作於"
-#: common/models.py:1596
+#: common/models.py:1613
msgid "Was the work on this message finished?"
msgstr "這條消息的工作完成了嗎?"
-#: common/models.py:1722
+#: common/models.py:1739
msgid "Id"
msgstr "標識"
-#: common/models.py:1724
+#: common/models.py:1741
msgid "Title"
msgstr "標題"
-#: common/models.py:1726 common/models.py:1989 company/models.py:186
-#: company/models.py:468 company/models.py:536 company/models.py:793
-#: order/models.py:458 order/models.py:1787 order/models.py:2344
-#: part/models.py:1201
+#: common/models.py:1743 common/models.py:2006 company/models.py:188
+#: company/models.py:479 company/models.py:549 company/models.py:809
+#: order/models.py:462 order/models.py:1802 order/models.py:2362
+#: part/models.py:1181
#: report/templates/report/inventree_build_order_report.html:164
msgid "Link"
msgstr "連結"
-#: common/models.py:1728
+#: common/models.py:1745
msgid "Published"
msgstr "已發佈"
-#: common/models.py:1730
+#: common/models.py:1747
msgid "Author"
msgstr "作者"
-#: common/models.py:1732
+#: common/models.py:1749
msgid "Summary"
msgstr "摘要"
-#: common/models.py:1735 common/models.py:3007
+#: common/models.py:1752 common/models.py:3026
msgid "Read"
msgstr "閲讀"
-#: common/models.py:1735
+#: common/models.py:1752
msgid "Was this news item read?"
msgstr "這條新聞被閲讀了嗎?"
-#: common/models.py:1752
+#: common/models.py:1769
msgid "Image file"
msgstr "圖像文件"
-#: common/models.py:1764
+#: common/models.py:1781
msgid "Target model type for this image"
msgstr "此圖像的目標模型類型"
-#: common/models.py:1768
+#: common/models.py:1785
msgid "Target model ID for this image"
msgstr "此圖像的目標型號ID"
-#: common/models.py:1790
+#: common/models.py:1807
msgid "Custom Unit"
msgstr "自定義單位"
-#: common/models.py:1808
+#: common/models.py:1825
msgid "Unit symbol must be unique"
msgstr "單位符號必須唯一"
-#: common/models.py:1823
+#: common/models.py:1840
msgid "Unit name must be a valid identifier"
msgstr "單位名稱必須是有效的標識符"
-#: common/models.py:1842
+#: common/models.py:1859
msgid "Unit name"
msgstr "單位名稱"
-#: common/models.py:1849
+#: common/models.py:1866
msgid "Symbol"
msgstr "符號"
-#: common/models.py:1850
+#: common/models.py:1867
msgid "Optional unit symbol"
msgstr "可選單位符號"
-#: common/models.py:1856
+#: common/models.py:1873
msgid "Definition"
msgstr "定義"
-#: common/models.py:1857
+#: common/models.py:1874
msgid "Unit definition"
msgstr "單位定義"
-#: common/models.py:1917 common/models.py:1980 stock/models.py:2984
-#: stock/serializers.py:247
+#: common/models.py:1934 common/models.py:1997 stock/models.py:3073
+#: stock/serializers.py:249
msgid "Attachment"
msgstr "附件"
-#: common/models.py:1934
+#: common/models.py:1951
msgid "Missing file"
msgstr "缺少檔案"
-#: common/models.py:1935
+#: common/models.py:1952
msgid "Missing external link"
msgstr "缺少外部連結"
-#: common/models.py:1972 common/models.py:2488
+#: common/models.py:1989 common/models.py:2507
msgid "Model type"
msgstr "模型類型"
-#: common/models.py:1973
+#: common/models.py:1990
msgid "Target model type for image"
msgstr "圖像的目標模型類型"
-#: common/models.py:1981
+#: common/models.py:1998
msgid "Select file to attach"
msgstr "選擇附件"
-#: common/models.py:1997
+#: common/models.py:2014
msgid "Comment"
msgstr "註解"
-#: common/models.py:1998
+#: common/models.py:2015
msgid "Attachment comment"
msgstr "附件評論"
-#: common/models.py:2014
+#: common/models.py:2031
msgid "Upload date"
msgstr "上傳日期"
-#: common/models.py:2015
+#: common/models.py:2032
msgid "Date the file was uploaded"
msgstr "上傳文件的日期"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size"
msgstr "文件大小"
-#: common/models.py:2019
+#: common/models.py:2036
msgid "File size in bytes"
msgstr "文件大小,以字節為單位"
-#: common/models.py:2057 common/serializers.py:688
+#: common/models.py:2074 common/serializers.py:787
msgid "Invalid model type specified for attachment"
msgstr "為附件指定的模型類型無效"
-#: common/models.py:2078
+#: common/models.py:2095
msgid "Custom State"
msgstr "自定狀態"
-#: common/models.py:2079
+#: common/models.py:2096
msgid "Custom States"
msgstr "定製狀態"
-#: common/models.py:2084
+#: common/models.py:2101
msgid "Reference Status Set"
msgstr "參考狀態設定"
-#: common/models.py:2085
+#: common/models.py:2102
msgid "Status set that is extended with this custom state"
msgstr "使用此自定義狀態擴展狀態的狀態集"
-#: common/models.py:2089 generic/states/serializers.py:18
+#: common/models.py:2106 generic/states/serializers.py:18
msgid "Logical Key"
msgstr "邏輯密鑰"
-#: common/models.py:2091
+#: common/models.py:2108
msgid "State logical key that is equal to this custom state in business logic"
msgstr "等同於商業邏輯中自定義狀態的狀態邏輯鍵"
-#: common/models.py:2096 common/models.py:2335 machine/serializers.py:27
-#: report/templates/report/inventree_test_report.html:104 stock/models.py:2976
+#: common/models.py:2113 common/models.py:2352 machine/serializers.py:27
+#: report/templates/report/inventree_test_report.html:104 stock/models.py:3065
msgid "Value"
msgstr "值"
-#: common/models.py:2097
+#: common/models.py:2114
msgid "Numerical value that will be saved in the models database"
msgstr "將儲存於模型資料庫中的數值"
-#: common/models.py:2103
+#: common/models.py:2120
msgid "Name of the state"
msgstr "狀態名"
-#: common/models.py:2112 common/models.py:2341 generic/states/serializers.py:22
+#: common/models.py:2129 common/models.py:2358 generic/states/serializers.py:22
msgid "Label"
msgstr "標籤"
-#: common/models.py:2113
+#: common/models.py:2130
msgid "Label that will be displayed in the frontend"
msgstr "在前端顯示的標籤"
-#: common/models.py:2120 generic/states/serializers.py:24
+#: common/models.py:2137 generic/states/serializers.py:24
msgid "Color"
msgstr "顏色"
-#: common/models.py:2121
+#: common/models.py:2138
msgid "Color that will be displayed in the frontend"
msgstr "將在前端顯示顏色"
-#: common/models.py:2129
+#: common/models.py:2146
msgid "Model"
msgstr "模式"
-#: common/models.py:2130
+#: common/models.py:2147
msgid "Model this state is associated with"
msgstr "該狀態關聯的模型"
-#: common/models.py:2145
+#: common/models.py:2162
msgid "Model must be selected"
msgstr "必須選定模型"
-#: common/models.py:2148
+#: common/models.py:2165
msgid "Key must be selected"
msgstr "必須選取密鑰"
-#: common/models.py:2151
+#: common/models.py:2168
msgid "Logical key must be selected"
msgstr "必須選中邏輯密鑰"
-#: common/models.py:2155
+#: common/models.py:2172
msgid "Key must be different from logical key"
msgstr "密鑰必須不同於邏輯密鑰"
-#: common/models.py:2162
+#: common/models.py:2179
msgid "Valid reference status class must be provided"
msgstr "必須提供有效參考狀態類別"
-#: common/models.py:2168
+#: common/models.py:2185
msgid "Key must be different from the logical keys of the reference status"
msgstr "密鑰必須不同於參考狀態的邏輯密鑰"
-#: common/models.py:2175
+#: common/models.py:2192
msgid "Logical key must be in the logical keys of the reference status"
msgstr "邏輯密鑰必須在參考狀態的邏輯鍵中"
-#: common/models.py:2182
+#: common/models.py:2199
msgid "Name must be different from the names of the reference status"
msgstr "名稱必須不同於參考狀態的名稱"
-#: common/models.py:2222 common/models.py:2329 common/models.py:2533
+#: common/models.py:2239 common/models.py:2346 common/models.py:2552
msgid "Selection List"
msgstr "選擇列表"
-#: common/models.py:2223
+#: common/models.py:2240
msgid "Selection Lists"
msgstr "選擇列表"
-#: common/models.py:2228
+#: common/models.py:2245
msgid "Name of the selection list"
msgstr "選擇列表名稱"
-#: common/models.py:2235
+#: common/models.py:2252
msgid "Description of the selection list"
msgstr "選擇列表描述"
-#: common/models.py:2241 part/models.py:1330
+#: common/models.py:2258 part/models.py:1293
msgid "Locked"
msgstr "已鎖定"
-#: common/models.py:2242
+#: common/models.py:2259
msgid "Is this selection list locked?"
msgstr "此選擇列表是否已鎖定?"
-#: common/models.py:2248
+#: common/models.py:2265
msgid "Can this selection list be used?"
msgstr "此選擇列表是否可使用?"
-#: common/models.py:2256
+#: common/models.py:2273
msgid "Source Plugin"
msgstr "來源模組"
-#: common/models.py:2257
+#: common/models.py:2274
msgid "Plugin which provides the selection list"
msgstr "提供此選擇列表的模組"
-#: common/models.py:2262
+#: common/models.py:2279
msgid "Source String"
msgstr "來源字串"
-#: common/models.py:2263
+#: common/models.py:2280
msgid "Optional string identifying the source used for this list"
msgstr "用於標示此列表來源的可選字串"
-#: common/models.py:2272
+#: common/models.py:2289
msgid "Default Entry"
msgstr "預設項目"
-#: common/models.py:2273
+#: common/models.py:2290
msgid "Default entry for this selection list"
msgstr "此選擇列表的預設項目"
-#: common/models.py:2278 common/models.py:3145
+#: common/models.py:2295 common/models.py:3164
msgid "Created"
msgstr "已創建"
-#: common/models.py:2279
+#: common/models.py:2296
msgid "Date and time that the selection list was created"
msgstr "選擇列表建立的日期與時間"
-#: common/models.py:2284
+#: common/models.py:2301
msgid "Last Updated"
msgstr "最近更新"
-#: common/models.py:2285
+#: common/models.py:2302
msgid "Date and time that the selection list was last updated"
msgstr "選擇列表最近更新的日期與時間"
-#: common/models.py:2319
+#: common/models.py:2336
msgid "Selection List Entry"
msgstr "選擇列表項目"
-#: common/models.py:2320
+#: common/models.py:2337
msgid "Selection List Entries"
msgstr "選擇列表項目"
-#: common/models.py:2330
+#: common/models.py:2347
msgid "Selection list to which this entry belongs"
msgstr "該項目所屬的選擇列表"
-#: common/models.py:2336
+#: common/models.py:2353
msgid "Value of the selection list entry"
msgstr "選擇列表項目的值"
-#: common/models.py:2342
+#: common/models.py:2359
msgid "Label for the selection list entry"
msgstr "選擇列表項目的標籤"
-#: common/models.py:2348
+#: common/models.py:2365
msgid "Description of the selection list entry"
msgstr "選擇列表項目的描述"
-#: common/models.py:2355
+#: common/models.py:2372
msgid "Is this selection list entry active?"
msgstr "此選擇列表項目是否啟用?"
-#: common/models.py:2387
+#: common/models.py:2406
msgid "Parameter Template"
msgstr "參數模板"
-#: common/models.py:2388
+#: common/models.py:2407
msgid "Parameter Templates"
msgstr ""
-#: common/models.py:2425
+#: common/models.py:2444
msgid "Checkbox parameters cannot have units"
msgstr "勾選框參數不能有單位"
-#: common/models.py:2430
+#: common/models.py:2449
msgid "Checkbox parameters cannot have choices"
msgstr "複選框參數不能有選項"
-#: common/models.py:2450 part/models.py:3707
+#: common/models.py:2469 part/models.py:3673
msgid "Choices must be unique"
msgstr "選擇必須是唯一的"
-#: common/models.py:2467
+#: common/models.py:2486
msgid "Parameter template name must be unique"
msgstr "參數模板名稱必須是唯一的"
-#: common/models.py:2489
+#: common/models.py:2508
msgid "Target model type for this parameter template"
msgstr ""
-#: common/models.py:2495
+#: common/models.py:2514
msgid "Parameter Name"
msgstr "參數名稱"
-#: common/models.py:2501 part/models.py:1283
+#: common/models.py:2520 part/models.py:1246
msgid "Units"
msgstr "單位"
-#: common/models.py:2502
+#: common/models.py:2521
msgid "Physical units for this parameter"
msgstr "此參數的物理單位"
-#: common/models.py:2510
+#: common/models.py:2529
msgid "Parameter description"
msgstr "參數説明"
-#: common/models.py:2516
+#: common/models.py:2535
msgid "Checkbox"
msgstr "勾選框"
-#: common/models.py:2517
+#: common/models.py:2536
msgid "Is this parameter a checkbox?"
msgstr "此參數是否為勾選框?"
-#: common/models.py:2522 part/models.py:3794
+#: common/models.py:2541 part/models.py:3760
msgid "Choices"
msgstr "選項"
-#: common/models.py:2523
+#: common/models.py:2542
msgid "Valid choices for this parameter (comma-separated)"
msgstr "此參數的有效選擇 (逗號分隔)"
-#: common/models.py:2534
+#: common/models.py:2553
msgid "Selection list for this parameter"
msgstr "此參數的選擇清單"
-#: common/models.py:2539 part/models.py:3769 report/models.py:287
+#: common/models.py:2558 part/models.py:3735 report/models.py:287
msgid "Enabled"
msgstr "已啓用"
-#: common/models.py:2540
+#: common/models.py:2559
msgid "Is this parameter template enabled?"
msgstr ""
-#: common/models.py:2581
+#: common/models.py:2600
msgid "Parameter"
-msgstr ""
+msgstr "參數"
-#: common/models.py:2582
+#: common/models.py:2601
msgid "Parameters"
-msgstr ""
+msgstr "參數集"
-#: common/models.py:2628
+#: common/models.py:2647
msgid "Invalid choice for parameter value"
msgstr "無效的參數值選擇"
-#: common/models.py:2698 common/serializers.py:783
+#: common/models.py:2717 common/serializers.py:882
msgid "Invalid model type specified for parameter"
msgstr ""
-#: common/models.py:2734
+#: common/models.py:2753
msgid "Model ID"
msgstr ""
-#: common/models.py:2735
+#: common/models.py:2754
msgid "ID of the target model for this parameter"
msgstr ""
-#: common/models.py:2744 common/setting/system.py:450 report/models.py:373
+#: common/models.py:2763 common/setting/system.py:464 report/models.py:373
#: report/models.py:669 report/serializers.py:94 report/serializers.py:135
-#: stock/serializers.py:234
+#: stock/serializers.py:235
msgid "Template"
msgstr "模板"
-#: common/models.py:2745
+#: common/models.py:2764
msgid "Parameter template"
msgstr ""
-#: common/models.py:2750 common/models.py:2792 importer/models.py:546
+#: common/models.py:2769 common/models.py:2811 importer/models.py:574
msgid "Data"
msgstr "數據"
-#: common/models.py:2751
+#: common/models.py:2770
msgid "Parameter Value"
msgstr "參數值"
-#: common/models.py:2760 company/models.py:810 order/serializers.py:894
-#: order/serializers.py:2064 part/models.py:4075 part/models.py:4444
+#: common/models.py:2779 company/models.py:826 order/serializers.py:852
+#: order/serializers.py:2028 part/models.py:4053 part/models.py:4422
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_purchase_order_report.html:39
#: report/templates/report/inventree_return_order_report.html:27
#: report/templates/report/inventree_sales_order_report.html:32
#: report/templates/report/inventree_stock_location_report.html:105
-#: stock/serializers.py:813
+#: stock/serializers.py:819
msgid "Note"
msgstr "備註"
-#: common/models.py:2761 stock/serializers.py:718
+#: common/models.py:2780 stock/serializers.py:724
msgid "Optional note field"
msgstr "可選註釋字段"
-#: common/models.py:2788
+#: common/models.py:2807
msgid "Barcode Scan"
msgstr "掃描條碼"
-#: common/models.py:2793
+#: common/models.py:2812
msgid "Barcode data"
msgstr "條碼數據"
-#: common/models.py:2804
+#: common/models.py:2823
msgid "User who scanned the barcode"
msgstr "掃描條碼"
-#: common/models.py:2809 importer/models.py:69
+#: common/models.py:2828 importer/models.py:70
msgid "Timestamp"
msgstr "時間戳"
-#: common/models.py:2810
+#: common/models.py:2829
msgid "Date and time of the barcode scan"
msgstr "掃描條碼的日期和時間"
-#: common/models.py:2816
+#: common/models.py:2835
msgid "URL endpoint which processed the barcode"
msgstr "處理條碼的 URL 終點"
-#: common/models.py:2823 order/models.py:1833 plugin/serializers.py:93
+#: common/models.py:2842 order/models.py:1848 plugin/serializers.py:93
msgid "Context"
msgstr "上下文"
-#: common/models.py:2824
+#: common/models.py:2843
msgid "Context data for the barcode scan"
msgstr "掃描條碼的上下文數據"
-#: common/models.py:2831
+#: common/models.py:2850
msgid "Response"
msgstr "響應"
-#: common/models.py:2832
+#: common/models.py:2851
msgid "Response data from the barcode scan"
msgstr "掃描條碼的響應數據"
-#: common/models.py:2838 report/templates/report/inventree_test_report.html:103
-#: stock/models.py:2970
+#: common/models.py:2857 report/templates/report/inventree_test_report.html:103
+#: stock/models.py:3059
msgid "Result"
msgstr "結果"
-#: common/models.py:2839
+#: common/models.py:2858
msgid "Was the barcode scan successful?"
msgstr "條碼掃描成功嗎?"
-#: common/models.py:2921
+#: common/models.py:2940
msgid "An error occurred"
msgstr "發生錯誤"
-#: common/models.py:2942
+#: common/models.py:2961
msgid "INVE-E8: Email log deletion is protected. Set INVENTREE_PROTECT_EMAIL_LOG to False to allow deletion."
msgstr "INVE-E8:已保護電子郵件日誌刪除。請將 INVENTREE_PROTECT_EMAIL_LOG 設為 False 以允許刪除。"
-#: common/models.py:2989
+#: common/models.py:3008
msgid "Email Message"
msgstr "電子郵件訊息"
-#: common/models.py:2990
+#: common/models.py:3009
msgid "Email Messages"
msgstr "電子郵件訊息"
-#: common/models.py:2997
+#: common/models.py:3016
msgid "Announced"
msgstr "已公告"
-#: common/models.py:2999
+#: common/models.py:3018
msgid "Sent"
msgstr "已發送"
-#: common/models.py:3000
+#: common/models.py:3019
msgid "Failed"
msgstr "失敗"
-#: common/models.py:3003
+#: common/models.py:3022
msgid "Delivered"
msgstr "已送達"
-#: common/models.py:3011
+#: common/models.py:3030
msgid "Confirmed"
msgstr "已確認"
-#: common/models.py:3017
+#: common/models.py:3036
msgid "Inbound"
msgstr "入站"
-#: common/models.py:3018
+#: common/models.py:3037
msgid "Outbound"
msgstr "出站"
-#: common/models.py:3023
+#: common/models.py:3042
msgid "No Reply"
msgstr "不回覆"
-#: common/models.py:3024
+#: common/models.py:3043
msgid "Track Delivery"
msgstr "追蹤投遞"
-#: common/models.py:3025
+#: common/models.py:3044
msgid "Track Read"
msgstr "追蹤已讀"
-#: common/models.py:3026
+#: common/models.py:3045
msgid "Track Click"
msgstr "追蹤點擊"
-#: common/models.py:3029 common/models.py:3132
+#: common/models.py:3048 common/models.py:3151
msgid "Global ID"
msgstr "全域 ID"
-#: common/models.py:3042
+#: common/models.py:3061
msgid "Identifier for this message (might be supplied by external system)"
msgstr "此訊息的識別碼(可能由外部系統提供)"
-#: common/models.py:3049
+#: common/models.py:3068
msgid "Thread ID"
msgstr "討論串 ID"
-#: common/models.py:3051
+#: common/models.py:3070
msgid "Identifier for this message thread (might be supplied by external system)"
msgstr "此訊息討論串的識別碼(可能由外部系統提供)"
-#: common/models.py:3060
+#: common/models.py:3079
msgid "Thread"
msgstr "討論串"
-#: common/models.py:3061
+#: common/models.py:3080
msgid "Linked thread for this message"
msgstr "此訊息所連結的討論串"
-#: common/models.py:3077
+#: common/models.py:3096
msgid "Priority"
-msgstr ""
+msgstr "優先序"
-#: common/models.py:3119
+#: common/models.py:3138
msgid "Email Thread"
msgstr "電子郵件討論串"
-#: common/models.py:3120
+#: common/models.py:3139
msgid "Email Threads"
msgstr "電子郵件討論串"
-#: common/models.py:3126 generic/states/serializers.py:16
+#: common/models.py:3145 generic/states/serializers.py:16
#: machine/serializers.py:24 plugin/models.py:46 users/models.py:113
msgid "Key"
msgstr "鍵"
-#: common/models.py:3129
+#: common/models.py:3148
msgid "Unique key for this thread (used to identify the thread)"
msgstr "此討論串的唯一鍵(用於辨識)"
-#: common/models.py:3133
+#: common/models.py:3152
msgid "Unique identifier for this thread"
msgstr "此討論串的唯一識別碼"
-#: common/models.py:3140
+#: common/models.py:3159
msgid "Started Internal"
msgstr "內部建立"
-#: common/models.py:3141
+#: common/models.py:3160
msgid "Was this thread started internally?"
msgstr "此討論串是否為內部建立?"
-#: common/models.py:3146
+#: common/models.py:3165
msgid "Date and time that the thread was created"
msgstr "討論串建立的日期時間"
-#: common/models.py:3151
+#: common/models.py:3170
msgid "Date and time that the thread was last updated"
msgstr "討論串最後更新的日期時間"
@@ -2339,7 +2347,7 @@ msgstr "{verbose_name} 已取消"
msgid "A order that is assigned to you was canceled"
msgstr "分配給您的訂單已取消"
-#: common/notifications.py:73 common/notifications.py:80 order/api.py:600
+#: common/notifications.py:73 common/notifications.py:80 order/api.py:604
msgid "Items Received"
msgstr "收到的物品"
@@ -2351,93 +2359,101 @@ msgstr "已根據採購訂單收到物品"
msgid "Items have been received against a return order"
msgstr "已收到退貨訂單中的物品"
-#: common/serializers.py:149
+#: common/serializers.py:125
+msgid "Indicates if changing this setting requires confirmation"
+msgstr ""
+
+#: common/serializers.py:139
+msgid "This setting requires confirmation before changing. Please confirm the change."
+msgstr ""
+
+#: common/serializers.py:172
msgid "Indicates if the setting is overridden by an environment variable"
msgstr "表示此設定是否被環境變數覆蓋"
-#: common/serializers.py:151
+#: common/serializers.py:174
msgid "Override"
msgstr "覆蓋"
-#: common/serializers.py:502
+#: common/serializers.py:601
msgid "Is Running"
msgstr "正在運行"
-#: common/serializers.py:508
+#: common/serializers.py:607
msgid "Pending Tasks"
msgstr "等待完成的任務"
-#: common/serializers.py:514
+#: common/serializers.py:613
msgid "Scheduled Tasks"
msgstr "預定的任務"
-#: common/serializers.py:520
+#: common/serializers.py:619
msgid "Failed Tasks"
msgstr "失敗的任務"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Task ID"
msgstr "任務ID"
-#: common/serializers.py:535
+#: common/serializers.py:634
msgid "Unique task ID"
msgstr "唯一任務ID"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock"
msgstr "鎖定"
-#: common/serializers.py:537
+#: common/serializers.py:636
msgid "Lock time"
msgstr "鎖定時間"
-#: common/serializers.py:539
+#: common/serializers.py:638
msgid "Task name"
msgstr "任務名稱"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function"
msgstr "功能"
-#: common/serializers.py:541
+#: common/serializers.py:640
msgid "Function name"
msgstr "功能名稱"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Arguments"
msgstr "參數"
-#: common/serializers.py:543
+#: common/serializers.py:642
msgid "Task arguments"
msgstr "任務參數"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Keyword Arguments"
msgstr "關鍵字參數"
-#: common/serializers.py:546
+#: common/serializers.py:645
msgid "Task keyword arguments"
msgstr "任務關鍵詞參數"
-#: common/serializers.py:656
+#: common/serializers.py:755
msgid "Filename"
msgstr "檔案名稱"
-#: common/serializers.py:663 common/serializers.py:730
-#: common/serializers.py:805 importer/models.py:89 report/api.py:41
+#: common/serializers.py:762 common/serializers.py:829
+#: common/serializers.py:904 importer/models.py:90 report/api.py:41
#: report/models.py:293 report/serializers.py:52
msgid "Model Type"
msgstr "模型類型"
-#: common/serializers.py:691
+#: common/serializers.py:790
msgid "User does not have permission to create or edit attachments for this model"
msgstr "用户無權為此模式創建或編輯附件"
-#: common/serializers.py:786
+#: common/serializers.py:885
msgid "User does not have permission to create or edit parameters for this model"
msgstr ""
-#: common/serializers.py:850 common/serializers.py:953
+#: common/serializers.py:955 common/serializers.py:1058
msgid "Selection list is locked"
msgstr "選擇列表已鎖定"
@@ -2445,1128 +2461,1157 @@ msgstr "選擇列表已鎖定"
msgid "No group"
msgstr "無分組"
-#: common/setting/system.py:155
+#: common/setting/system.py:169
msgid "Site URL is locked by configuration"
msgstr "網站 URL 已配置為鎖定"
-#: common/setting/system.py:172
+#: common/setting/system.py:186
msgid "Restart required"
msgstr "需要重啓"
-#: common/setting/system.py:173
+#: common/setting/system.py:187
msgid "A setting has been changed which requires a server restart"
msgstr "設置已更改,需要服務器重啓"
-#: common/setting/system.py:179
+#: common/setting/system.py:193
msgid "Pending migrations"
msgstr "等待遷移"
-#: common/setting/system.py:180
+#: common/setting/system.py:194
msgid "Number of pending database migrations"
msgstr "待處理的數據庫遷移數"
-#: common/setting/system.py:185
+#: common/setting/system.py:199
msgid "Active warning codes"
msgstr "啟用中的警告碼"
-#: common/setting/system.py:186
+#: common/setting/system.py:200
msgid "A dict of active warning codes"
msgstr "啟用中警告碼的字典"
-#: common/setting/system.py:192
+#: common/setting/system.py:206
msgid "Instance ID"
msgstr "實例 ID"
-#: common/setting/system.py:193
+#: common/setting/system.py:207
msgid "Unique identifier for this InvenTree instance"
msgstr "此 InvenTree 實例的唯一識別碼"
-#: common/setting/system.py:198
+#: common/setting/system.py:212
msgid "Announce ID"
msgstr "公告 ID"
-#: common/setting/system.py:200
+#: common/setting/system.py:214
msgid "Announce the instance ID of the server in the server status info (unauthenticated)"
msgstr "在伺服器狀態資訊中公告此伺服器的實例 ID(未驗證也可見)"
-#: common/setting/system.py:206
+#: common/setting/system.py:220
msgid "Server Instance Name"
msgstr "服務器實例名稱"
-#: common/setting/system.py:208
+#: common/setting/system.py:222
msgid "String descriptor for the server instance"
msgstr "服務器實例的字符串描述符"
-#: common/setting/system.py:212
+#: common/setting/system.py:226
msgid "Use instance name"
msgstr "使用實例名稱"
-#: common/setting/system.py:213
+#: common/setting/system.py:227
msgid "Use the instance name in the title-bar"
msgstr "在標題欄中使用實例名稱"
-#: common/setting/system.py:218
+#: common/setting/system.py:232
msgid "Restrict showing `about`"
msgstr "限制顯示 `關於` 信息"
-#: common/setting/system.py:219
+#: common/setting/system.py:233
msgid "Show the `about` modal only to superusers"
msgstr "只向超級管理員顯示關於信息"
-#: common/setting/system.py:224 company/models.py:145 company/models.py:146
+#: common/setting/system.py:238 company/models.py:147 company/models.py:148
msgid "Company name"
msgstr "公司名稱"
-#: common/setting/system.py:225
+#: common/setting/system.py:239
msgid "Internal company name"
msgstr "內部公司名稱"
-#: common/setting/system.py:229
+#: common/setting/system.py:243
msgid "Base URL"
msgstr "基本 URL"
-#: common/setting/system.py:230
+#: common/setting/system.py:244
msgid "Base URL for server instance"
msgstr "服務器實例的基準 URL"
-#: common/setting/system.py:236
+#: common/setting/system.py:250
msgid "Default Currency"
msgstr "默認貨幣單位"
-#: common/setting/system.py:237
+#: common/setting/system.py:251
msgid "Select base currency for pricing calculations"
msgstr "選擇價格計算的默認貨幣"
-#: common/setting/system.py:243
+#: common/setting/system.py:257
msgid "Supported Currencies"
msgstr "支持幣種"
-#: common/setting/system.py:244
+#: common/setting/system.py:258
msgid "List of supported currency codes"
msgstr "支持的貨幣代碼列表"
-#: common/setting/system.py:250
+#: common/setting/system.py:264
msgid "Currency Update Interval"
msgstr "貨幣更新間隔時間"
-#: common/setting/system.py:251
+#: common/setting/system.py:265
msgid "How often to update exchange rates (set to zero to disable)"
msgstr "檢查更新的頻率(設置為零以禁用)"
-#: common/setting/system.py:253 common/setting/system.py:293
-#: common/setting/system.py:306 common/setting/system.py:314
-#: common/setting/system.py:321 common/setting/system.py:330
-#: common/setting/system.py:339 common/setting/system.py:580
-#: common/setting/system.py:608 common/setting/system.py:707
-#: common/setting/system.py:1103 common/setting/system.py:1119
+#: common/setting/system.py:267 common/setting/system.py:307
+#: common/setting/system.py:320 common/setting/system.py:328
+#: common/setting/system.py:335 common/setting/system.py:344
+#: common/setting/system.py:353 common/setting/system.py:594
+#: common/setting/system.py:622 common/setting/system.py:729
+#: common/setting/system.py:1130 common/setting/system.py:1146
+#: common/setting/system.py:1163
msgid "days"
msgstr "天"
-#: common/setting/system.py:257
+#: common/setting/system.py:271
msgid "Currency Update Plugin"
msgstr "幣種更新插件"
-#: common/setting/system.py:258
+#: common/setting/system.py:272
msgid "Currency update plugin to use"
msgstr "使用貨幣更新插件"
-#: common/setting/system.py:263
+#: common/setting/system.py:277
msgid "Download from URL"
msgstr "從URL下載"
-#: common/setting/system.py:264
+#: common/setting/system.py:278
msgid "Allow download of remote images and files from external URL"
msgstr "允許從外部 URL 下載遠程圖片和文件"
-#: common/setting/system.py:269
+#: common/setting/system.py:283
msgid "Download Size Limit"
msgstr "下載大小限制"
-#: common/setting/system.py:270
+#: common/setting/system.py:284
msgid "Maximum allowable download size for remote image"
msgstr "遠程圖片的最大允許下載大小"
-#: common/setting/system.py:276
+#: common/setting/system.py:290
msgid "User-agent used to download from URL"
msgstr "用於從 URL 下載的 User-agent"
-#: common/setting/system.py:278
+#: common/setting/system.py:292
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "允許覆蓋用於從外部 URL 下載圖片和文件的 user-agent(留空為默認值)"
-#: common/setting/system.py:283
+#: common/setting/system.py:297
msgid "Strict URL Validation"
msgstr "嚴格的 URL 驗證"
-#: common/setting/system.py:284
+#: common/setting/system.py:298
msgid "Require schema specification when validating URLs"
msgstr "驗證 URL 時需要 schema 規範"
-#: common/setting/system.py:289
+#: common/setting/system.py:303
msgid "Update Check Interval"
msgstr "更新檢查間隔"
-#: common/setting/system.py:290
+#: common/setting/system.py:304
msgid "How often to check for updates (set to zero to disable)"
msgstr "檢查更新的頻率(設置為零以禁用)"
-#: common/setting/system.py:296
+#: common/setting/system.py:310
msgid "Automatic Backup"
msgstr "自動備份"
-#: common/setting/system.py:297
+#: common/setting/system.py:311
msgid "Enable automatic backup of database and media files"
msgstr "啟動資料庫和媒體文件自動備份"
-#: common/setting/system.py:302
+#: common/setting/system.py:316
msgid "Auto Backup Interval"
msgstr "自動備份間隔"
-#: common/setting/system.py:303
+#: common/setting/system.py:317
msgid "Specify number of days between automated backup events"
msgstr "指定自動備份之間的間隔天數"
-#: common/setting/system.py:309
+#: common/setting/system.py:323
msgid "Task Deletion Interval"
msgstr "任務刪除間隔"
-#: common/setting/system.py:311
+#: common/setting/system.py:325
msgid "Background task results will be deleted after specified number of days"
msgstr "後台任務結果將在指定天數後刪除"
-#: common/setting/system.py:318
+#: common/setting/system.py:332
msgid "Error Log Deletion Interval"
msgstr "錯誤日誌刪除間隔"
-#: common/setting/system.py:319
+#: common/setting/system.py:333
msgid "Error logs will be deleted after specified number of days"
msgstr "錯誤日誌將在指定天數後被刪除"
-#: common/setting/system.py:325
+#: common/setting/system.py:339
msgid "Notification Deletion Interval"
msgstr "通知刪除間隔"
-#: common/setting/system.py:327
+#: common/setting/system.py:341
msgid "User notifications will be deleted after specified number of days"
msgstr "用户通知將在指定天數後被刪除"
-#: common/setting/system.py:334
+#: common/setting/system.py:348
msgid "Email Deletion Interval"
msgstr "電子郵件刪除間隔"
-#: common/setting/system.py:336
+#: common/setting/system.py:350
msgid "Email messages will be deleted after specified number of days"
msgstr "電子郵件訊息將在指定天數後刪除"
-#: common/setting/system.py:343
+#: common/setting/system.py:357
msgid "Protect Email Log"
msgstr "保護電子郵件日誌"
-#: common/setting/system.py:344
+#: common/setting/system.py:358
msgid "Prevent deletion of email log entries"
msgstr "防止刪除電子郵件日誌紀錄"
-#: common/setting/system.py:349
+#: common/setting/system.py:363
msgid "Barcode Support"
msgstr "條形碼支持"
-#: common/setting/system.py:350
+#: common/setting/system.py:364
msgid "Enable barcode scanner support in the web interface"
msgstr "在網頁界面啓用條形碼掃描器支持"
-#: common/setting/system.py:355
+#: common/setting/system.py:369
msgid "Store Barcode Results"
msgstr "存儲條碼結果"
-#: common/setting/system.py:356
+#: common/setting/system.py:370
msgid "Store barcode scan results in the database"
msgstr "存儲條碼掃描結果"
-#: common/setting/system.py:361
+#: common/setting/system.py:375
msgid "Barcode Scans Maximum Count"
msgstr "條碼掃描最大計數"
-#: common/setting/system.py:362
+#: common/setting/system.py:376
msgid "Maximum number of barcode scan results to store"
msgstr "存儲條碼掃描結果的最大數量"
-#: common/setting/system.py:367
+#: common/setting/system.py:381
msgid "Barcode Input Delay"
msgstr "條形碼掃描延遲設置"
-#: common/setting/system.py:368
+#: common/setting/system.py:382
msgid "Barcode input processing delay time"
msgstr "條形碼輸入處理延遲時間"
-#: common/setting/system.py:374
+#: common/setting/system.py:388
msgid "Barcode Webcam Support"
msgstr "條碼攝像頭支持"
-#: common/setting/system.py:375
+#: common/setting/system.py:389
msgid "Allow barcode scanning via webcam in browser"
msgstr "允許通過網絡攝像頭掃描條形碼"
-#: common/setting/system.py:380
+#: common/setting/system.py:394
msgid "Barcode Show Data"
msgstr "條形碼顯示數據"
-#: common/setting/system.py:381
+#: common/setting/system.py:395
msgid "Display barcode data in browser as text"
msgstr "在瀏覽器中將條形碼數據顯示為文本"
-#: common/setting/system.py:386
+#: common/setting/system.py:400
msgid "Barcode Generation Plugin"
msgstr "條形碼生成插件"
-#: common/setting/system.py:387
+#: common/setting/system.py:401
msgid "Plugin to use for internal barcode data generation"
msgstr "用於內部條形碼數據生成的插件"
-#: common/setting/system.py:392
+#: common/setting/system.py:406
msgid "Part Revisions"
msgstr "零件修訂"
-#: common/setting/system.py:393
+#: common/setting/system.py:407
msgid "Enable revision field for Part"
msgstr "啓用零件修訂字段"
-#: common/setting/system.py:398
+#: common/setting/system.py:412
msgid "Assembly Revision Only"
msgstr "僅限裝配修訂版本"
-#: common/setting/system.py:399
+#: common/setting/system.py:413
msgid "Only allow revisions for assembly parts"
msgstr "僅允許對裝配零件進行修訂"
-#: common/setting/system.py:404
+#: common/setting/system.py:418
msgid "Allow Deletion from Assembly"
msgstr "允許從裝配中刪除"
-#: common/setting/system.py:405
+#: common/setting/system.py:419
msgid "Allow deletion of parts which are used in an assembly"
msgstr "允許刪除已在裝配中使用的零件"
-#: common/setting/system.py:410
+#: common/setting/system.py:424
msgid "IPN Regex"
msgstr "IPN 內部零件號"
-#: common/setting/system.py:411
+#: common/setting/system.py:425
msgid "Regular expression pattern for matching Part IPN"
msgstr "匹配零件 IPN(內部零件號)的正則表達式模式"
-#: common/setting/system.py:414
+#: common/setting/system.py:428
msgid "Allow Duplicate IPN"
msgstr "允許重複的 IPN(內部零件號)"
-#: common/setting/system.py:415
+#: common/setting/system.py:429
msgid "Allow multiple parts to share the same IPN"
msgstr "允許多個零件共享相同的 IPN(內部零件號)"
-#: common/setting/system.py:420
+#: common/setting/system.py:434
msgid "Allow Editing IPN"
msgstr "允許編輯 IPN(內部零件號)"
-#: common/setting/system.py:421
+#: common/setting/system.py:435
msgid "Allow changing the IPN value while editing a part"
msgstr "允許編輯零件時更改內部零件號"
-#: common/setting/system.py:426
+#: common/setting/system.py:440
msgid "Copy Part BOM Data"
msgstr "複製零件物料清單數據"
-#: common/setting/system.py:427
+#: common/setting/system.py:441
msgid "Copy BOM data by default when duplicating a part"
msgstr "複製零件時默認複製物料清單數據"
-#: common/setting/system.py:432
+#: common/setting/system.py:446
msgid "Copy Part Parameter Data"
msgstr "複製零件參數數據"
-#: common/setting/system.py:433
+#: common/setting/system.py:447
msgid "Copy parameter data by default when duplicating a part"
msgstr "複製零件時默認複製參數數據"
-#: common/setting/system.py:438
+#: common/setting/system.py:452
msgid "Copy Part Test Data"
msgstr "複製零件測試數據"
-#: common/setting/system.py:439
+#: common/setting/system.py:453
msgid "Copy test data by default when duplicating a part"
msgstr "複製零件時默認複製測試數據"
-#: common/setting/system.py:444
+#: common/setting/system.py:458
msgid "Copy Category Parameter Templates"
msgstr "複製類別參數模板"
-#: common/setting/system.py:445
+#: common/setting/system.py:459
msgid "Copy category parameter templates when creating a part"
msgstr "創建零件時複製類別參數模板"
-#: common/setting/system.py:451
+#: common/setting/system.py:465
msgid "Parts are templates by default"
msgstr "零件默認為模板"
-#: common/setting/system.py:457
+#: common/setting/system.py:471
msgid "Parts can be assembled from other components by default"
msgstr "默認情況下,元件可由其他零件組裝而成"
-#: common/setting/system.py:462 part/models.py:1296 part/serializers.py:1599
-#: part/serializers.py:1606
+#: common/setting/system.py:476 part/models.py:1259 part/serializers.py:1724
+#: part/serializers.py:1731
msgid "Component"
msgstr "組件"
-#: common/setting/system.py:463
+#: common/setting/system.py:477
msgid "Parts can be used as sub-components by default"
msgstr "默認情況下,零件可用作子部件"
-#: common/setting/system.py:468 part/models.py:1314
+#: common/setting/system.py:482 part/models.py:1277
msgid "Purchaseable"
msgstr "可購買"
-#: common/setting/system.py:469
+#: common/setting/system.py:483
msgid "Parts are purchaseable by default"
msgstr "默認情況下可購買零件"
-#: common/setting/system.py:474 part/models.py:1320 stock/api.py:643
+#: common/setting/system.py:488 part/models.py:1283 stock/api.py:642
msgid "Salable"
msgstr "可銷售"
-#: common/setting/system.py:475
+#: common/setting/system.py:489
msgid "Parts are salable by default"
msgstr "零件默認為可銷售"
-#: common/setting/system.py:481
+#: common/setting/system.py:495
msgid "Parts are trackable by default"
msgstr "默認情況下可跟蹤零件"
-#: common/setting/system.py:486 part/models.py:1336
+#: common/setting/system.py:500 part/models.py:1299
msgid "Virtual"
msgstr "虛擬的"
-#: common/setting/system.py:487
+#: common/setting/system.py:501
msgid "Parts are virtual by default"
msgstr "默認情況下,零件是虛擬的"
-#: common/setting/system.py:492
+#: common/setting/system.py:506
msgid "Show related parts"
msgstr "顯示相關零件"
-#: common/setting/system.py:493
+#: common/setting/system.py:507
msgid "Display related parts for a part"
msgstr "顯示零件的相關零件"
-#: common/setting/system.py:498
+#: common/setting/system.py:512
msgid "Initial Stock Data"
msgstr "初始庫存數據"
-#: common/setting/system.py:499
+#: common/setting/system.py:513
msgid "Allow creation of initial stock when adding a new part"
msgstr "允許在添加新零件時創建初始庫存"
-#: common/setting/system.py:504
+#: common/setting/system.py:518
msgid "Initial Supplier Data"
msgstr "初始供應商數據"
-#: common/setting/system.py:506
+#: common/setting/system.py:520
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "允許在添加新零件時創建初始供應商數據"
-#: common/setting/system.py:512
+#: common/setting/system.py:526
msgid "Part Name Display Format"
msgstr "零件名稱顯示格式"
-#: common/setting/system.py:513
+#: common/setting/system.py:527
msgid "Format to display the part name"
msgstr "顯示零件名稱的格式"
-#: common/setting/system.py:519
+#: common/setting/system.py:533
msgid "Part Category Default Icon"
msgstr "零件類別默認圖標"
-#: common/setting/system.py:520
+#: common/setting/system.py:534
msgid "Part category default icon (empty means no icon)"
msgstr "零件類別默認圖標 (空表示沒有圖標)"
-#: common/setting/system.py:525
+#: common/setting/system.py:539
msgid "Minimum Pricing Decimal Places"
msgstr "最小定價小數位數"
-#: common/setting/system.py:527
+#: common/setting/system.py:541
msgid "Minimum number of decimal places to display when rendering pricing data"
msgstr "呈現定價數據時顯示的最小小數位數"
-#: common/setting/system.py:538
+#: common/setting/system.py:552
msgid "Maximum Pricing Decimal Places"
msgstr "最大定價小數位數"
-#: common/setting/system.py:540
+#: common/setting/system.py:554
msgid "Maximum number of decimal places to display when rendering pricing data"
msgstr "呈現定價數據時顯示的最大小數位數"
-#: common/setting/system.py:551
+#: common/setting/system.py:565
msgid "Use Supplier Pricing"
msgstr "使用供應商定價"
-#: common/setting/system.py:553
+#: common/setting/system.py:567
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "將供應商的價批發價納入總體定價計算中"
-#: common/setting/system.py:559
+#: common/setting/system.py:573
msgid "Purchase History Override"
msgstr "購買歷史記錄覆蓋"
-#: common/setting/system.py:561
+#: common/setting/system.py:575
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "歷史採購訂單定價優先於供應商批發價"
-#: common/setting/system.py:567
+#: common/setting/system.py:581
msgid "Use Stock Item Pricing"
msgstr "使用庫存項定價"
-#: common/setting/system.py:569
+#: common/setting/system.py:583
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "使用手動輸入的庫存數據進行定價計算"
-#: common/setting/system.py:575
+#: common/setting/system.py:589
msgid "Stock Item Pricing Age"
msgstr "庫存項目定價時間"
-#: common/setting/system.py:577
+#: common/setting/system.py:591
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "從定價計算中排除超過此天數的庫存項目"
-#: common/setting/system.py:584
+#: common/setting/system.py:598
msgid "Use Variant Pricing"
msgstr "使用變體定價"
-#: common/setting/system.py:585
+#: common/setting/system.py:599
msgid "Include variant pricing in overall pricing calculations"
msgstr "在整體定價計算中包括變體定價"
-#: common/setting/system.py:590
+#: common/setting/system.py:604
msgid "Active Variants Only"
msgstr "僅限活躍變體"
-#: common/setting/system.py:592
+#: common/setting/system.py:606
msgid "Only use active variant parts for calculating variant pricing"
msgstr "僅使用活躍變體零件計算變體價格"
-#: common/setting/system.py:598
+#: common/setting/system.py:612
msgid "Auto Update Pricing"
msgstr "自動更新定價"
-#: common/setting/system.py:600
+#: common/setting/system.py:614
msgid "Automatically update part pricing when internal data changes"
msgstr "當內部資料變更時自動更新零件定價"
-#: common/setting/system.py:606
+#: common/setting/system.py:620
msgid "Pricing Rebuild Interval"
msgstr "價格重建間隔"
-#: common/setting/system.py:607
+#: common/setting/system.py:621
msgid "Number of days before part pricing is automatically updated"
msgstr "零件價格自動更新前的天數"
-#: common/setting/system.py:613
+#: common/setting/system.py:627
msgid "Internal Prices"
msgstr "內部價格"
-#: common/setting/system.py:614
+#: common/setting/system.py:628
msgid "Enable internal prices for parts"
msgstr "啓用內部零件價格"
-#: common/setting/system.py:619
+#: common/setting/system.py:633
msgid "Internal Price Override"
msgstr "覆蓋內部價格"
-#: common/setting/system.py:621
+#: common/setting/system.py:635
msgid "If available, internal prices override price range calculations"
msgstr "如果有內部價格,內部價格將覆蓋價格範圍計算"
-#: common/setting/system.py:627
+#: common/setting/system.py:641
+msgid "Allow BOM Zero Quantity"
+msgstr ""
+
+#: common/setting/system.py:643
+msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity"
+msgstr ""
+
+#: common/setting/system.py:649
msgid "Enable label printing"
msgstr "啓用標籤打印功能"
-#: common/setting/system.py:628
+#: common/setting/system.py:650
msgid "Enable label printing from the web interface"
msgstr "啓用從網絡界面打印標籤"
-#: common/setting/system.py:633
+#: common/setting/system.py:655
msgid "Label Image DPI"
msgstr "標籤圖片 DPI"
-#: common/setting/system.py:635
+#: common/setting/system.py:657
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "生成圖像文件以供標籤打印插件使用時的 DPI 分辨率"
-#: common/setting/system.py:641
+#: common/setting/system.py:663
msgid "Enable Reports"
msgstr "啓用報告"
-#: common/setting/system.py:642
+#: common/setting/system.py:664
msgid "Enable generation of reports"
msgstr "啓用報告生成"
-#: common/setting/system.py:647
+#: common/setting/system.py:669
msgid "Debug Mode"
msgstr "調試模式"
-#: common/setting/system.py:648
+#: common/setting/system.py:670
msgid "Generate reports in debug mode (HTML output)"
msgstr "以調試模式生成報告(HTML 輸出)"
-#: common/setting/system.py:653
+#: common/setting/system.py:675
msgid "Log Report Errors"
msgstr "日誌錯誤報告"
-#: common/setting/system.py:654
+#: common/setting/system.py:676
msgid "Log errors which occur when generating reports"
msgstr "記錄生成報告時出現的錯誤"
-#: common/setting/system.py:659 plugin/builtin/labels/label_sheet.py:29
+#: common/setting/system.py:681 plugin/builtin/labels/label_sheet.py:29
#: report/models.py:381
msgid "Page Size"
msgstr "頁面大小"
-#: common/setting/system.py:660
+#: common/setting/system.py:682
msgid "Default page size for PDF reports"
msgstr "PDF 報告默認頁面大小"
-#: common/setting/system.py:665
+#: common/setting/system.py:687
msgid "Enforce Parameter Units"
msgstr "強制參數單位"
-#: common/setting/system.py:667
+#: common/setting/system.py:689
msgid "If units are provided, parameter values must match the specified units"
msgstr "如果提供了單位,參數值必須與指定的單位匹配"
-#: common/setting/system.py:673
+#: common/setting/system.py:695
msgid "Globally Unique Serials"
msgstr "全局唯一序列號"
-#: common/setting/system.py:674
+#: common/setting/system.py:696
msgid "Serial numbers for stock items must be globally unique"
msgstr "庫存項的序列號必須全局唯一"
-#: common/setting/system.py:679
+#: common/setting/system.py:701
msgid "Delete Depleted Stock"
msgstr "刪除已耗盡的庫存"
-#: common/setting/system.py:680
+#: common/setting/system.py:702
msgid "Determines default behavior when a stock item is depleted"
msgstr "設置庫存耗盡時的默認行為"
-#: common/setting/system.py:685
+#: common/setting/system.py:707
msgid "Batch Code Template"
msgstr "批號模板"
-#: common/setting/system.py:686
+#: common/setting/system.py:708
msgid "Template for generating default batch codes for stock items"
msgstr "為庫存項生成默認批號的模板"
-#: common/setting/system.py:690
+#: common/setting/system.py:712
msgid "Stock Expiry"
msgstr "庫存過期"
-#: common/setting/system.py:691
+#: common/setting/system.py:713
msgid "Enable stock expiry functionality"
msgstr "啓用庫存過期功能"
-#: common/setting/system.py:696
+#: common/setting/system.py:718
msgid "Sell Expired Stock"
msgstr "銷售過期庫存"
-#: common/setting/system.py:697
+#: common/setting/system.py:719
msgid "Allow sale of expired stock"
msgstr "允許銷售過期庫存"
-#: common/setting/system.py:702
+#: common/setting/system.py:724
msgid "Stock Stale Time"
msgstr "庫存過期時間"
-#: common/setting/system.py:704
+#: common/setting/system.py:726
msgid "Number of days stock items are considered stale before expiring"
msgstr "庫存項在到期前被視為過期的天數"
-#: common/setting/system.py:711
+#: common/setting/system.py:733
msgid "Build Expired Stock"
msgstr "生產過期庫存"
-#: common/setting/system.py:712
+#: common/setting/system.py:734
msgid "Allow building with expired stock"
msgstr "允許用過期的庫存生產"
-#: common/setting/system.py:717
+#: common/setting/system.py:739
msgid "Stock Ownership Control"
msgstr "庫存所有權控制"
-#: common/setting/system.py:718
+#: common/setting/system.py:740
msgid "Enable ownership control over stock locations and items"
msgstr "啓用庫存地點和項目的所有權控制"
-#: common/setting/system.py:723
+#: common/setting/system.py:745
msgid "Stock Location Default Icon"
msgstr "庫存地點默認圖標"
-#: common/setting/system.py:724
+#: common/setting/system.py:746
msgid "Stock location default icon (empty means no icon)"
msgstr "庫存地點默認圖標 (空表示沒有圖標)"
-#: common/setting/system.py:729
+#: common/setting/system.py:751
msgid "Show Installed Stock Items"
msgstr "顯示已安裝的庫存項"
-#: common/setting/system.py:730
+#: common/setting/system.py:752
msgid "Display installed stock items in stock tables"
msgstr "在庫存表中顯示已安裝的庫存項"
-#: common/setting/system.py:735
+#: common/setting/system.py:757
msgid "Check BOM when installing items"
msgstr "在安裝項目時檢查物料清單"
-#: common/setting/system.py:737
+#: common/setting/system.py:759
msgid "Installed stock items must exist in the BOM for the parent part"
msgstr "已安裝的庫存項目必須存在於上級零件的物料清單中"
-#: common/setting/system.py:743
+#: common/setting/system.py:765
msgid "Allow Out of Stock Transfer"
msgstr "允許超出庫存轉移"
-#: common/setting/system.py:745
+#: common/setting/system.py:767
msgid "Allow stock items which are not in stock to be transferred between stock locations"
msgstr "允許非庫存的庫存項目在庫存位置之間轉移"
-#: common/setting/system.py:751
+#: common/setting/system.py:773
msgid "Build Order Reference Pattern"
msgstr "生產訂單參考模式"
-#: common/setting/system.py:752
+#: common/setting/system.py:774
msgid "Required pattern for generating Build Order reference field"
msgstr "生成生產訂單參考字段所需的模式"
-#: common/setting/system.py:757 common/setting/system.py:817
-#: common/setting/system.py:837 common/setting/system.py:881
+#: common/setting/system.py:779 common/setting/system.py:839
+#: common/setting/system.py:859 common/setting/system.py:903
msgid "Require Responsible Owner"
msgstr "要求負責人"
-#: common/setting/system.py:758 common/setting/system.py:818
-#: common/setting/system.py:838 common/setting/system.py:882
+#: common/setting/system.py:780 common/setting/system.py:840
+#: common/setting/system.py:860 common/setting/system.py:904
msgid "A responsible owner must be assigned to each order"
msgstr "必須為每個訂單分配一個負責人"
-#: common/setting/system.py:763
+#: common/setting/system.py:785
msgid "Require Active Part"
msgstr "需要活動零件"
-#: common/setting/system.py:764
+#: common/setting/system.py:786
msgid "Prevent build order creation for inactive parts"
msgstr "防止為非活動零件創建生產訂單"
-#: common/setting/system.py:769
+#: common/setting/system.py:791
msgid "Require Locked Part"
msgstr "需要鎖定零件"
-#: common/setting/system.py:770
+#: common/setting/system.py:792
msgid "Prevent build order creation for unlocked parts"
msgstr "防止為未鎖定的零件創建生產訂單"
-#: common/setting/system.py:775
+#: common/setting/system.py:797
msgid "Require Valid BOM"
msgstr "需要有效的物料清單"
-#: common/setting/system.py:776
+#: common/setting/system.py:798
msgid "Prevent build order creation unless BOM has been validated"
msgstr "除非物料清單已驗證,否則禁止創建生產訂單"
-#: common/setting/system.py:781
+#: common/setting/system.py:803
msgid "Require Closed Child Orders"
msgstr "需要關閉子訂單"
-#: common/setting/system.py:783
+#: common/setting/system.py:805
msgid "Prevent build order completion until all child orders are closed"
msgstr "在所有子訂單關閉之前,阻止生產訂單的完成"
-#: common/setting/system.py:789
+#: common/setting/system.py:811
msgid "External Build Orders"
msgstr "外部生產工單"
-#: common/setting/system.py:790
+#: common/setting/system.py:812
msgid "Enable external build order functionality"
msgstr "啟用外部生產工單功能"
-#: common/setting/system.py:795
+#: common/setting/system.py:817
msgid "Block Until Tests Pass"
msgstr "阻止直到測試通過"
-#: common/setting/system.py:797
+#: common/setting/system.py:819
msgid "Prevent build outputs from being completed until all required tests pass"
msgstr "在所有必要的測試通過之前,阻止產出完成"
-#: common/setting/system.py:803
+#: common/setting/system.py:825
msgid "Enable Return Orders"
msgstr "啓用訂單退貨"
-#: common/setting/system.py:804
+#: common/setting/system.py:826
msgid "Enable return order functionality in the user interface"
msgstr "在用户界面中啓用訂單退貨功能"
-#: common/setting/system.py:809
+#: common/setting/system.py:831
msgid "Return Order Reference Pattern"
msgstr "退貨訂單參考模式"
-#: common/setting/system.py:811
+#: common/setting/system.py:833
msgid "Required pattern for generating Return Order reference field"
msgstr "生成退貨訂單參考字段所需的模式"
-#: common/setting/system.py:823
+#: common/setting/system.py:845
msgid "Edit Completed Return Orders"
msgstr "編輯已完成的退貨訂單"
-#: common/setting/system.py:825
+#: common/setting/system.py:847
msgid "Allow editing of return orders after they have been completed"
msgstr "允許編輯已完成的退貨訂單"
-#: common/setting/system.py:831
+#: common/setting/system.py:853
msgid "Sales Order Reference Pattern"
msgstr "銷售訂單參考模式"
-#: common/setting/system.py:832
+#: common/setting/system.py:854
msgid "Required pattern for generating Sales Order reference field"
msgstr "生成銷售訂單參考字段所需參照模式"
-#: common/setting/system.py:843
+#: common/setting/system.py:865
msgid "Sales Order Default Shipment"
msgstr "銷售訂單默認配送方式"
-#: common/setting/system.py:844
+#: common/setting/system.py:866
msgid "Enable creation of default shipment with sales orders"
msgstr "啓用創建銷售訂單的默認配送功能"
-#: common/setting/system.py:849
+#: common/setting/system.py:871
msgid "Edit Completed Sales Orders"
msgstr "編輯已完成的銷售訂單"
-#: common/setting/system.py:851
+#: common/setting/system.py:873
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "允許在訂單配送或完成後編輯銷售訂單"
-#: common/setting/system.py:857
+#: common/setting/system.py:879
msgid "Shipment Requires Checking"
msgstr ""
-#: common/setting/system.py:859
+#: common/setting/system.py:881
msgid "Prevent completion of shipments until items have been checked"
msgstr ""
-#: common/setting/system.py:865
+#: common/setting/system.py:887
msgid "Mark Shipped Orders as Complete"
msgstr "標記該訂單為已完成?"
-#: common/setting/system.py:867
+#: common/setting/system.py:889
msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
msgstr "標記為已發貨的銷售訂單將自動完成,繞過“已發貨”狀態"
-#: common/setting/system.py:873
+#: common/setting/system.py:895
msgid "Purchase Order Reference Pattern"
msgstr "採購訂單參考模式"
-#: common/setting/system.py:875
+#: common/setting/system.py:897
msgid "Required pattern for generating Purchase Order reference field"
msgstr "生成採購訂單參考字段所需的模式"
-#: common/setting/system.py:887
+#: common/setting/system.py:909
msgid "Edit Completed Purchase Orders"
msgstr "編輯已完成的採購訂單"
-#: common/setting/system.py:889
+#: common/setting/system.py:911
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "允許在採購訂單已配送或完成後編輯訂單"
-#: common/setting/system.py:895
+#: common/setting/system.py:917
msgid "Convert Currency"
msgstr "轉換幣別"
-#: common/setting/system.py:896
+#: common/setting/system.py:918
msgid "Convert item value to base currency when receiving stock"
msgstr "收貨時將項目價值換算為基準幣別"
-#: common/setting/system.py:901
+#: common/setting/system.py:923
msgid "Auto Complete Purchase Orders"
msgstr "自動完成採購訂單"
-#: common/setting/system.py:903
+#: common/setting/system.py:925
msgid "Automatically mark purchase orders as complete when all line items are received"
msgstr "當收到所有行項目時,自動將採購訂單標記為完成"
-#: common/setting/system.py:910
+#: common/setting/system.py:932
msgid "Enable password forgot"
msgstr "忘記啓用密碼"
-#: common/setting/system.py:911
+#: common/setting/system.py:933
msgid "Enable password forgot function on the login pages"
msgstr "在登錄頁面上啓用忘記密碼功能"
-#: common/setting/system.py:916
+#: common/setting/system.py:938
msgid "Enable registration"
msgstr "啓用註冊"
-#: common/setting/system.py:917
+#: common/setting/system.py:939
msgid "Enable self-registration for users on the login pages"
msgstr "在登錄頁面為用户啓用自行註冊功能"
-#: common/setting/system.py:922
+#: common/setting/system.py:944
msgid "Enable SSO"
msgstr "啓用單點登錄"
-#: common/setting/system.py:923
+#: common/setting/system.py:945
msgid "Enable SSO on the login pages"
msgstr "在登錄界面啓用單點登錄"
-#: common/setting/system.py:928
+#: common/setting/system.py:950
msgid "Enable SSO registration"
msgstr "啓用單點登錄註冊"
-#: common/setting/system.py:930
+#: common/setting/system.py:952
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "允許登錄頁面上的用户通過 SSO 進行自我註冊"
-#: common/setting/system.py:936
+#: common/setting/system.py:958
msgid "Enable SSO group sync"
msgstr "啓用單點登錄羣組同步"
-#: common/setting/system.py:938
+#: common/setting/system.py:960
msgid "Enable synchronizing InvenTree groups with groups provided by the IdP"
msgstr "啓用庫存管理系統組和由身份提供者提供的組的同步功能"
-#: common/setting/system.py:944
+#: common/setting/system.py:966
msgid "SSO group key"
msgstr "單點登錄系統組密鑰"
-#: common/setting/system.py:945
+#: common/setting/system.py:967
msgid "The name of the groups claim attribute provided by the IdP"
msgstr "由身份提供者提供的組聲明屬性名稱"
-#: common/setting/system.py:950
+#: common/setting/system.py:972
msgid "SSO group map"
msgstr "單點登錄系統組地圖"
-#: common/setting/system.py:952
+#: common/setting/system.py:974
msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created."
msgstr "從單點登錄系統組組到本地庫存管理系統組的映射。如果本地組不存在,它將被創建。"
-#: common/setting/system.py:958
+#: common/setting/system.py:980
msgid "Remove groups outside of SSO"
msgstr "移除單點登錄系統以外的羣組"
-#: common/setting/system.py:960
+#: common/setting/system.py:982
msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues"
msgstr "如果分配給用户的組不是身份提供者的後端,是否應該刪除它們。禁用此設置可能會造成安全問題"
-#: common/setting/system.py:966
+#: common/setting/system.py:988
msgid "Email required"
msgstr "需要郵箱地址"
-#: common/setting/system.py:967
+#: common/setting/system.py:989
msgid "Require user to supply mail on signup"
msgstr "要求用户在註冊時提供郵件"
-#: common/setting/system.py:972
+#: common/setting/system.py:994
msgid "Auto-fill SSO users"
msgstr "自動填充單點登錄系統用户"
-#: common/setting/system.py:973
+#: common/setting/system.py:995
msgid "Automatically fill out user-details from SSO account-data"
msgstr "自動使用單點登錄系統賬户的數據填寫用户詳細信息"
-#: common/setting/system.py:978
+#: common/setting/system.py:1000
msgid "Mail twice"
msgstr "發兩次郵件"
-#: common/setting/system.py:979
+#: common/setting/system.py:1001
msgid "On signup ask users twice for their mail"
msgstr "註冊時詢問用户他們的電子郵件兩次"
-#: common/setting/system.py:984
+#: common/setting/system.py:1006
msgid "Password twice"
msgstr "兩次輸入密碼"
-#: common/setting/system.py:985
+#: common/setting/system.py:1007
msgid "On signup ask users twice for their password"
msgstr "當註冊時請用户輸入密碼兩次"
-#: common/setting/system.py:990
+#: common/setting/system.py:1012
msgid "Allowed domains"
msgstr "域名白名單"
-#: common/setting/system.py:992
+#: common/setting/system.py:1014
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
msgstr "限制註冊到某些域名 (逗號分隔,以 @ 開頭)"
-#: common/setting/system.py:998
+#: common/setting/system.py:1020
msgid "Group on signup"
msgstr "註冊羣組"
-#: common/setting/system.py:1000
+#: common/setting/system.py:1022
msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP."
msgstr "註冊時分配給新用户的組。 如果啓用了單點登錄系統羣組同步,此羣組僅在無法從 IdP 分配任何羣組的情況下才被設置。"
-#: common/setting/system.py:1006
+#: common/setting/system.py:1028
msgid "Enforce MFA"
msgstr "強制啓用多因素安全認證"
-#: common/setting/system.py:1007
+#: common/setting/system.py:1029
msgid "Users must use multifactor security."
msgstr "用户必須使用多因素安全認證。"
-#: common/setting/system.py:1012
+#: common/setting/system.py:1034
+msgid "Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately."
+msgstr ""
+
+#: common/setting/system.py:1039
msgid "Check plugins on startup"
msgstr "啓動時檢查插件"
-#: common/setting/system.py:1014
+#: common/setting/system.py:1041
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "啓動時檢查全部插件是否已安裝 - 在容器環境中啓用"
-#: common/setting/system.py:1021
+#: common/setting/system.py:1048
msgid "Check for plugin updates"
msgstr "檢查插件更新"
-#: common/setting/system.py:1022
+#: common/setting/system.py:1049
msgid "Enable periodic checks for updates to installed plugins"
msgstr "啓用定期檢查已安裝插件的更新"
-#: common/setting/system.py:1028
+#: common/setting/system.py:1055
msgid "Enable URL integration"
msgstr "啓用統一資源定位符集成"
-#: common/setting/system.py:1029
+#: common/setting/system.py:1056
msgid "Enable plugins to add URL routes"
msgstr "啓用插件以添加統一資源定位符路由"
-#: common/setting/system.py:1035
+#: common/setting/system.py:1062
msgid "Enable navigation integration"
msgstr "啓用導航集成"
-#: common/setting/system.py:1036
+#: common/setting/system.py:1063
msgid "Enable plugins to integrate into navigation"
msgstr "啓用插件以集成到導航中"
-#: common/setting/system.py:1042
+#: common/setting/system.py:1069
msgid "Enable app integration"
msgstr "啓用應用集成"
-#: common/setting/system.py:1043
+#: common/setting/system.py:1070
msgid "Enable plugins to add apps"
msgstr "啓用插件添加應用"
-#: common/setting/system.py:1049
+#: common/setting/system.py:1076
msgid "Enable schedule integration"
msgstr "啓用調度集成"
-#: common/setting/system.py:1050
+#: common/setting/system.py:1077
msgid "Enable plugins to run scheduled tasks"
msgstr "啓用插件來運行預定任務"
-#: common/setting/system.py:1056
+#: common/setting/system.py:1083
msgid "Enable event integration"
msgstr "啓用事件集成"
-#: common/setting/system.py:1057
+#: common/setting/system.py:1084
msgid "Enable plugins to respond to internal events"
msgstr "啓用插件響應內部事件"
-#: common/setting/system.py:1063
+#: common/setting/system.py:1090
msgid "Enable interface integration"
msgstr "啓用界面集成"
-#: common/setting/system.py:1064
+#: common/setting/system.py:1091
msgid "Enable plugins to integrate into the user interface"
msgstr "啓用插件集成到用户界面"
-#: common/setting/system.py:1070
+#: common/setting/system.py:1097
msgid "Enable mail integration"
msgstr "啟用郵件整合"
-#: common/setting/system.py:1071
+#: common/setting/system.py:1098
msgid "Enable plugins to process outgoing/incoming mails"
msgstr "允許模組處理寄出/接收郵件"
-#: common/setting/system.py:1077
+#: common/setting/system.py:1104
msgid "Enable project codes"
msgstr "啟用專案代碼"
-#: common/setting/system.py:1078
+#: common/setting/system.py:1105
msgid "Enable project codes for tracking projects"
msgstr "啟用專案代碼以追蹤專案"
-#: common/setting/system.py:1083
-msgid "Enable Stock History"
-msgstr "啟用庫存歷史"
+#: common/setting/system.py:1110
+msgid "Enable Stocktake"
+msgstr ""
-#: common/setting/system.py:1085
+#: common/setting/system.py:1112
msgid "Enable functionality for recording historical stock levels and value"
msgstr "啟用記錄庫存數量及價值歷史的功能"
-#: common/setting/system.py:1091
+#: common/setting/system.py:1118
msgid "Exclude External Locations"
msgstr "排除外部地點"
-#: common/setting/system.py:1093
-msgid "Exclude stock items in external locations from stock history calculations"
-msgstr "在庫存歷史統計中排除位於外部位置的庫存項目"
+#: common/setting/system.py:1120
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
-#: common/setting/system.py:1099
+#: common/setting/system.py:1126
msgid "Automatic Stocktake Period"
msgstr "自動盤點週期"
-#: common/setting/system.py:1100
-msgid "Number of days between automatic stock history recording"
-msgstr "自動記錄庫存歷史的間隔天數"
+#: common/setting/system.py:1127
+msgid "Number of days between automatic stocktake recording"
+msgstr ""
-#: common/setting/system.py:1106
-msgid "Delete Old Stock History Entries"
-msgstr "刪除舊庫存歷史記錄"
-
-#: common/setting/system.py:1108
-msgid "Delete stock history entries older than the specified number of days"
-msgstr "刪除早於指定天數的庫存歷史記錄"
-
-#: common/setting/system.py:1114
-msgid "Stock History Deletion Interval"
-msgstr "庫存歷史刪除週期"
-
-#: common/setting/system.py:1116
-msgid "Stock history entries will be deleted after specified number of days"
-msgstr "庫存歷史記錄將於超過指定天數後刪除"
-
-#: common/setting/system.py:1123
-msgid "Display Users full names"
-msgstr "顯示用户全名"
-
-#: common/setting/system.py:1124
-msgid "Display Users full names instead of usernames"
-msgstr "顯示用户全名而不是用户名"
-
-#: common/setting/system.py:1129
-msgid "Display User Profiles"
-msgstr "顯示使用者個人檔案"
-
-#: common/setting/system.py:1130
-msgid "Display Users Profiles on their profile page"
-msgstr "在個人頁面顯示使用者檔案資訊"
+#: common/setting/system.py:1133
+msgid "Delete Old Stocktake Entries"
+msgstr ""
#: common/setting/system.py:1135
-msgid "Enable Test Station Data"
-msgstr "啓用測試站數據"
-
-#: common/setting/system.py:1136
-msgid "Enable test station data collection for test results"
-msgstr "啓用測試站數據收集以獲取測試結果"
+msgid "Delete stocktake entries older than the specified number of days"
+msgstr ""
#: common/setting/system.py:1141
-msgid "Enable Machine Ping"
+msgid "Stocktake Deletion Interval"
msgstr ""
#: common/setting/system.py:1143
+msgid "Stocktake entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1150
+msgid "Delete Old Stock Tracking Entries"
+msgstr "刪除舊庫存的追蹤紀錄"
+
+#: common/setting/system.py:1152
+msgid "Delete stock tracking entries older than the specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1158
+msgid "Stock Tracking Deletion Interval"
+msgstr ""
+
+#: common/setting/system.py:1160
+msgid "Stock tracking entries will be deleted after specified number of days"
+msgstr ""
+
+#: common/setting/system.py:1167
+msgid "Display Users full names"
+msgstr "顯示用户全名"
+
+#: common/setting/system.py:1168
+msgid "Display Users full names instead of usernames"
+msgstr "顯示用户全名而不是用户名"
+
+#: common/setting/system.py:1173
+msgid "Display User Profiles"
+msgstr "顯示使用者個人檔案"
+
+#: common/setting/system.py:1174
+msgid "Display Users Profiles on their profile page"
+msgstr "在個人頁面顯示使用者檔案資訊"
+
+#: common/setting/system.py:1179
+msgid "Enable Test Station Data"
+msgstr "啓用測試站數據"
+
+#: common/setting/system.py:1180
+msgid "Enable test station data collection for test results"
+msgstr "啓用測試站數據收集以獲取測試結果"
+
+#: common/setting/system.py:1185
+msgid "Enable Machine Ping"
+msgstr "啟用設備 Ping"
+
+#: common/setting/system.py:1187
msgid "Enable periodic ping task of registered machines to check their status"
msgstr ""
@@ -3911,366 +3956,370 @@ msgstr "零件已激活"
msgid "Manufacturer is Active"
msgstr "製造商處於活動狀態"
-#: company/api.py:246
+#: company/api.py:250
msgid "Supplier Part is Active"
msgstr "供應商零件處於激活狀態"
-#: company/api.py:250
+#: company/api.py:252
+msgid "Primary Supplier Part"
+msgstr ""
+
+#: company/api.py:256
msgid "Internal Part is Active"
msgstr "內部零件已激活"
-#: company/api.py:255
+#: company/api.py:261
msgid "Supplier is Active"
msgstr "供應商已激活"
-#: company/api.py:267 company/models.py:522 company/serializers.py:502
-#: part/serializers.py:477
+#: company/api.py:273 company/models.py:535 company/serializers.py:455
+#: part/serializers.py:488
msgid "Manufacturer"
msgstr "製造商"
-#: company/api.py:274 company/models.py:122 company/models.py:393
-#: stock/api.py:900
+#: company/api.py:280 company/models.py:124 company/models.py:404
+#: stock/api.py:899
msgid "Company"
msgstr "公司"
-#: company/api.py:284
+#: company/api.py:290
msgid "Has Stock"
msgstr "有庫存"
-#: company/models.py:123
+#: company/models.py:125
msgid "Companies"
msgstr "公司"
-#: company/models.py:151
+#: company/models.py:153
msgid "Company description"
msgstr "公司簡介"
-#: company/models.py:152
+#: company/models.py:154
msgid "Description of the company"
msgstr "公司簡介"
-#: company/models.py:158
+#: company/models.py:160
msgid "Website"
msgstr "網站"
-#: company/models.py:159
+#: company/models.py:161
msgid "Company website URL"
msgstr "公司網站"
-#: company/models.py:165
+#: company/models.py:167
msgid "Phone number"
msgstr "電話號碼"
-#: company/models.py:167
+#: company/models.py:169
msgid "Contact phone number"
msgstr "聯繫電話"
-#: company/models.py:174
+#: company/models.py:176
msgid "Contact email address"
msgstr "聯繫人電子郵箱地址"
-#: company/models.py:179 company/models.py:297 order/models.py:514
+#: company/models.py:181 company/models.py:311 order/models.py:525
#: users/models.py:561
msgid "Contact"
msgstr "聯繫人"
-#: company/models.py:181
+#: company/models.py:183
msgid "Point of contact"
msgstr "聯絡點"
-#: company/models.py:187
+#: company/models.py:189
msgid "Link to external company information"
msgstr "外部公司信息鏈接"
-#: company/models.py:192
+#: company/models.py:194
msgid "Is this company active?"
msgstr "這家公司是否激活?"
-#: company/models.py:197
+#: company/models.py:199
msgid "Is customer"
msgstr "是客户"
-#: company/models.py:198
+#: company/models.py:200
msgid "Do you sell items to this company?"
msgstr "你是否向該公司出售商品?"
-#: company/models.py:203
+#: company/models.py:205
msgid "Is supplier"
msgstr "是否為供應商"
-#: company/models.py:204
+#: company/models.py:206
msgid "Do you purchase items from this company?"
msgstr "你從這家公司買東西嗎?"
-#: company/models.py:209
+#: company/models.py:211
msgid "Is manufacturer"
msgstr "是製造商嗎"
-#: company/models.py:210
+#: company/models.py:212
msgid "Does this company manufacture parts?"
msgstr "這家公司生產零件嗎?"
-#: company/models.py:218
+#: company/models.py:220
msgid "Default currency used for this company"
msgstr "此公司使用的默認貨幣"
-#: company/models.py:225
+#: company/models.py:227
msgid "Tax ID"
msgstr "稅籍編號"
-#: company/models.py:226
+#: company/models.py:228
msgid "Company Tax ID"
msgstr "公司稅籍編號"
-#: company/models.py:336 order/models.py:524 order/models.py:2289
+#: company/models.py:350 order/models.py:535 order/models.py:2307
msgid "Address"
msgstr "地址"
-#: company/models.py:337
+#: company/models.py:351
msgid "Addresses"
msgstr "地址"
-#: company/models.py:394
+#: company/models.py:405
msgid "Select company"
msgstr "選擇公司"
-#: company/models.py:399
+#: company/models.py:410
msgid "Address title"
msgstr "地址標題"
-#: company/models.py:400
+#: company/models.py:411
msgid "Title describing the address entry"
msgstr "描述地址條目的標題"
-#: company/models.py:406
+#: company/models.py:417
msgid "Primary address"
msgstr "主要地址"
-#: company/models.py:407
+#: company/models.py:418
msgid "Set as primary address"
msgstr "設置主要地址"
-#: company/models.py:412
+#: company/models.py:423
msgid "Line 1"
msgstr "第1行"
-#: company/models.py:413
+#: company/models.py:424
msgid "Address line 1"
msgstr "地址行1"
-#: company/models.py:419
+#: company/models.py:430
msgid "Line 2"
msgstr "第2行"
-#: company/models.py:420
+#: company/models.py:431
msgid "Address line 2"
msgstr "地址行2"
-#: company/models.py:426 company/models.py:427
+#: company/models.py:437 company/models.py:438
msgid "Postal code"
msgstr "郵政編碼"
-#: company/models.py:433
+#: company/models.py:444
msgid "City/Region"
msgstr "城市/地區"
-#: company/models.py:434
+#: company/models.py:445
msgid "Postal code city/region"
msgstr "郵政編碼城市/地區"
-#: company/models.py:440
+#: company/models.py:451
msgid "State/Province"
msgstr "省/市/自治區"
-#: company/models.py:441
+#: company/models.py:452
msgid "State or province"
msgstr "省、自治區或直轄市"
-#: company/models.py:447
+#: company/models.py:458
msgid "Country"
msgstr "國家/地區"
-#: company/models.py:448
+#: company/models.py:459
msgid "Address country"
msgstr "地址所在國家"
-#: company/models.py:454
+#: company/models.py:465
msgid "Courier shipping notes"
msgstr "快遞運單"
-#: company/models.py:455
+#: company/models.py:466
msgid "Notes for shipping courier"
msgstr "運輸快遞注意事項"
-#: company/models.py:461
+#: company/models.py:472
msgid "Internal shipping notes"
msgstr "內部裝運通知單"
-#: company/models.py:462
+#: company/models.py:473
msgid "Shipping notes for internal use"
msgstr "內部使用的裝運通知單"
-#: company/models.py:469
+#: company/models.py:480
msgid "Link to address information (external)"
msgstr "鏈接地址信息 (外部)"
-#: company/models.py:494 company/models.py:786 company/serializers.py:516
-#: stock/api.py:561
+#: company/models.py:507 company/models.py:802 company/serializers.py:475
+#: stock/api.py:560
msgid "Manufacturer Part"
msgstr "製造商零件"
-#: company/models.py:511 company/models.py:754 stock/models.py:1025
-#: stock/serializers.py:407
+#: company/models.py:524 company/models.py:764 stock/models.py:1032
+#: stock/serializers.py:409
msgid "Base Part"
msgstr "基礎零件"
-#: company/models.py:513 company/models.py:756
+#: company/models.py:526 company/models.py:766
msgid "Select part"
msgstr "選擇零件"
-#: company/models.py:523
+#: company/models.py:536
msgid "Select manufacturer"
msgstr "選擇製造商"
-#: company/models.py:529 company/serializers.py:524 order/serializers.py:745
-#: part/serializers.py:487
+#: company/models.py:542 company/serializers.py:486 order/serializers.py:703
+#: part/serializers.py:498
msgid "MPN"
msgstr "製造商零件編號"
-#: company/models.py:530 stock/serializers.py:572
+#: company/models.py:543 stock/serializers.py:566
msgid "Manufacturer Part Number"
msgstr "製造商零件編號"
-#: company/models.py:537
+#: company/models.py:550
msgid "URL for external manufacturer part link"
msgstr "外部製造商零件鏈接的URL"
-#: company/models.py:546
+#: company/models.py:559
msgid "Manufacturer part description"
msgstr "製造商零件説明"
-#: company/models.py:694
+#: company/models.py:691
msgid "Pack units must be compatible with the base part units"
msgstr "包裝單位必須與基礎零件單位兼容"
-#: company/models.py:701
+#: company/models.py:698
msgid "Pack units must be greater than zero"
msgstr "包裝單位必須大於零"
-#: company/models.py:715
+#: company/models.py:712
msgid "Linked manufacturer part must reference the same base part"
msgstr "鏈接的製造商零件必須引用相同的基礎零件"
-#: company/models.py:764 company/serializers.py:494 company/serializers.py:512
-#: order/models.py:640 part/serializers.py:461
+#: company/models.py:774 company/serializers.py:443 company/serializers.py:470
+#: order/models.py:653 part/serializers.py:472
#: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27
#: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27
-#: stock/api.py:567 templates/email/overdue_purchase_order.html:16
+#: stock/api.py:566 templates/email/overdue_purchase_order.html:16
msgid "Supplier"
msgstr "供應商"
-#: company/models.py:765
+#: company/models.py:775
msgid "Select supplier"
msgstr "選擇供應商"
-#: company/models.py:771 part/serializers.py:472
+#: company/models.py:781 part/serializers.py:483
msgid "Supplier stock keeping unit"
msgstr "供應商庫存管理單位"
-#: company/models.py:777
+#: company/models.py:787
msgid "Is this supplier part active?"
msgstr "此供應商零件是否處於活動狀態?"
-#: company/models.py:787
+#: company/models.py:792
+msgid "Primary"
+msgstr ""
+
+#: company/models.py:793
+msgid "Is this the primary supplier part for the linked Part?"
+msgstr ""
+
+#: company/models.py:803
msgid "Select manufacturer part"
msgstr "選擇製造商零件"
-#: company/models.py:794
+#: company/models.py:810
msgid "URL for external supplier part link"
msgstr "外部供應商零件鏈接的URL"
-#: company/models.py:803
+#: company/models.py:819
msgid "Supplier part description"
msgstr "供應商零件説明"
-#: company/models.py:819 part/models.py:2338
+#: company/models.py:835 part/models.py:2301
msgid "base cost"
msgstr "基本費用"
-#: company/models.py:820 part/models.py:2339
+#: company/models.py:836 part/models.py:2302
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低費用(例如庫存費)"
-#: company/models.py:827 order/serializers.py:886 stock/models.py:1056
-#: stock/serializers.py:1606
+#: company/models.py:843 order/serializers.py:844 stock/models.py:1063
+#: stock/serializers.py:1639
msgid "Packaging"
msgstr "打包"
-#: company/models.py:828
+#: company/models.py:844
msgid "Part packaging"
msgstr "零件打包"
-#: company/models.py:833
+#: company/models.py:849
msgid "Pack Quantity"
msgstr "包裝數量"
-#: company/models.py:835
+#: company/models.py:851
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "單包供應的總數量。為單個項目留空。"
-#: company/models.py:854 part/models.py:2345
+#: company/models.py:870 part/models.py:2308
msgid "multiple"
msgstr "多個"
-#: company/models.py:855
+#: company/models.py:871
msgid "Order multiple"
msgstr "訂購多個"
-#: company/models.py:867
+#: company/models.py:883
msgid "Quantity available from supplier"
msgstr "供應商提供的數量"
-#: company/models.py:873
+#: company/models.py:889
msgid "Availability Updated"
msgstr "可用性已更新"
-#: company/models.py:874
+#: company/models.py:890
msgid "Date of last update of availability data"
msgstr "上次更新可用性數據的日期"
-#: company/models.py:1002
+#: company/models.py:1018
msgid "Supplier Price Break"
msgstr "供應商批發價"
-#: company/serializers.py:184
-msgid "Primary Address"
-msgstr ""
-
-#: company/serializers.py:186
-msgid "Return the string representation for the primary address. This property exists for backwards compatibility."
-msgstr "回傳主要地址的字串表示;此屬性保留以維持回溯相容。"
-
-#: company/serializers.py:218
+#: company/serializers.py:191
msgid "Default currency used for this supplier"
msgstr "此供應商使用的默認貨幣"
-#: company/serializers.py:260
+#: company/serializers.py:229
msgid "Company Name"
msgstr "公司名稱"
-#: company/serializers.py:460 part/serializers.py:840 stock/serializers.py:428
+#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:432
msgid "In Stock"
msgstr "有庫存"
-#: company/serializers.py:477
+#: company/serializers.py:424
msgid "Price Breaks"
msgstr ""
-#: data_exporter/mixins.py:325 data_exporter/mixins.py:403
+#: data_exporter/mixins.py:328 data_exporter/mixins.py:417
msgid "Error occurred during data export"
msgstr "資料匯出過程發生錯誤"
-#: data_exporter/mixins.py:381
+#: data_exporter/mixins.py:395
msgid "Data export plugin returned incorrect data format"
msgstr "資料匯出模組回傳的資料格式不正確"
@@ -4318,119 +4367,119 @@ msgstr "放置"
msgid "Invalid status code"
msgstr "無效的狀態代碼"
-#: importer/models.py:73
+#: importer/models.py:74
msgid "Data File"
msgstr "數據文件"
-#: importer/models.py:74
+#: importer/models.py:75
msgid "Data file to import"
msgstr "要導入的數據文件"
-#: importer/models.py:83
+#: importer/models.py:84
msgid "Columns"
msgstr "列"
-#: importer/models.py:90
+#: importer/models.py:91
msgid "Target model type for this import session"
msgstr "此匯入作業的目標模型類型"
-#: importer/models.py:96
+#: importer/models.py:97
msgid "Import status"
msgstr "導入狀態"
-#: importer/models.py:106
+#: importer/models.py:107
msgid "Field Defaults"
msgstr "字段默認值"
-#: importer/models.py:113
+#: importer/models.py:114
msgid "Field Overrides"
msgstr "字段覆蓋"
-#: importer/models.py:120
+#: importer/models.py:121
msgid "Field Filters"
msgstr "字段篩選器"
-#: importer/models.py:126
+#: importer/models.py:127
msgid "Update Existing Records"
msgstr "更新既有紀錄"
-#: importer/models.py:127
+#: importer/models.py:128
msgid "If enabled, existing records will be updated with new data"
msgstr "啟用時,既有紀錄將以新資料更新"
-#: importer/models.py:259
+#: importer/models.py:281
msgid "Some required fields have not been mapped"
msgstr "某些必填字段尚未映射"
-#: importer/models.py:366
+#: importer/models.py:388
msgid "ID"
msgstr "ID"
-#: importer/models.py:367
+#: importer/models.py:389
msgid "Existing database identifier for the record"
msgstr "資料庫中既有紀錄的識別碼"
-#: importer/models.py:430
+#: importer/models.py:452
msgid "Column is already mapped to a database field"
msgstr "列已映射到數據庫字段"
-#: importer/models.py:435
+#: importer/models.py:457
msgid "Field is already mapped to a data column"
msgstr "字段已映射到數據列"
-#: importer/models.py:444
+#: importer/models.py:466
msgid "Column mapping must be linked to a valid import session"
msgstr "列映射必須鏈接到有效的導入會話"
-#: importer/models.py:449
+#: importer/models.py:471
msgid "Column does not exist in the data file"
msgstr "數據文件中不存在列"
-#: importer/models.py:456
+#: importer/models.py:478
msgid "Field does not exist in the target model"
msgstr "目標模型中不存在字段"
-#: importer/models.py:460
+#: importer/models.py:482
msgid "Selected field is read-only"
msgstr "所選字段為只讀"
-#: importer/models.py:465 importer/models.py:536
+#: importer/models.py:487 importer/models.py:564
msgid "Import Session"
msgstr "導入會話"
-#: importer/models.py:469
+#: importer/models.py:491
msgid "Field"
msgstr "字段"
-#: importer/models.py:471
+#: importer/models.py:493
msgid "Column"
msgstr "列"
-#: importer/models.py:540
+#: importer/models.py:568
msgid "Row Index"
msgstr "行索引"
-#: importer/models.py:543
+#: importer/models.py:571
msgid "Original row data"
msgstr "原始行數據"
-#: importer/models.py:548 machine/models.py:111
+#: importer/models.py:576 machine/models.py:111
msgid "Errors"
msgstr "錯誤"
-#: importer/models.py:550 part/serializers.py:1133
+#: importer/models.py:578 part/serializers.py:1132
msgid "Valid"
msgstr "有效"
-#: importer/models.py:720
+#: importer/models.py:839
msgid "ID is required for updating existing records."
msgstr "更新既有紀錄需要提供 ID。"
-#: importer/models.py:727
+#: importer/models.py:846
msgid "No record found with the provided ID"
msgstr ""
-#: importer/models.py:733
+#: importer/models.py:852
msgid "Invalid ID format provided"
msgstr ""
@@ -4530,7 +4579,7 @@ msgstr "每個標籤要打印的份數"
msgid "Connected"
msgstr "已連接"
-#: machine/machine_types/label_printer.py:232 order/api.py:1800
+#: machine/machine_types/label_printer.py:232 order/api.py:1839
msgid "Unknown"
msgstr "未知"
@@ -4648,115 +4697,127 @@ msgstr ""
#: machine/serializers.py:35
msgid "Type of the property"
-msgstr ""
+msgstr "屬性類別"
#: machine/serializers.py:40
msgid "Max Progress"
-msgstr ""
+msgstr "最大進度"
#: machine/serializers.py:41
msgid "Maximum value for progress type, required if type=progress"
msgstr ""
-#: order/api.py:130
+#: order/api.py:127
msgid "Order Reference"
msgstr "訂單參考"
-#: order/api.py:158 order/api.py:1212
+#: order/api.py:155 order/api.py:1213
msgid "Outstanding"
msgstr "未完成"
-#: order/api.py:174
+#: order/api.py:171
msgid "Has Project Code"
msgstr "有項目編碼"
-#: order/api.py:188 order/models.py:489
+#: order/api.py:185 order/models.py:493
msgid "Created By"
msgstr "創建人"
-#: order/api.py:192
+#: order/api.py:189
msgid "Created Before"
msgstr "建立時間早於"
-#: order/api.py:196
+#: order/api.py:193
msgid "Created After"
msgstr "建立時間晚於"
-#: order/api.py:200
+#: order/api.py:197
msgid "Has Start Date"
msgstr "具有開始日期"
-#: order/api.py:208
+#: order/api.py:205
msgid "Start Date Before"
msgstr "開始日期早於"
-#: order/api.py:212
+#: order/api.py:209
msgid "Start Date After"
msgstr "開始日期晚於"
-#: order/api.py:216
+#: order/api.py:213
msgid "Has Target Date"
msgstr "具有目標日期"
-#: order/api.py:224
+#: order/api.py:221
msgid "Target Date Before"
msgstr "目標日期早於"
-#: order/api.py:228
+#: order/api.py:225
msgid "Target Date After"
msgstr "目標日期晚於"
-#: order/api.py:279
+#: order/api.py:229
+msgid "Updated Before"
+msgstr "更新之前"
+
+#: order/api.py:233
+msgid "Updated After"
+msgstr "更新之後"
+
+#: order/api.py:284
msgid "Has Pricing"
msgstr "有定價"
-#: order/api.py:332 order/api.py:818 order/api.py:1495
+#: order/api.py:337 order/api.py:822 order/api.py:1522
msgid "Completed Before"
msgstr "完成時間早於"
-#: order/api.py:336 order/api.py:822 order/api.py:1499
+#: order/api.py:341 order/api.py:826 order/api.py:1526
msgid "Completed After"
msgstr "完成時間晚於"
-#: order/api.py:342 order/api.py:346
+#: order/api.py:347 order/api.py:351
msgid "External Build Order"
msgstr "外部生產工單"
-#: order/api.py:532 order/api.py:919 order/api.py:1175 order/models.py:1923
-#: order/models.py:2050 order/models.py:2100 order/models.py:2280
-#: order/models.py:2478 order/models.py:3000 order/models.py:3066
+#: order/api.py:536 order/api.py:922 order/api.py:1176 order/models.py:1940
+#: order/models.py:2066 order/models.py:2118 order/models.py:2298
+#: order/models.py:2487 order/models.py:3016 order/models.py:3082
msgid "Order"
msgstr "訂單"
-#: order/api.py:536 order/api.py:987
+#: order/api.py:540 order/api.py:990
msgid "Order Complete"
msgstr "訂單完成"
-#: order/api.py:568 order/api.py:572 order/serializers.py:756
+#: order/api.py:572 order/api.py:576 order/serializers.py:714
msgid "Internal Part"
msgstr "內部零件"
-#: order/api.py:590
+#: order/api.py:594
msgid "Order Pending"
msgstr "訂單待定"
-#: order/api.py:972
+#: order/api.py:975
msgid "Completed"
msgstr "已完成"
-#: order/api.py:1228
+#: order/api.py:1229
msgid "Has Shipment"
msgstr "已出貨"
-#: order/api.py:1794 order/models.py:553 order/models.py:1924
-#: order/models.py:2051
+#: order/api.py:1437
+msgid "Shipment not found"
+msgstr ""
+
+#: order/api.py:1833 order/models.py:564 order/models.py:1941
+#: order/models.py:2067
#: report/templates/report/inventree_purchase_order_report.html:14
#: stock/serializers.py:129 templates/email/overdue_purchase_order.html:15
msgid "Purchase Order"
msgstr "採購訂單"
-#: order/api.py:1796 order/models.py:1252 order/models.py:2101
-#: order/models.py:2281 order/models.py:2479
+#: order/api.py:1835 order/models.py:1265 order/models.py:2119
+#: order/models.py:2299 order/models.py:2488
#: report/templates/report/inventree_build_order_report.html:135
#: report/templates/report/inventree_sales_order_report.html:14
#: report/templates/report/inventree_sales_order_shipment_report.html:15
@@ -4764,8 +4825,8 @@ msgstr "採購訂單"
msgid "Sales Order"
msgstr "銷售訂單"
-#: order/api.py:1798 order/models.py:2650 order/models.py:3001
-#: order/models.py:3067
+#: order/api.py:1837 order/models.py:2659 order/models.py:3017
+#: order/models.py:3083
#: report/templates/report/inventree_return_order_report.html:13
#: templates/email/overdue_return_order.html:15
msgid "Return Order"
@@ -4781,722 +4842,742 @@ msgstr "總價格"
msgid "Total price for this order"
msgstr "此訂單的總價"
-#: order/models.py:96 order/serializers.py:78
+#: order/models.py:96 order/serializers.py:61
msgid "Order Currency"
msgstr "訂單貨幣"
-#: order/models.py:99 order/serializers.py:79
+#: order/models.py:99 order/serializers.py:62
msgid "Currency for this order (leave blank to use company default)"
msgstr "此訂單的貨幣 (留空以使用公司默認值)"
-#: order/models.py:325
+#: order/models.py:326
msgid "This order is locked and cannot be modified"
msgstr "此訂單已鎖定,無法修改"
-#: order/models.py:377
+#: order/models.py:380
msgid "Contact does not match selected company"
msgstr "聯繫人與所選公司不匹配"
-#: order/models.py:384
+#: order/models.py:387
msgid "Start date must be before target date"
msgstr "開始日期必須早於目標日期"
-#: order/models.py:391
+#: order/models.py:394
msgid "Address does not match selected company"
-msgstr ""
+msgstr "地址不符合選定的公司"
-#: order/models.py:444
+#: order/models.py:448
msgid "Order description (optional)"
msgstr "訂單描述 (可選)"
-#: order/models.py:453 order/models.py:1807
+#: order/models.py:457 order/models.py:1822
msgid "Select project code for this order"
msgstr "為此訂單選擇項目編碼"
-#: order/models.py:459 order/models.py:1788 order/models.py:2345
+#: order/models.py:463 order/models.py:1803 order/models.py:2363
msgid "Link to external page"
msgstr "鏈接到外部頁面"
-#: order/models.py:466
+#: order/models.py:470
msgid "Start date"
msgstr "開始日期"
-#: order/models.py:467
+#: order/models.py:471
msgid "Scheduled start date for this order"
msgstr "此訂單的預定開始日期"
-#: order/models.py:473 order/models.py:1795 order/serializers.py:317
+#: order/models.py:477 order/models.py:1810 order/serializers.py:294
#: report/templates/report/inventree_build_order_report.html:125
msgid "Target Date"
msgstr "預計日期"
-#: order/models.py:475
+#: order/models.py:479
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "訂單交付的預期日期。訂單將在此日期後過期。"
-#: order/models.py:495
+#: order/models.py:499
msgid "Issue Date"
msgstr "簽發日期"
-#: order/models.py:496
+#: order/models.py:500
msgid "Date order was issued"
msgstr "訂單發出日期"
-#: order/models.py:504
+#: order/models.py:506
+msgid "Updated At"
+msgstr "更新於"
+
+#: order/models.py:515
msgid "User or group responsible for this order"
msgstr "負責此訂單的用户或組"
-#: order/models.py:515
+#: order/models.py:526
msgid "Point of contact for this order"
msgstr "此訂單的聯繫人"
-#: order/models.py:525
+#: order/models.py:536
msgid "Company address for this order"
msgstr "此訂單的公司地址"
-#: order/models.py:616 order/models.py:1313
+#: order/models.py:629 order/models.py:1328
msgid "Order reference"
msgstr "訂單參考"
-#: order/models.py:625 order/models.py:1337 order/models.py:2738
-#: stock/serializers.py:559 stock/serializers.py:988 users/models.py:542
+#: order/models.py:638 order/models.py:1352 order/models.py:2749
+#: stock/serializers.py:553 stock/serializers.py:994 users/models.py:542
msgid "Status"
msgstr "狀態"
-#: order/models.py:626
+#: order/models.py:639
msgid "Purchase order status"
msgstr "採購訂單狀態"
-#: order/models.py:641
+#: order/models.py:654
msgid "Company from which the items are being ordered"
msgstr "訂購物品的公司"
-#: order/models.py:652
+#: order/models.py:665
msgid "Supplier Reference"
msgstr "供應商參考"
-#: order/models.py:653
+#: order/models.py:666
msgid "Supplier order reference code"
msgstr "供應商訂單參考代碼"
-#: order/models.py:662
+#: order/models.py:675
msgid "received by"
msgstr "接收人"
-#: order/models.py:669 order/models.py:2753
+#: order/models.py:682 order/models.py:2764
msgid "Date order was completed"
msgstr "訂單完成日期"
-#: order/models.py:678 order/models.py:1982
+#: order/models.py:691 order/models.py:1999
msgid "Destination"
msgstr "目的地"
-#: order/models.py:679 order/models.py:1986
+#: order/models.py:692 order/models.py:2003
msgid "Destination for received items"
msgstr "收到項目的存放目的地"
-#: order/models.py:725
+#: order/models.py:738
msgid "Part supplier must match PO supplier"
msgstr "零件供應商必須與採購訂單供應商匹配"
-#: order/models.py:995
+#: order/models.py:1008
msgid "Line item does not match purchase order"
msgstr "行項目與採購訂單不匹配"
-#: order/models.py:998
+#: order/models.py:1011
msgid "Line item is missing a linked part"
msgstr "行項目缺少關聯零件"
-#: order/models.py:1012
+#: order/models.py:1025
msgid "Quantity must be a positive number"
msgstr "數量必須是正數"
-#: order/models.py:1324 order/models.py:2725 stock/models.py:1078
-#: stock/models.py:1079 stock/serializers.py:1322
+#: order/models.py:1339 order/models.py:2736 stock/models.py:1085
+#: stock/models.py:1086 stock/serializers.py:1355
#: templates/email/overdue_return_order.html:16
#: templates/email/overdue_sales_order.html:16
msgid "Customer"
msgstr "客户"
-#: order/models.py:1325
+#: order/models.py:1340
msgid "Company to which the items are being sold"
msgstr "出售物品的公司"
-#: order/models.py:1338
+#: order/models.py:1353
msgid "Sales order status"
msgstr "銷售訂單狀態"
-#: order/models.py:1349 order/models.py:2745
+#: order/models.py:1364 order/models.py:2756
msgid "Customer Reference "
msgstr "客户參考 "
-#: order/models.py:1350 order/models.py:2746
+#: order/models.py:1365 order/models.py:2757
msgid "Customer order reference code"
msgstr "客户訂單參考代碼"
-#: order/models.py:1354 order/models.py:2297
+#: order/models.py:1369 order/models.py:2315
msgid "Shipment Date"
msgstr "發貨日期"
-#: order/models.py:1363
+#: order/models.py:1378
msgid "shipped by"
msgstr "發貨人"
-#: order/models.py:1414
+#: order/models.py:1429
msgid "Order is already complete"
msgstr "訂單已完成"
-#: order/models.py:1417
+#: order/models.py:1432
msgid "Order is already cancelled"
msgstr "訂單已取消"
-#: order/models.py:1421
+#: order/models.py:1436
msgid "Only an open order can be marked as complete"
msgstr "只有未結訂單才能標記為已完成"
-#: order/models.py:1425
+#: order/models.py:1440
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "由於發貨不完整,訂單無法完成"
-#: order/models.py:1430
+#: order/models.py:1445
msgid "Order cannot be completed as there are incomplete allocations"
msgstr "訂單無法完成,因為仍有未完成的分配"
-#: order/models.py:1439
+#: order/models.py:1454
msgid "Order cannot be completed as there are incomplete line items"
msgstr "訂單無法完成,因為行項目不完整"
-#: order/models.py:1734 order/models.py:1750
+#: order/models.py:1749 order/models.py:1765
msgid "The order is locked and cannot be modified"
msgstr "此訂單已鎖定,無法修改"
-#: order/models.py:1758
+#: order/models.py:1773
msgid "Item quantity"
msgstr "項目數量"
-#: order/models.py:1775
+#: order/models.py:1790
msgid "Line item reference"
msgstr "行項目參考"
-#: order/models.py:1782
+#: order/models.py:1797
msgid "Line item notes"
msgstr "行項目註釋"
-#: order/models.py:1797
+#: order/models.py:1812
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "此行項目的目標日期 (留空以使用訂單中的目標日期)"
-#: order/models.py:1827
+#: order/models.py:1842
msgid "Line item description (optional)"
msgstr "行項目描述 (可選)"
-#: order/models.py:1834
+#: order/models.py:1849
msgid "Additional context for this line"
msgstr "此行的附加上下文"
-#: order/models.py:1844
+#: order/models.py:1859
msgid "Unit price"
msgstr "單位價格"
-#: order/models.py:1863
+#: order/models.py:1878
msgid "Purchase Order Line Item"
msgstr "採購訂單行項目"
-#: order/models.py:1890
+#: order/models.py:1907
msgid "Supplier part must match supplier"
msgstr "供應商零件必須與供應商匹配"
-#: order/models.py:1895
+#: order/models.py:1912
msgid "Build order must be marked as external"
msgstr "生產工單必須標記為外部"
-#: order/models.py:1902
+#: order/models.py:1919
msgid "Build orders can only be linked to assembly parts"
msgstr "生產工單只能連結到組裝零件"
-#: order/models.py:1908
+#: order/models.py:1925
msgid "Build order part must match line item part"
msgstr "生產工單的零件必須與行項目的零件一致"
-#: order/models.py:1943
+#: order/models.py:1960
msgid "Supplier part"
msgstr "供應商零件"
-#: order/models.py:1950
+#: order/models.py:1967
msgid "Received"
msgstr "已接收"
-#: order/models.py:1951
+#: order/models.py:1968
msgid "Number of items received"
msgstr "收到的物品數量"
-#: order/models.py:1959 stock/models.py:1201 stock/serializers.py:637
+#: order/models.py:1976 stock/models.py:1208 stock/serializers.py:643
msgid "Purchase Price"
msgstr "採購價格"
-#: order/models.py:1960
+#: order/models.py:1977
msgid "Unit purchase price"
msgstr "每單位的採購價格"
-#: order/models.py:1976
+#: order/models.py:1993
msgid "External Build Order to be fulfilled by this line item"
msgstr "由此行項目履行的外部生產工單"
-#: order/models.py:2039
+#: order/models.py:2055
msgid "Purchase Order Extra Line"
msgstr "採購訂單附加行"
-#: order/models.py:2068
+#: order/models.py:2084
msgid "Sales Order Line Item"
msgstr "銷售訂單行項目"
-#: order/models.py:2093
+#: order/models.py:2111
msgid "Only salable parts can be assigned to a sales order"
msgstr "只有可銷售的零件才能分配給銷售訂單"
-#: order/models.py:2119
+#: order/models.py:2137
msgid "Sale Price"
msgstr "售出價格"
-#: order/models.py:2120
+#: order/models.py:2138
msgid "Unit sale price"
msgstr "單位售出價格"
-#: order/models.py:2129 order/status_codes.py:50
+#: order/models.py:2147 order/status_codes.py:50
msgid "Shipped"
msgstr "已配送"
-#: order/models.py:2130
+#: order/models.py:2148
msgid "Shipped quantity"
msgstr "發貨數量"
-#: order/models.py:2241
+#: order/models.py:2259
msgid "Sales Order Shipment"
msgstr "銷售訂單發貨"
-#: order/models.py:2254
+#: order/models.py:2272
msgid "Shipment address must match the customer"
-msgstr ""
+msgstr "配送地址必須跟客戶相符"
-#: order/models.py:2290
+#: order/models.py:2308
msgid "Shipping address for this shipment"
-msgstr ""
+msgstr "配送的採購地址"
-#: order/models.py:2298
+#: order/models.py:2316
msgid "Date of shipment"
msgstr "發貨日期"
-#: order/models.py:2304
+#: order/models.py:2322
msgid "Delivery Date"
msgstr "送達日期"
-#: order/models.py:2305
+#: order/models.py:2323
msgid "Date of delivery of shipment"
msgstr "裝運交貨日期"
-#: order/models.py:2313
+#: order/models.py:2331
msgid "Checked By"
msgstr "審核人"
-#: order/models.py:2314
+#: order/models.py:2332
msgid "User who checked this shipment"
msgstr "檢查此裝運的用户"
-#: order/models.py:2321 order/models.py:2575 order/serializers.py:1725
-#: order/serializers.py:1849
+#: order/models.py:2339 order/models.py:2584 order/serializers.py:1690
+#: order/serializers.py:1814
#: report/templates/report/inventree_sales_order_shipment_report.html:14
msgid "Shipment"
msgstr "配送"
-#: order/models.py:2322
+#: order/models.py:2340
msgid "Shipment number"
msgstr "配送單號"
-#: order/models.py:2330
+#: order/models.py:2348
msgid "Tracking Number"
msgstr "跟蹤單號"
-#: order/models.py:2331
+#: order/models.py:2349
msgid "Shipment tracking information"
msgstr "配送跟蹤信息"
-#: order/models.py:2338
+#: order/models.py:2356
msgid "Invoice Number"
msgstr "發票編號"
-#: order/models.py:2339
+#: order/models.py:2357
msgid "Reference number for associated invoice"
msgstr "相關發票的參考號"
-#: order/models.py:2378
+#: order/models.py:2396
msgid "Shipment has already been sent"
msgstr "貨物已發出"
-#: order/models.py:2381
+#: order/models.py:2399
msgid "Shipment has no allocated stock items"
msgstr "發貨沒有分配庫存項目"
-#: order/models.py:2388
+#: order/models.py:2406
msgid "Shipment must be checked before it can be completed"
msgstr ""
-#: order/models.py:2467
+#: order/models.py:2476
msgid "Sales Order Extra Line"
msgstr "銷售訂單加行"
-#: order/models.py:2496
+#: order/models.py:2505
msgid "Sales Order Allocation"
msgstr "銷售訂單分配"
-#: order/models.py:2519 order/models.py:2521
+#: order/models.py:2528 order/models.py:2530
msgid "Stock item has not been assigned"
msgstr "庫存項目尚未分配"
-#: order/models.py:2528
+#: order/models.py:2537
msgid "Cannot allocate stock item to a line with a different part"
msgstr "無法將庫存項目分配給具有不同零件的行"
-#: order/models.py:2531
+#: order/models.py:2540
msgid "Cannot allocate stock to a line without a part"
msgstr "無法將庫存分配給沒有零件的生產線"
-#: order/models.py:2534
+#: order/models.py:2543
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "分配數量不能超過庫存數量"
-#: order/models.py:2553 order/serializers.py:1595
+#: order/models.py:2559
+msgid "Allocation quantity must be greater than zero"
+msgstr "分配的數量必須大於零"
+
+#: order/models.py:2562 order/serializers.py:1560
msgid "Quantity must be 1 for serialized stock item"
msgstr "序列化庫存項目的數量必須為1"
-#: order/models.py:2556
+#: order/models.py:2565
msgid "Sales order does not match shipment"
msgstr "銷售訂單與發貨不匹配"
-#: order/models.py:2557 plugin/base/barcodes/api.py:642
+#: order/models.py:2566 plugin/base/barcodes/api.py:643
msgid "Shipment does not match sales order"
msgstr "發貨與銷售訂單不匹配"
-#: order/models.py:2565
+#: order/models.py:2574
msgid "Line"
msgstr "行"
-#: order/models.py:2576
+#: order/models.py:2585
msgid "Sales order shipment reference"
msgstr "銷售訂單發貨參考"
-#: order/models.py:2589 order/models.py:3008
+#: order/models.py:2598 order/models.py:3024
msgid "Item"
msgstr "項目"
-#: order/models.py:2590
+#: order/models.py:2599
msgid "Select stock item to allocate"
msgstr "選擇要分配的庫存項目"
-#: order/models.py:2599
+#: order/models.py:2608
msgid "Enter stock allocation quantity"
msgstr "輸入庫存分配數量"
-#: order/models.py:2714
+#: order/models.py:2725
msgid "Return Order reference"
msgstr "退貨訂單參考"
-#: order/models.py:2726
+#: order/models.py:2737
msgid "Company from which items are being returned"
msgstr "退回物品的公司"
-#: order/models.py:2739
+#: order/models.py:2750
msgid "Return order status"
msgstr "退貨訂單狀態"
-#: order/models.py:2966
+#: order/models.py:2982
msgid "Return Order Line Item"
msgstr "退貨訂單行項目"
-#: order/models.py:2979
+#: order/models.py:2995
msgid "Stock item must be specified"
msgstr "必須指定庫存項目"
-#: order/models.py:2983
+#: order/models.py:2999
msgid "Return quantity exceeds stock quantity"
msgstr "退回數量超過庫存數量"
-#: order/models.py:2988
+#: order/models.py:3004
msgid "Return quantity must be greater than zero"
msgstr "退回數量必須大於零"
-#: order/models.py:2993
+#: order/models.py:3009
msgid "Invalid quantity for serialized stock item"
msgstr "序列化庫存項目的數量無效"
-#: order/models.py:3009
+#: order/models.py:3025
msgid "Select item to return from customer"
msgstr "選擇要從客户處退回的商品"
-#: order/models.py:3024
+#: order/models.py:3040
msgid "Received Date"
msgstr "接收日期"
-#: order/models.py:3025
-msgid "The date this this return item was received"
-msgstr "收到此退貨的日期"
+#: order/models.py:3041
+msgid "The date this return item was received"
+msgstr ""
-#: order/models.py:3037
+#: order/models.py:3053
msgid "Outcome"
msgstr "結果"
-#: order/models.py:3038
+#: order/models.py:3054
msgid "Outcome for this line item"
msgstr "該行項目的結果"
-#: order/models.py:3045
+#: order/models.py:3061
msgid "Cost associated with return or repair for this line item"
msgstr "與此行項目的退貨或維修相關的成本"
-#: order/models.py:3055
+#: order/models.py:3071
msgid "Return Order Extra Line"
msgstr "退貨訂單附加行"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "Order ID"
msgstr "訂單ID"
-#: order/serializers.py:92
+#: order/serializers.py:75
msgid "ID of the order to duplicate"
msgstr "要複製的訂單ID"
-#: order/serializers.py:98
+#: order/serializers.py:81
msgid "Copy Lines"
msgstr "複製行"
-#: order/serializers.py:99
+#: order/serializers.py:82
msgid "Copy line items from the original order"
msgstr "從原始訂單複製行項目"
-#: order/serializers.py:105
+#: order/serializers.py:88
msgid "Copy Extra Lines"
msgstr "複製額外行"
-#: order/serializers.py:106
+#: order/serializers.py:89
msgid "Copy extra line items from the original order"
msgstr "從原始訂單複製額外的行項目"
-#: order/serializers.py:121
+#: order/serializers.py:95 part/serializers.py:413
+msgid "Copy Parameters"
+msgstr "複製參數"
+
+#: order/serializers.py:96
+msgid "Copy order parameters from the original order"
+msgstr ""
+
+#: order/serializers.py:111
#: report/templates/report/inventree_purchase_order_report.html:29
#: report/templates/report/inventree_return_order_report.html:19
#: report/templates/report/inventree_sales_order_report.html:22
msgid "Line Items"
msgstr "行項目"
-#: order/serializers.py:126
+#: order/serializers.py:116
msgid "Completed Lines"
msgstr "已完成行項目"
-#: order/serializers.py:199
+#: order/serializers.py:172
msgid "Duplicate Order"
msgstr "複製訂單"
-#: order/serializers.py:200
+#: order/serializers.py:173
msgid "Specify options for duplicating this order"
msgstr "指定複製此訂單的選項"
-#: order/serializers.py:278
+#: order/serializers.py:252
msgid "Invalid order ID"
msgstr "訂單ID不正確"
-#: order/serializers.py:477
+#: order/serializers.py:430
msgid "Supplier Name"
msgstr "供應商名稱"
-#: order/serializers.py:521
+#: order/serializers.py:475
msgid "Order cannot be cancelled"
msgstr "訂單不能取消"
-#: order/serializers.py:536 order/serializers.py:1616
+#: order/serializers.py:490 order/serializers.py:1581
msgid "Allow order to be closed with incomplete line items"
msgstr "允許關閉行項目不完整的訂單"
-#: order/serializers.py:546 order/serializers.py:1626
+#: order/serializers.py:500 order/serializers.py:1591
msgid "Order has incomplete line items"
msgstr "訂單中的行項目不完整"
-#: order/serializers.py:676
+#: order/serializers.py:620
msgid "Order is not open"
msgstr "訂單未打開"
-#: order/serializers.py:703
+#: order/serializers.py:649
msgid "Auto Pricing"
msgstr "自動定價"
-#: order/serializers.py:705
+#: order/serializers.py:651
msgid "Automatically calculate purchase price based on supplier part data"
msgstr "根據供應商零件數據自動計算採購價格"
-#: order/serializers.py:715
+#: order/serializers.py:665
msgid "Purchase price currency"
msgstr "購買價格貨幣"
-#: order/serializers.py:729
+#: order/serializers.py:687
msgid "Merge Items"
msgstr "合併項目"
-#: order/serializers.py:731
+#: order/serializers.py:689
msgid "Merge items with the same part, destination and target date into one line item"
msgstr "將具有相同零件、目的地和目標日期的項目合併到一個行項目中"
-#: order/serializers.py:738 part/serializers.py:471
+#: order/serializers.py:696 part/serializers.py:482
msgid "SKU"
msgstr "庫存量單位"
-#: order/serializers.py:752 part/models.py:1177 part/serializers.py:337
+#: order/serializers.py:710 part/models.py:1157 part/serializers.py:348
msgid "Internal Part Number"
msgstr "內部零件編號"
-#: order/serializers.py:760
+#: order/serializers.py:718
msgid "Internal Part Name"
msgstr "內部零件名稱"
-#: order/serializers.py:776
+#: order/serializers.py:734
msgid "Supplier part must be specified"
msgstr "必須指定供應商零件"
-#: order/serializers.py:779
+#: order/serializers.py:737
msgid "Purchase order must be specified"
msgstr "必須指定採購訂單"
-#: order/serializers.py:787
+#: order/serializers.py:745
msgid "Supplier must match purchase order"
msgstr "供應商必須匹配採購訂單"
-#: order/serializers.py:788
+#: order/serializers.py:746
msgid "Purchase order must match supplier"
msgstr "採購訂單必須與供應商匹配"
-#: order/serializers.py:836 order/serializers.py:1696
+#: order/serializers.py:794 order/serializers.py:1661
msgid "Line Item"
msgstr "行項目"
-#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2060
+#: order/serializers.py:803 order/serializers.py:943 order/serializers.py:2024
msgid "Select destination location for received items"
msgstr "為收到的物品選擇目的地位置"
-#: order/serializers.py:861
+#: order/serializers.py:819
msgid "Enter batch code for incoming stock items"
msgstr "輸入入庫項目的批號"
-#: order/serializers.py:868 stock/models.py:1160
+#: order/serializers.py:826 stock/models.py:1167
#: templates/email/stale_stock_notification.html:22 users/models.py:137
msgid "Expiry Date"
msgstr "有效期至"
-#: order/serializers.py:869
+#: order/serializers.py:827
msgid "Enter expiry date for incoming stock items"
msgstr "輸入入庫庫存項目的到期日"
-#: order/serializers.py:877
+#: order/serializers.py:835
msgid "Enter serial numbers for incoming stock items"
msgstr "輸入入庫庫存項目的序列號"
-#: order/serializers.py:887
+#: order/serializers.py:845
msgid "Override packaging information for incoming stock items"
msgstr "覆蓋傳入庫存項目的包裝資料"
-#: order/serializers.py:895 order/serializers.py:2065
+#: order/serializers.py:853 order/serializers.py:2029
msgid "Additional note for incoming stock items"
msgstr "傳入庫存項目的附加説明"
-#: order/serializers.py:902
+#: order/serializers.py:860
msgid "Barcode"
msgstr "條形碼"
-#: order/serializers.py:903
+#: order/serializers.py:861
msgid "Scanned barcode"
msgstr "掃描條形碼"
-#: order/serializers.py:919
+#: order/serializers.py:877
msgid "Barcode is already in use"
msgstr "條形碼已被使用"
-#: order/serializers.py:1002 order/serializers.py:2084
+#: order/serializers.py:960 order/serializers.py:2048
msgid "Line items must be provided"
msgstr "必須提供行項目"
-#: order/serializers.py:1021
+#: order/serializers.py:979
msgid "Destination location must be specified"
msgstr "必須指定目標位置"
-#: order/serializers.py:1028
+#: order/serializers.py:986
msgid "Supplied barcode values must be unique"
msgstr "提供的條形碼值必須是唯一的"
-#: order/serializers.py:1135
+#: order/serializers.py:1107
msgid "Shipments"
msgstr "配送紀錄"
-#: order/serializers.py:1139
+#: order/serializers.py:1111
msgid "Completed Shipments"
msgstr "完成配送"
-#: order/serializers.py:1307
+#: order/serializers.py:1115
+msgid "Allocated Lines"
+msgstr ""
+
+#: order/serializers.py:1294
msgid "Sale price currency"
msgstr "售出價格貨幣"
-#: order/serializers.py:1353
+#: order/serializers.py:1337
msgid "Allocated Items"
msgstr "已分配項目"
-#: order/serializers.py:1498
+#: order/serializers.py:1492
msgid "No shipment details provided"
msgstr "未提供裝運詳細信息"
-#: order/serializers.py:1559 order/serializers.py:1705
+#: order/serializers.py:1524 order/serializers.py:1670
msgid "Line item is not associated with this order"
msgstr "行項目與此訂單不關聯"
-#: order/serializers.py:1578
+#: order/serializers.py:1543
msgid "Quantity must be positive"
msgstr "數量必須為正"
-#: order/serializers.py:1715
+#: order/serializers.py:1680
msgid "Enter serial numbers to allocate"
msgstr "輸入要分配的序列號"
-#: order/serializers.py:1737 order/serializers.py:1857
+#: order/serializers.py:1702 order/serializers.py:1822
msgid "Shipment has already been shipped"
msgstr "貨物已發出"
-#: order/serializers.py:1740 order/serializers.py:1860
+#: order/serializers.py:1705 order/serializers.py:1825
msgid "Shipment is not associated with this order"
msgstr "發貨與此訂單無關"
-#: order/serializers.py:1795
+#: order/serializers.py:1760
msgid "No match found for the following serial numbers"
msgstr "未找到以下序列號的匹配項"
-#: order/serializers.py:1802
+#: order/serializers.py:1767
msgid "The following serial numbers are unavailable"
msgstr "以下序列號不可用"
-#: order/serializers.py:2026
+#: order/serializers.py:1990
msgid "Return order line item"
msgstr "退貨訂單行項目"
-#: order/serializers.py:2036
+#: order/serializers.py:2000
msgid "Line item does not match return order"
msgstr "行項目與退貨訂單不匹配"
-#: order/serializers.py:2039
+#: order/serializers.py:2003
msgid "Line item has already been received"
msgstr "行項目已收到"
-#: order/serializers.py:2076
+#: order/serializers.py:2040
msgid "Items can only be received against orders which are in progress"
msgstr "只能根據正在進行的訂單接收物品"
-#: order/serializers.py:2141
+#: order/serializers.py:2112
msgid "Quantity to return"
msgstr "退回數量"
-#: order/serializers.py:2157
+#: order/serializers.py:2129
msgid "Line price currency"
msgstr "行價格貨幣"
@@ -5532,1174 +5613,1226 @@ msgstr "退款"
msgid "Reject"
msgstr "拒絕"
-#: order/tasks.py:47
+#: order/tasks.py:48
msgid "Overdue Purchase Order"
msgstr "逾期採購訂單"
-#: order/tasks.py:52
+#: order/tasks.py:53
#, python-brace-format
msgid "Purchase order {po} is now overdue"
msgstr "採購訂單 {po} 已逾期"
-#: order/tasks.py:117
+#: order/tasks.py:118
msgid "Overdue Sales Order"
msgstr "逾期銷售訂單"
-#: order/tasks.py:122
+#: order/tasks.py:123
#, python-brace-format
msgid "Sales order {so} is now overdue"
msgstr "銷售訂單 {so} 已逾期"
-#: order/tasks.py:184
+#: order/tasks.py:185
msgid "Overdue Return Order"
msgstr "逾期退貨訂單"
-#: order/tasks.py:189
+#: order/tasks.py:190
#, python-brace-format
msgid "Return order {ro} is now overdue"
msgstr "退貨訂單 {ro} 已逾期"
-#: part/api.py:103
+#: part/api.py:88
msgid "Starred"
msgstr "已加星標"
-#: part/api.py:105
+#: part/api.py:90
msgid "Filter by starred categories"
msgstr "按星標類別篩選"
-#: part/api.py:122 stock/api.py:288
+#: part/api.py:107 stock/api.py:287
msgid "Depth"
msgstr "深度"
-#: part/api.py:122
+#: part/api.py:107
msgid "Filter by category depth"
msgstr "按類別深度篩選"
-#: part/api.py:140 stock/api.py:306
+#: part/api.py:125 stock/api.py:305
msgid "Top Level"
msgstr "頂級"
-#: part/api.py:142
+#: part/api.py:127
msgid "Filter by top-level categories"
msgstr "按頂級類別篩選"
-#: part/api.py:155 stock/api.py:321
+#: part/api.py:140 stock/api.py:320
msgid "Cascade"
msgstr "級聯"
-#: part/api.py:157
+#: part/api.py:142
msgid "Include sub-categories in filtered results"
msgstr "在篩選結果中包含子類別"
-#: part/api.py:177
+#: part/api.py:162
msgid "Parent"
msgstr "父類"
-#: part/api.py:179
+#: part/api.py:164
msgid "Filter by parent category"
msgstr "按父類別篩選"
-#: part/api.py:214
+#: part/api.py:199
msgid "Exclude sub-categories under the specified category"
msgstr "排除指定類別下的子類別"
-#: part/api.py:440
+#: part/api.py:424
msgid "Has Results"
msgstr "有結果"
-#: part/api.py:661
+#: part/api.py:653
msgid "Is Variant"
msgstr "為變體"
-#: part/api.py:669
+#: part/api.py:661
msgid "Is Revision"
msgstr "是修訂版本"
-#: part/api.py:679
+#: part/api.py:671
msgid "Has Revisions"
msgstr "有修訂版本"
-#: part/api.py:860
+#: part/api.py:852
msgid "BOM Valid"
msgstr "物料清單合規"
-#: part/api.py:969
+#: part/api.py:961
msgid "Cascade Categories"
msgstr ""
-#: part/api.py:970
+#: part/api.py:962
msgid "If true, include items in child categories of the given category"
msgstr ""
-#: part/api.py:976
+#: part/api.py:968
msgid "Filter by numeric category ID or the literal 'null'"
msgstr ""
-#: part/api.py:1258
+#: part/api.py:1280
+msgid "Assembly part is active"
+msgstr ""
+
+#: part/api.py:1284
+msgid "Assembly part is trackable"
+msgstr ""
+
+#: part/api.py:1288
msgid "Assembly part is testable"
msgstr "裝配部份是可測試的"
-#: part/api.py:1267
+#: part/api.py:1293
+msgid "Component part is active"
+msgstr ""
+
+#: part/api.py:1297
+msgid "Component part is trackable"
+msgstr ""
+
+#: part/api.py:1301
msgid "Component part is testable"
msgstr "組件部份是可測試的"
-#: part/api.py:1336
+#: part/api.py:1305
+msgid "Component part is an assembly"
+msgstr ""
+
+#: part/api.py:1309
+msgid "Component part is virtual"
+msgstr ""
+
+#: part/api.py:1313
+msgid "Has available stock"
+msgstr ""
+
+#: part/api.py:1370
msgid "Uses"
msgstr "使用"
-#: part/models.py:93 part/models.py:436
+#: part/models.py:92 part/models.py:413
#: templates/email/part_event_notification.html:16
msgid "Part Category"
msgstr "零件類別"
-#: part/models.py:94 users/ruleset.py:27
+#: part/models.py:93 users/ruleset.py:27
msgid "Part Categories"
msgstr "零件類別"
-#: part/models.py:112 part/models.py:1213
+#: part/models.py:111 part/models.py:1193
msgid "Default Location"
msgstr "默認位置"
-#: part/models.py:113
+#: part/models.py:112
msgid "Default location for parts in this category"
msgstr "此類別零件的默認庫存地點"
-#: part/models.py:118 stock/models.py:216
+#: part/models.py:117 stock/models.py:204
msgid "Structural"
msgstr "結構性"
-#: part/models.py:120
+#: part/models.py:119
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "零件可能無法直接分配到結構類別,但可以分配到子類別。"
-#: part/models.py:129
+#: part/models.py:128
msgid "Default keywords"
msgstr "默認關鍵字"
-#: part/models.py:130
+#: part/models.py:129
msgid "Default keywords for parts in this category"
msgstr "此類別零件的默認關鍵字"
-#: part/models.py:137 stock/models.py:97 stock/models.py:198
+#: part/models.py:136 stock/models.py:99 stock/models.py:186
msgid "Icon"
msgstr "圖標"
-#: part/models.py:138 part/serializers.py:147 part/serializers.py:166
-#: stock/models.py:199
+#: part/models.py:137 part/serializers.py:158 part/serializers.py:177
+#: stock/models.py:187
msgid "Icon (optional)"
msgstr "圖標(可選)"
-#: part/models.py:182
+#: part/models.py:181
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "您不能使這個零件類別結構化,因為有些零件已經分配給了它!"
-#: part/models.py:392
+#: part/models.py:369
msgid "Part Category Parameter Template"
msgstr "零件類別參數模板"
-#: part/models.py:448
+#: part/models.py:425
msgid "Default Value"
msgstr "默認值"
-#: part/models.py:449
+#: part/models.py:426
msgid "Default Parameter Value"
msgstr "默認參數值"
-#: part/models.py:551 part/serializers.py:118 users/ruleset.py:28
+#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28
msgid "Parts"
msgstr "零件"
-#: part/models.py:597
+#: part/models.py:574
msgid "Cannot delete parameters of a locked part"
msgstr ""
-#: part/models.py:602
+#: part/models.py:579
msgid "Cannot modify parameters of a locked part"
msgstr ""
-#: part/models.py:613
+#: part/models.py:590
msgid "Cannot delete this part as it is locked"
msgstr "無法刪除這個零件,因為它已被鎖定"
-#: part/models.py:616
+#: part/models.py:593
msgid "Cannot delete this part as it is still active"
msgstr "無法刪除這個零件,因為它仍然處於活動狀態"
-#: part/models.py:621
+#: part/models.py:598
msgid "Cannot delete this part as it is used in an assembly"
msgstr "無法刪除這個零件,因為它被使用在了裝配中"
-#: part/models.py:704 part/models.py:711
+#: part/models.py:682 part/models.py:689
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清單 (遞歸)"
-#: part/models.py:723
+#: part/models.py:701
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清單 (遞歸)"
-#: part/models.py:790
+#: part/models.py:768
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
msgstr "內部零件號必須匹配正則表達式 {pattern}"
-#: part/models.py:798
+#: part/models.py:776
msgid "Part cannot be a revision of itself"
msgstr "零件不能是對自身的修訂"
-#: part/models.py:805
+#: part/models.py:783
msgid "Cannot make a revision of a part which is already a revision"
msgstr "無法對已經是修訂版本的零件進行修訂"
-#: part/models.py:812
+#: part/models.py:790
msgid "Revision code must be specified"
msgstr "必須指定修訂代碼"
-#: part/models.py:819
+#: part/models.py:797
msgid "Revisions are only allowed for assembly parts"
msgstr "修訂僅對裝配零件允許"
-#: part/models.py:826
+#: part/models.py:804
msgid "Cannot make a revision of a template part"
msgstr "無法對模版零件進行修訂"
-#: part/models.py:832
+#: part/models.py:810
msgid "Parent part must point to the same template"
msgstr "上級零件必須指向相同的模版"
-#: part/models.py:929
+#: part/models.py:907
msgid "Stock item with this serial number already exists"
msgstr "該序列號庫存項己存在"
-#: part/models.py:1059
+#: part/models.py:1037
msgid "Duplicate IPN not allowed in part settings"
msgstr "在零件設置中不允許重複的內部零件號"
-#: part/models.py:1071
+#: part/models.py:1050
msgid "Duplicate part revision already exists."
msgstr "重複的零件修訂版本已經存在。"
-#: part/models.py:1080
+#: part/models.py:1060
msgid "Part with this Name, IPN and Revision already exists."
msgstr "有這個名字,內部零件號,和修訂版本的零件已經存在"
-#: part/models.py:1095
+#: part/models.py:1075
msgid "Parts cannot be assigned to structural part categories!"
msgstr "零件不能分配到結構性零件類別!"
-#: part/models.py:1127
+#: part/models.py:1107
msgid "Part name"
msgstr "零件名稱"
-#: part/models.py:1132
+#: part/models.py:1112
msgid "Is Template"
msgstr "是模板"
-#: part/models.py:1133
+#: part/models.py:1113
msgid "Is this part a template part?"
msgstr "這個零件是一個模版零件嗎?"
-#: part/models.py:1143
+#: part/models.py:1123
msgid "Is this part a variant of another part?"
msgstr "這個零件是另一零件的變體嗎?"
-#: part/models.py:1144
+#: part/models.py:1124
msgid "Variant Of"
msgstr "變體"
-#: part/models.py:1151
+#: part/models.py:1131
msgid "Part description (optional)"
msgstr "零件描述(可選)"
-#: part/models.py:1158
+#: part/models.py:1138
msgid "Keywords"
msgstr "關鍵詞"
-#: part/models.py:1159
+#: part/models.py:1139
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索結果可見性的零件關鍵字"
-#: part/models.py:1169
+#: part/models.py:1149
msgid "Part category"
msgstr "零件類別"
-#: part/models.py:1176 part/serializers.py:814
+#: part/models.py:1156 part/serializers.py:819
#: report/templates/report/inventree_stock_location_report.html:103
msgid "IPN"
msgstr "內部零件號 IPN"
-#: part/models.py:1184
+#: part/models.py:1164
msgid "Part revision or version number"
msgstr "零件修訂版本或版本號"
-#: part/models.py:1185 report/models.py:228
+#: part/models.py:1165 report/models.py:228
msgid "Revision"
msgstr "版本"
-#: part/models.py:1194
+#: part/models.py:1174
msgid "Is this part a revision of another part?"
msgstr "這零件是另一零件的修訂版本嗎?"
-#: part/models.py:1195
+#: part/models.py:1175
msgid "Revision Of"
msgstr "修訂版本"
-#: part/models.py:1211
+#: part/models.py:1191
msgid "Where is this item normally stored?"
msgstr "該物品通常存放在哪裏?"
-#: part/models.py:1257
-msgid "Default Supplier"
-msgstr "默認供應商"
-
-#: part/models.py:1258
-msgid "Default supplier part"
-msgstr "默認供應商零件"
-
-#: part/models.py:1265
+#: part/models.py:1228
msgid "Default Expiry"
msgstr "默認到期"
-#: part/models.py:1266
+#: part/models.py:1229
msgid "Expiry time (in days) for stock items of this part"
msgstr "此零件庫存項的過期時間 (天)"
-#: part/models.py:1274 part/serializers.py:888
+#: part/models.py:1237 part/serializers.py:889
msgid "Minimum Stock"
msgstr "最低庫存"
-#: part/models.py:1275
+#: part/models.py:1238
msgid "Minimum allowed stock level"
msgstr "允許的最小庫存量"
-#: part/models.py:1284
+#: part/models.py:1247
msgid "Units of measure for this part"
msgstr "此零件的計量單位"
-#: part/models.py:1291
+#: part/models.py:1254
msgid "Can this part be built from other parts?"
msgstr "這個零件可由其他零件加工而成嗎?"
-#: part/models.py:1297
+#: part/models.py:1260
msgid "Can this part be used to build other parts?"
msgstr "這個零件可用於創建其他零件嗎?"
-#: part/models.py:1303
+#: part/models.py:1266
msgid "Does this part have tracking for unique items?"
msgstr "此零件是否有唯一物品的追蹤功能"
-#: part/models.py:1309
+#: part/models.py:1272
msgid "Can this part have test results recorded against it?"
msgstr "這一部分能否記錄到測試結果?"
-#: part/models.py:1315
+#: part/models.py:1278
msgid "Can this part be purchased from external suppliers?"
msgstr "這個零件可從外部供應商購買嗎?"
-#: part/models.py:1321
+#: part/models.py:1284
msgid "Can this part be sold to customers?"
msgstr "此零件可以銷售給客户嗎?"
-#: part/models.py:1325
+#: part/models.py:1288
msgid "Is this part active?"
msgstr "這個零件是否已激活?"
-#: part/models.py:1331
+#: part/models.py:1294
msgid "Locked parts cannot be edited"
msgstr "無法編輯鎖定的零件"
-#: part/models.py:1337
+#: part/models.py:1300
msgid "Is this a virtual part, such as a software product or license?"
msgstr "這是一個虛擬零件,例如一個軟件產品或許可證嗎?"
-#: part/models.py:1342
+#: part/models.py:1305
msgid "BOM Validated"
msgstr "BOM 已驗證"
-#: part/models.py:1343
+#: part/models.py:1306
msgid "Is the BOM for this part valid?"
msgstr "此零件的 BOM 是否已通過驗證?"
-#: part/models.py:1349
+#: part/models.py:1312
msgid "BOM checksum"
msgstr "物料清單校驗和"
-#: part/models.py:1350
+#: part/models.py:1313
msgid "Stored BOM checksum"
msgstr "保存的物料清單校驗和"
-#: part/models.py:1358
+#: part/models.py:1321
msgid "BOM checked by"
msgstr "物料清單檢查人"
-#: part/models.py:1363
+#: part/models.py:1326
msgid "BOM checked date"
msgstr "物料清單檢查日期"
-#: part/models.py:1379
+#: part/models.py:1342
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1389
+#: part/models.py:1352
msgid "Owner responsible for this part"
msgstr "此零件的負責人"
-#: part/models.py:2346
+#: part/models.py:2309
msgid "Sell multiple"
msgstr "出售多個"
-#: part/models.py:3350
+#: part/models.py:3314
msgid "Currency used to cache pricing calculations"
msgstr "用於緩存定價計算的貨幣"
-#: part/models.py:3366
+#: part/models.py:3330
msgid "Minimum BOM Cost"
msgstr "最低物料清單成本"
-#: part/models.py:3367
+#: part/models.py:3331
msgid "Minimum cost of component parts"
msgstr "元件的最低成本"
-#: part/models.py:3373
+#: part/models.py:3337
msgid "Maximum BOM Cost"
msgstr "物料清單的最高成本"
-#: part/models.py:3374
+#: part/models.py:3338
msgid "Maximum cost of component parts"
msgstr "元件的最高成本"
-#: part/models.py:3380
+#: part/models.py:3344
msgid "Minimum Purchase Cost"
msgstr "最低購買成本"
-#: part/models.py:3381
+#: part/models.py:3345
msgid "Minimum historical purchase cost"
msgstr "最高歷史購買成本"
-#: part/models.py:3387
+#: part/models.py:3351
msgid "Maximum Purchase Cost"
msgstr "最大購買成本"
-#: part/models.py:3388
+#: part/models.py:3352
msgid "Maximum historical purchase cost"
msgstr "最高歷史購買成本"
-#: part/models.py:3394
+#: part/models.py:3358
msgid "Minimum Internal Price"
msgstr "最低內部價格"
-#: part/models.py:3395
+#: part/models.py:3359
msgid "Minimum cost based on internal price breaks"
msgstr "基於內部批發價的最低成本"
-#: part/models.py:3401
+#: part/models.py:3365
msgid "Maximum Internal Price"
msgstr "最大內部價格"
-#: part/models.py:3402
+#: part/models.py:3366
msgid "Maximum cost based on internal price breaks"
msgstr "基於內部批發價的最高成本"
-#: part/models.py:3408
+#: part/models.py:3372
msgid "Minimum Supplier Price"
msgstr "供應商最低價格"
-#: part/models.py:3409
+#: part/models.py:3373
msgid "Minimum price of part from external suppliers"
msgstr "外部供應商零件的最低價格"
-#: part/models.py:3415
+#: part/models.py:3379
msgid "Maximum Supplier Price"
msgstr "供應商最高價格"
-#: part/models.py:3416
+#: part/models.py:3380
msgid "Maximum price of part from external suppliers"
msgstr "來自外部供應商的商零件的最高價格"
-#: part/models.py:3422
+#: part/models.py:3386
msgid "Minimum Variant Cost"
msgstr "最小變體成本"
-#: part/models.py:3423
+#: part/models.py:3387
msgid "Calculated minimum cost of variant parts"
msgstr "計算出的變體零件的最低成本"
-#: part/models.py:3429
+#: part/models.py:3393
msgid "Maximum Variant Cost"
msgstr "最大變體成本"
-#: part/models.py:3430
+#: part/models.py:3394
msgid "Calculated maximum cost of variant parts"
msgstr "計算出的變體零件的最大成本"
-#: part/models.py:3436 part/models.py:3450
+#: part/models.py:3400 part/models.py:3414
msgid "Minimum Cost"
msgstr "最低成本"
-#: part/models.py:3437
+#: part/models.py:3401
msgid "Override minimum cost"
msgstr "覆蓋最低成本"
-#: part/models.py:3443 part/models.py:3457
+#: part/models.py:3407 part/models.py:3421
msgid "Maximum Cost"
msgstr "最高成本"
-#: part/models.py:3444
+#: part/models.py:3408
msgid "Override maximum cost"
msgstr "覆蓋最大成本"
-#: part/models.py:3451
+#: part/models.py:3415
msgid "Calculated overall minimum cost"
msgstr "計算總最低成本"
-#: part/models.py:3458
+#: part/models.py:3422
msgid "Calculated overall maximum cost"
msgstr "計算總最大成本"
-#: part/models.py:3464
+#: part/models.py:3428
msgid "Minimum Sale Price"
msgstr "最低售出價格"
-#: part/models.py:3465
+#: part/models.py:3429
msgid "Minimum sale price based on price breaks"
msgstr "基於批發價的最低售出價格"
-#: part/models.py:3471
+#: part/models.py:3435
msgid "Maximum Sale Price"
msgstr "最高售出價格"
-#: part/models.py:3472
+#: part/models.py:3436
msgid "Maximum sale price based on price breaks"
msgstr "基於批發價的最大售出價格"
-#: part/models.py:3478
+#: part/models.py:3442
msgid "Minimum Sale Cost"
msgstr "最低銷售成本"
-#: part/models.py:3479
+#: part/models.py:3443
msgid "Minimum historical sale price"
msgstr "歷史最低售出價格"
-#: part/models.py:3485
+#: part/models.py:3449
msgid "Maximum Sale Cost"
msgstr "最高銷售成本"
-#: part/models.py:3486
+#: part/models.py:3450
msgid "Maximum historical sale price"
msgstr "歷史最高售出價格"
-#: part/models.py:3504
+#: part/models.py:3468
msgid "Part for stocktake"
msgstr "用於盤點的零件"
-#: part/models.py:3509
+#: part/models.py:3473
msgid "Item Count"
msgstr "物品數量"
-#: part/models.py:3510
+#: part/models.py:3474
msgid "Number of individual stock entries at time of stocktake"
msgstr "盤點時的個別庫存條目數"
-#: part/models.py:3518
+#: part/models.py:3482
msgid "Total available stock at time of stocktake"
msgstr "盤點時可用庫存總額"
-#: part/models.py:3522 report/templates/report/inventree_test_report.html:106
+#: part/models.py:3486 report/templates/report/inventree_test_report.html:106
msgid "Date"
msgstr "日期"
-#: part/models.py:3523
+#: part/models.py:3487
msgid "Date stocktake was performed"
msgstr "進行盤點的日期"
-#: part/models.py:3530
+#: part/models.py:3494
msgid "Minimum Stock Cost"
msgstr "最低庫存成本"
-#: part/models.py:3531
+#: part/models.py:3495
msgid "Estimated minimum cost of stock on hand"
msgstr "現有存庫存最低成本估算"
-#: part/models.py:3537
+#: part/models.py:3501
msgid "Maximum Stock Cost"
msgstr "最高庫存成本"
-#: part/models.py:3538
+#: part/models.py:3502
msgid "Estimated maximum cost of stock on hand"
msgstr "目前庫存最高成本估算"
-#: part/models.py:3548
+#: part/models.py:3512
msgid "Part Sale Price Break"
msgstr "零件售出價格折扣"
-#: part/models.py:3660
+#: part/models.py:3626
msgid "Part Test Template"
msgstr "零件測試模板"
-#: part/models.py:3686
+#: part/models.py:3652
msgid "Invalid template name - must include at least one alphanumeric character"
msgstr "模板名稱無效 - 必須包含至少一個字母或者數字"
-#: part/models.py:3718
+#: part/models.py:3684
msgid "Test templates can only be created for testable parts"
msgstr "測試模板只能為可拆分的部件創建"
-#: part/models.py:3732
+#: part/models.py:3698
msgid "Test template with the same key already exists for part"
msgstr "零件已存在具有相同主鍵的測試模板"
-#: part/models.py:3749
+#: part/models.py:3715
msgid "Test Name"
msgstr "測試名"
-#: part/models.py:3750
+#: part/models.py:3716
msgid "Enter a name for the test"
msgstr "輸入測試的名稱"
-#: part/models.py:3756
+#: part/models.py:3722
msgid "Test Key"
msgstr "測試主鍵"
-#: part/models.py:3757
+#: part/models.py:3723
msgid "Simplified key for the test"
msgstr "簡化測試主鍵"
-#: part/models.py:3764
+#: part/models.py:3730
msgid "Test Description"
msgstr "測試説明"
-#: part/models.py:3765
+#: part/models.py:3731
msgid "Enter description for this test"
msgstr "輸入測試的描述"
-#: part/models.py:3769
+#: part/models.py:3735
msgid "Is this test enabled?"
msgstr "此測試是否已啓用?"
-#: part/models.py:3774
+#: part/models.py:3740
msgid "Required"
msgstr "必須的"
-#: part/models.py:3775
+#: part/models.py:3741
msgid "Is this test required to pass?"
msgstr "需要此測試才能通過嗎?"
-#: part/models.py:3780
+#: part/models.py:3746
msgid "Requires Value"
msgstr "需要值"
-#: part/models.py:3781
+#: part/models.py:3747
msgid "Does this test require a value when adding a test result?"
msgstr "添加測試結果時是否需要一個值?"
-#: part/models.py:3786
+#: part/models.py:3752
msgid "Requires Attachment"
msgstr "需要附件"
-#: part/models.py:3788
+#: part/models.py:3754
msgid "Does this test require a file attachment when adding a test result?"
msgstr "添加測試結果時是否需要文件附件?"
-#: part/models.py:3795
+#: part/models.py:3761
msgid "Valid choices for this test (comma-separated)"
msgstr "此測試的有效選擇 (逗號分隔)"
-#: part/models.py:3977
+#: part/models.py:3955
msgid "BOM item cannot be modified - assembly is locked"
msgstr "物料清單項目不能被修改 - 裝配已鎖定"
-#: part/models.py:3984
+#: part/models.py:3962
msgid "BOM item cannot be modified - variant assembly is locked"
msgstr "物料清單項目不能修改 - 變體裝配已鎖定"
-#: part/models.py:3994
+#: part/models.py:3972
msgid "Select parent part"
msgstr "選擇父零件"
-#: part/models.py:4004
+#: part/models.py:3982
msgid "Sub part"
msgstr "子零件"
-#: part/models.py:4005
+#: part/models.py:3983
msgid "Select part to be used in BOM"
msgstr "選擇要用於物料清單的零件"
-#: part/models.py:4016
+#: part/models.py:3994
msgid "BOM quantity for this BOM item"
msgstr "此物料清單項目的數量"
-#: part/models.py:4022
+#: part/models.py:4000
msgid "This BOM item is optional"
msgstr "此物料清單項目是可選的"
-#: part/models.py:4028
+#: part/models.py:4006
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "這個物料清單項目是耗材 (它沒有在生產訂單中被追蹤)"
-#: part/models.py:4036
+#: part/models.py:4014
msgid "Setup Quantity"
msgstr "建置額外數量"
-#: part/models.py:4037
+#: part/models.py:4015
msgid "Extra required quantity for a build, to account for setup losses"
msgstr "為彌補建置 / 開工損耗所需的額外數量"
-#: part/models.py:4045
+#: part/models.py:4023
msgid "Attrition"
msgstr "損耗率"
-#: part/models.py:4047
+#: part/models.py:4025
msgid "Estimated attrition for a build, expressed as a percentage (0-100)"
msgstr "製造預估損耗(百分比 0–100)"
-#: part/models.py:4058
+#: part/models.py:4036
msgid "Rounding Multiple"
msgstr "進位倍數"
-#: part/models.py:4060
+#: part/models.py:4038
msgid "Round up required production quantity to nearest multiple of this value"
msgstr "將所需生產數量向上取整到此數值的整數倍"
-#: part/models.py:4068
+#: part/models.py:4046
msgid "BOM item reference"
msgstr "物料清單項目引用"
-#: part/models.py:4076
+#: part/models.py:4054
msgid "BOM item notes"
msgstr "物料清單項目註釋"
-#: part/models.py:4082
+#: part/models.py:4060
msgid "Checksum"
msgstr "校驗和"
-#: part/models.py:4083
+#: part/models.py:4061
msgid "BOM line checksum"
msgstr "物料清單行校驗和"
-#: part/models.py:4088
+#: part/models.py:4066
msgid "Validated"
msgstr "已驗證"
-#: part/models.py:4089
+#: part/models.py:4067
msgid "This BOM item has been validated"
msgstr "此物料清單項目已驗證"
-#: part/models.py:4094
+#: part/models.py:4072
msgid "Gets inherited"
msgstr "獲取繼承的"
-#: part/models.py:4095
+#: part/models.py:4073
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "此物料清單項目是由物料清單繼承的變體零件"
-#: part/models.py:4101
+#: part/models.py:4079
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "變體零件的庫存項可以用於此物料清單項目"
-#: part/models.py:4208 stock/models.py:925
+#: part/models.py:4186 stock/models.py:932
msgid "Quantity must be integer value for trackable parts"
msgstr "可追蹤零件的數量必須是整數"
-#: part/models.py:4218 part/models.py:4220
+#: part/models.py:4196 part/models.py:4198
msgid "Sub part must be specified"
msgstr "必須指定子零件"
-#: part/models.py:4371
+#: part/models.py:4349
msgid "BOM Item Substitute"
msgstr "物料清單項目替代品"
-#: part/models.py:4392
+#: part/models.py:4370
msgid "Substitute part cannot be the same as the master part"
msgstr "替代品零件不能與主零件相同"
-#: part/models.py:4405
+#: part/models.py:4383
msgid "Parent BOM item"
msgstr "上級物料清單項目"
-#: part/models.py:4413
+#: part/models.py:4391
msgid "Substitute part"
msgstr "替代品零件"
-#: part/models.py:4429
+#: part/models.py:4407
msgid "Part 1"
msgstr "零件 1"
-#: part/models.py:4437
+#: part/models.py:4415
msgid "Part 2"
msgstr "零件2"
-#: part/models.py:4438
+#: part/models.py:4416
msgid "Select Related Part"
msgstr "選擇相關的零件"
-#: part/models.py:4445
+#: part/models.py:4423
msgid "Note for this relationship"
msgstr "此關係的備註"
-#: part/models.py:4464
+#: part/models.py:4442
msgid "Part relationship cannot be created between a part and itself"
msgstr "零件關係不能在零件和自身之間創建"
-#: part/models.py:4469
+#: part/models.py:4447
msgid "Duplicate relationship already exists"
msgstr "複製關係已經存在"
-#: part/serializers.py:113
+#: part/serializers.py:115
msgid "Parent Category"
msgstr "上級類別"
-#: part/serializers.py:114
+#: part/serializers.py:116
msgid "Parent part category"
msgstr "上級零件類別"
-#: part/serializers.py:122 part/serializers.py:163
+#: part/serializers.py:124 part/serializers.py:174
msgid "Subcategories"
msgstr "子類別"
-#: part/serializers.py:202
+#: part/serializers.py:213
msgid "Results"
msgstr "結果"
-#: part/serializers.py:203
+#: part/serializers.py:214
msgid "Number of results recorded against this template"
msgstr "根據該模板記錄的結果數量"
-#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:643
+#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:649
msgid "Purchase currency of this stock item"
msgstr "購買此庫存項的貨幣"
-#: part/serializers.py:279
+#: part/serializers.py:290
msgid "File is not an image"
msgstr "檔案不是圖片"
-#: part/serializers.py:382
+#: part/serializers.py:393
msgid "Original Part"
msgstr "原始零件"
-#: part/serializers.py:383
+#: part/serializers.py:394
msgid "Select original part to duplicate"
msgstr "選擇要複製的原始零件"
-#: part/serializers.py:388
+#: part/serializers.py:399
msgid "Copy Image"
msgstr "複製圖片"
-#: part/serializers.py:389
+#: part/serializers.py:400
msgid "Copy image from original part"
msgstr "從原零件複製圖片"
-#: part/serializers.py:395
+#: part/serializers.py:406
msgid "Copy BOM"
msgstr "複製物料清單"
-#: part/serializers.py:396
+#: part/serializers.py:407
msgid "Copy bill of materials from original part"
msgstr "從原始零件複製材料清單"
-#: part/serializers.py:402
-msgid "Copy Parameters"
-msgstr "複製參數"
-
-#: part/serializers.py:403
+#: part/serializers.py:414
msgid "Copy parameter data from original part"
msgstr "從原始零件複製參數數據"
-#: part/serializers.py:409
+#: part/serializers.py:420
msgid "Copy Notes"
msgstr "複製備註"
-#: part/serializers.py:410
+#: part/serializers.py:421
msgid "Copy notes from original part"
msgstr "從原始零件複製備註"
-#: part/serializers.py:416
+#: part/serializers.py:427
msgid "Copy Tests"
msgstr "複製測試模板"
-#: part/serializers.py:417
+#: part/serializers.py:428
msgid "Copy test templates from original part"
msgstr "從原始零件複製測試模板"
-#: part/serializers.py:435
+#: part/serializers.py:446
msgid "Initial Stock Quantity"
msgstr "初始化庫存數量"
-#: part/serializers.py:437
+#: part/serializers.py:448
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "指定此零件的初始庫存數量。如果數量為零,則不添加任何庫存。"
-#: part/serializers.py:444
+#: part/serializers.py:455
msgid "Initial Stock Location"
msgstr "初始化庫存地點"
-#: part/serializers.py:445
+#: part/serializers.py:456
msgid "Specify initial stock location for this Part"
msgstr "初始化指定此零件的庫存地點"
-#: part/serializers.py:462
+#: part/serializers.py:473
msgid "Select supplier (or leave blank to skip)"
msgstr "選擇供應商(或為空以跳過)"
-#: part/serializers.py:478
+#: part/serializers.py:489
msgid "Select manufacturer (or leave blank to skip)"
msgstr "選擇製造商(或為空)"
-#: part/serializers.py:488
+#: part/serializers.py:499
msgid "Manufacturer part number"
msgstr "製造商零件號"
-#: part/serializers.py:495
+#: part/serializers.py:506
msgid "Selected company is not a valid supplier"
msgstr "所選公司不是一個有效的供應商"
-#: part/serializers.py:504
+#: part/serializers.py:515
msgid "Selected company is not a valid manufacturer"
msgstr "所選公司不是一個有效的製造商"
-#: part/serializers.py:515
+#: part/serializers.py:526
msgid "Manufacturer part matching this MPN already exists"
msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存在"
-#: part/serializers.py:522
+#: part/serializers.py:533
msgid "Supplier part matching this SKU already exists"
msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在"
-#: part/serializers.py:799
+#: part/serializers.py:804
msgid "Category Name"
msgstr "類別名稱"
-#: part/serializers.py:828
+#: part/serializers.py:833
msgid "Building"
msgstr "正在生產"
-#: part/serializers.py:829
+#: part/serializers.py:834
msgid "Quantity of this part currently being in production"
msgstr "此零件目前生產中數量"
-#: part/serializers.py:836
+#: part/serializers.py:841
msgid "Outstanding quantity of this part scheduled to be built"
msgstr "此零件排程待製造未完成數量"
-#: part/serializers.py:856 stock/serializers.py:1019 stock/serializers.py:1189
+#: part/serializers.py:861 stock/serializers.py:1025 stock/serializers.py:1208
#: users/ruleset.py:30
msgid "Stock Items"
msgstr "庫存項"
-#: part/serializers.py:860
+#: part/serializers.py:865
msgid "Revisions"
msgstr "修訂"
-#: part/serializers.py:864
-msgid "Suppliers"
-msgstr "供應商"
-
-#: part/serializers.py:868 part/serializers.py:1162
+#: part/serializers.py:869 part/serializers.py:1161
#: templates/email/low_stock_notification.html:16
#: templates/email/part_event_notification.html:17
msgid "Total Stock"
msgstr "庫存總量"
-#: part/serializers.py:876
+#: part/serializers.py:877
msgid "Unallocated Stock"
msgstr "未分配的庫存"
-#: part/serializers.py:884
+#: part/serializers.py:885
msgid "Variant Stock"
msgstr "變體庫存"
-#: part/serializers.py:943
+#: part/serializers.py:941
msgid "Duplicate Part"
msgstr "重複零件"
-#: part/serializers.py:944
+#: part/serializers.py:942
msgid "Copy initial data from another Part"
msgstr "從另一個零件複製初始數據"
-#: part/serializers.py:950
+#: part/serializers.py:948
msgid "Initial Stock"
msgstr "初始庫存"
-#: part/serializers.py:951
+#: part/serializers.py:949
msgid "Create Part with initial stock quantity"
msgstr "創建具有初始庫存數量的零件"
-#: part/serializers.py:957
+#: part/serializers.py:955
msgid "Supplier Information"
msgstr "供應商信息"
-#: part/serializers.py:958
+#: part/serializers.py:956
msgid "Add initial supplier information for this part"
msgstr "添加此零件的初始供應商信息"
-#: part/serializers.py:966
+#: part/serializers.py:965
msgid "Copy Category Parameters"
msgstr "複製類別參數"
-#: part/serializers.py:967
+#: part/serializers.py:966
msgid "Copy parameter templates from selected part category"
msgstr "從選擇的零件複製參數模版"
-#: part/serializers.py:972
+#: part/serializers.py:971
msgid "Existing Image"
msgstr "現有的圖片"
-#: part/serializers.py:973
+#: part/serializers.py:972
msgid "Filename of an existing part image"
msgstr "現有零件圖片的文件名"
-#: part/serializers.py:990
+#: part/serializers.py:989
msgid "Image file does not exist"
msgstr "圖片不存在"
-#: part/serializers.py:1134
+#: part/serializers.py:1133
msgid "Validate entire Bill of Materials"
msgstr "驗證整個物料清單"
-#: part/serializers.py:1168 part/serializers.py:1634
+#: part/serializers.py:1167 part/serializers.py:1759
msgid "Can Build"
msgstr "可以創建"
-#: part/serializers.py:1185
+#: part/serializers.py:1184
msgid "Required for Build Orders"
msgstr "生產工單需求數"
-#: part/serializers.py:1190
+#: part/serializers.py:1189
msgid "Allocated to Build Orders"
msgstr "已分配至生產工單"
-#: part/serializers.py:1197
+#: part/serializers.py:1196
msgid "Required for Sales Orders"
msgstr "銷售訂單需求數"
-#: part/serializers.py:1201
+#: part/serializers.py:1200
msgid "Allocated to Sales Orders"
msgstr "已分配至銷售訂單"
-#: part/serializers.py:1340
+#: part/serializers.py:1260
+msgid "Part IPN"
+msgstr ""
+
+#: part/serializers.py:1267
+msgid "Part Description"
+msgstr ""
+
+#: part/serializers.py:1306
+msgid "Select a part to generate stocktake information for that part (and any variant parts)"
+msgstr ""
+
+#: part/serializers.py:1316
+msgid "Select a category to include all parts within that category (and subcategories)"
+msgstr ""
+
+#: part/serializers.py:1326
+msgid "Select a location to include all parts with stock in that location (including sub-locations)"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Generate Stocktake Entries"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Save stocktake entries for the selected parts"
+msgstr ""
+
+#: part/serializers.py:1341
+msgid "Generate Report"
+msgstr "產製報表"
+
+#: part/serializers.py:1342
+msgid "Generate a stocktake report for the selected parts"
+msgstr "產製選定零件的庫存報表"
+
+#: part/serializers.py:1445
msgid "Minimum Price"
msgstr "最低價格"
-#: part/serializers.py:1341
+#: part/serializers.py:1446
msgid "Override calculated value for minimum price"
msgstr "覆蓋已計算的最低價格值"
-#: part/serializers.py:1348
+#: part/serializers.py:1453
msgid "Minimum price currency"
msgstr "最低價格貨幣"
-#: part/serializers.py:1355
+#: part/serializers.py:1460
msgid "Maximum Price"
msgstr "最高價格"
-#: part/serializers.py:1356
+#: part/serializers.py:1461
msgid "Override calculated value for maximum price"
msgstr "覆蓋已計算的最高價格值"
-#: part/serializers.py:1363
+#: part/serializers.py:1468
msgid "Maximum price currency"
msgstr "最高價格貨幣"
-#: part/serializers.py:1392
+#: part/serializers.py:1497
msgid "Update"
msgstr "更新"
-#: part/serializers.py:1393
+#: part/serializers.py:1498
msgid "Update pricing for this part"
msgstr "更新這個零件的價格"
-#: part/serializers.py:1416
+#: part/serializers.py:1521
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "無法將所提供的貨幣轉換為 {default_currency}"
-#: part/serializers.py:1423
+#: part/serializers.py:1528
msgid "Minimum price must not be greater than maximum price"
msgstr "最低價格不能高於最高價格。"
-#: part/serializers.py:1426
+#: part/serializers.py:1531
msgid "Maximum price must not be less than minimum price"
msgstr "最高價格不能低於最低價格"
-#: part/serializers.py:1580
+#: part/serializers.py:1684
+msgid "Quantity must be greater than or equal to zero"
+msgstr ""
+
+#: part/serializers.py:1697
msgid "Select the parent assembly"
msgstr "選擇父裝配"
-#: part/serializers.py:1600
+#: part/serializers.py:1725
msgid "Select the component part"
msgstr "選擇零部件"
-#: part/serializers.py:1802
+#: part/serializers.py:1927
msgid "Select part to copy BOM from"
msgstr "選擇要複製物料清單的零件"
-#: part/serializers.py:1810
+#: part/serializers.py:1935
msgid "Remove Existing Data"
msgstr "移除現有數據"
-#: part/serializers.py:1811
+#: part/serializers.py:1936
msgid "Remove existing BOM items before copying"
msgstr "複製前刪除現有的物料清單項目"
-#: part/serializers.py:1816
+#: part/serializers.py:1941
msgid "Include Inherited"
msgstr "包含繼承的"
-#: part/serializers.py:1817
+#: part/serializers.py:1942
msgid "Include BOM items which are inherited from templated parts"
msgstr "包含從模板零件繼承的物料清單項目"
-#: part/serializers.py:1822
+#: part/serializers.py:1947
msgid "Skip Invalid Rows"
msgstr "跳過無效行"
-#: part/serializers.py:1823
+#: part/serializers.py:1948
msgid "Enable this option to skip invalid rows"
msgstr "啓用此選項以跳過無效行"
-#: part/serializers.py:1828
+#: part/serializers.py:1953
msgid "Copy Substitute Parts"
msgstr "複製替代品零件"
-#: part/serializers.py:1829
+#: part/serializers.py:1954
msgid "Copy substitute parts when duplicate BOM items"
msgstr "複製物料清單項目時複製替代品零件"
-#: part/tasks.py:41
+#: part/tasks.py:42
msgid "Low stock notification"
msgstr "低庫存通知"
-#: part/tasks.py:43
+#: part/tasks.py:44
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "可用的 {part.name}庫存已經跌到設置的最低值"
-#: part/tasks.py:73
+#: part/tasks.py:74
msgid "Stale stock notification"
msgstr "庫存即將過期通知"
-#: part/tasks.py:77
+#: part/tasks.py:78
msgid "You have 1 stock item approaching its expiry date"
msgstr "有 1 個庫存項目即將到期"
-#: part/tasks.py:79
+#: part/tasks.py:80
#, python-brace-format
msgid "You have {item_count} stock items approaching their expiry dates"
msgstr "有 {item_count} 個庫存項目即將到期"
-#: part/tasks.py:88
+#: part/tasks.py:89
msgid "No expiry date"
msgstr "未設定到期日"
-#: part/tasks.py:95
+#: part/tasks.py:96
msgid "Expired {abs(days_diff)} days ago"
msgstr "已於 {abs(days_diff)} 天前到期"
-#: part/tasks.py:98
+#: part/tasks.py:99
msgid "Expires today"
msgstr "今日到期"
-#: part/tasks.py:101
+#: part/tasks.py:102
#, python-brace-format
msgid "{days_until_expiry} days"
msgstr "尚餘 {days_until_expiry} 天"
@@ -6732,108 +6865,108 @@ msgstr "未指定操作"
msgid "No matching action found"
msgstr "未找到指定操作"
-#: plugin/base/barcodes/api.py:211
+#: plugin/base/barcodes/api.py:212
msgid "No match found for barcode data"
msgstr "未找到匹配條形碼數據"
-#: plugin/base/barcodes/api.py:215
+#: plugin/base/barcodes/api.py:216
msgid "Match found for barcode data"
msgstr "找到匹配條形碼數據"
-#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:77
+#: plugin/base/barcodes/api.py:254 plugin/base/barcodes/serializers.py:77
msgid "Model is not supported"
msgstr "不支持模型"
-#: plugin/base/barcodes/api.py:258
+#: plugin/base/barcodes/api.py:259
msgid "Model instance not found"
msgstr "找不到模型實例"
-#: plugin/base/barcodes/api.py:287
+#: plugin/base/barcodes/api.py:288
msgid "Barcode matches existing item"
msgstr "條形碼匹配現有項目"
-#: plugin/base/barcodes/api.py:418
+#: plugin/base/barcodes/api.py:419
msgid "No matching part data found"
msgstr "沒有找到匹配的零件數據"
-#: plugin/base/barcodes/api.py:434
+#: plugin/base/barcodes/api.py:435
msgid "No matching supplier parts found"
msgstr "沒有找到匹配的供應商零件"
-#: plugin/base/barcodes/api.py:437
+#: plugin/base/barcodes/api.py:438
msgid "Multiple matching supplier parts found"
msgstr "找到多個匹配的供應商零件"
-#: plugin/base/barcodes/api.py:450 plugin/base/barcodes/api.py:677
+#: plugin/base/barcodes/api.py:451 plugin/base/barcodes/api.py:678
msgid "No matching plugin found for barcode data"
msgstr "沒有找到匹配條碼數據的插件"
-#: plugin/base/barcodes/api.py:460
+#: plugin/base/barcodes/api.py:461
msgid "Matched supplier part"
msgstr "匹配的供應商零件"
-#: plugin/base/barcodes/api.py:528
+#: plugin/base/barcodes/api.py:529
msgid "Item has already been received"
msgstr "項目已被接收"
-#: plugin/base/barcodes/api.py:576
+#: plugin/base/barcodes/api.py:577
msgid "No plugin match for supplier barcode"
msgstr "供應商條碼未匹配任何模組"
-#: plugin/base/barcodes/api.py:625
+#: plugin/base/barcodes/api.py:626
msgid "Multiple matching line items found"
msgstr "找到多個匹配的行項目"
-#: plugin/base/barcodes/api.py:628
+#: plugin/base/barcodes/api.py:629
msgid "No matching line item found"
msgstr "未找到匹配的行項目"
-#: plugin/base/barcodes/api.py:674
+#: plugin/base/barcodes/api.py:675
msgid "No sales order provided"
msgstr "未提供銷售訂單"
-#: plugin/base/barcodes/api.py:683
+#: plugin/base/barcodes/api.py:684
msgid "Barcode does not match an existing stock item"
msgstr "條形碼與現有的庫存項不匹配"
-#: plugin/base/barcodes/api.py:699
+#: plugin/base/barcodes/api.py:700
msgid "Stock item does not match line item"
msgstr "庫存項與行項目不匹配"
-#: plugin/base/barcodes/api.py:729
+#: plugin/base/barcodes/api.py:730
msgid "Insufficient stock available"
msgstr "可用庫存不足"
-#: plugin/base/barcodes/api.py:742
+#: plugin/base/barcodes/api.py:743
msgid "Stock item allocated to sales order"
msgstr "庫存項已分配到銷售訂單"
-#: plugin/base/barcodes/api.py:745
+#: plugin/base/barcodes/api.py:746
msgid "Not enough information"
msgstr "沒有足夠的信息"
-#: plugin/base/barcodes/mixins.py:308
+#: plugin/base/barcodes/mixins.py:309
#: plugin/builtin/barcodes/inventree_barcode.py:101
msgid "Found matching item"
msgstr "找到匹配項目"
-#: plugin/base/barcodes/mixins.py:374
+#: plugin/base/barcodes/mixins.py:375
msgid "Supplier part does not match line item"
msgstr "供應商零件與行項目不匹配"
-#: plugin/base/barcodes/mixins.py:377
+#: plugin/base/barcodes/mixins.py:378
msgid "Line item is already completed"
msgstr "行項目已完成"
-#: plugin/base/barcodes/mixins.py:414
+#: plugin/base/barcodes/mixins.py:415
msgid "Further information required to receive line item"
msgstr "需要更多信息以接收行項目"
-#: plugin/base/barcodes/mixins.py:422
+#: plugin/base/barcodes/mixins.py:423
msgid "Received purchase order line item"
msgstr "已收到採購訂單行項目"
-#: plugin/base/barcodes/mixins.py:429
+#: plugin/base/barcodes/mixins.py:430
msgid "Failed to receive line item"
msgstr "接收行項目失敗"
@@ -6972,7 +7105,7 @@ msgstr "提供條形碼本地支持"
#: plugin/builtin/barcodes/inventree_barcode.py:30
#: plugin/builtin/events/auto_create_builds.py:30
#: plugin/builtin/events/auto_issue_orders.py:19
-#: plugin/builtin/exporter/bom_exporter.py:73
+#: plugin/builtin/exporter/bom_exporter.py:74
#: plugin/builtin/exporter/inventree_exporter.py:17
#: plugin/builtin/exporter/parameter_exporter.py:32
#: plugin/builtin/exporter/stocktake_exporter.py:47
@@ -7070,111 +7203,111 @@ msgstr "發佈回溯日期訂單"
msgid "Automatically issue orders that are backdated"
msgstr "自動發佈被回溯日期的訂單"
-#: plugin/builtin/exporter/bom_exporter.py:21
+#: plugin/builtin/exporter/bom_exporter.py:22
msgid "Levels"
msgstr "階層數"
-#: plugin/builtin/exporter/bom_exporter.py:23
+#: plugin/builtin/exporter/bom_exporter.py:24
msgid "Number of levels to export - set to zero to export all BOM levels"
msgstr "要匯出的 BOM 階層數;設為 0 匯出全部階層"
-#: plugin/builtin/exporter/bom_exporter.py:30
-#: plugin/builtin/exporter/bom_exporter.py:114
+#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:118
msgid "Total Quantity"
msgstr "總用量"
-#: plugin/builtin/exporter/bom_exporter.py:31
+#: plugin/builtin/exporter/bom_exporter.py:32
msgid "Include total quantity of each part in the BOM"
msgstr "包含每個零件於 BOM 中的總需求量"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Stock Data"
msgstr "庫存資料"
-#: plugin/builtin/exporter/bom_exporter.py:35
+#: plugin/builtin/exporter/bom_exporter.py:36
msgid "Include part stock data"
msgstr "包含零件庫存資料"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Pricing Data"
msgstr "價格資料"
-#: plugin/builtin/exporter/bom_exporter.py:39
+#: plugin/builtin/exporter/bom_exporter.py:40
#: plugin/builtin/exporter/stocktake_exporter.py:20
msgid "Include part pricing data"
msgstr "包含零件價格資料"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Supplier Data"
msgstr "供應商資料"
-#: plugin/builtin/exporter/bom_exporter.py:43
+#: plugin/builtin/exporter/bom_exporter.py:44
msgid "Include supplier data"
msgstr "包含供應商資料"
-#: plugin/builtin/exporter/bom_exporter.py:48
+#: plugin/builtin/exporter/bom_exporter.py:49
msgid "Manufacturer Data"
msgstr "製造商資料"
-#: plugin/builtin/exporter/bom_exporter.py:49
+#: plugin/builtin/exporter/bom_exporter.py:50
msgid "Include manufacturer data"
msgstr "包含製造商資料"
-#: plugin/builtin/exporter/bom_exporter.py:54
+#: plugin/builtin/exporter/bom_exporter.py:55
msgid "Substitute Data"
msgstr "替代料資料"
-#: plugin/builtin/exporter/bom_exporter.py:55
+#: plugin/builtin/exporter/bom_exporter.py:56
msgid "Include substitute part data"
msgstr "包含替代零件資料"
-#: plugin/builtin/exporter/bom_exporter.py:60
+#: plugin/builtin/exporter/bom_exporter.py:61
msgid "Parameter Data"
msgstr "參數資料"
-#: plugin/builtin/exporter/bom_exporter.py:61
+#: plugin/builtin/exporter/bom_exporter.py:62
msgid "Include part parameter data"
msgstr "包含零件參數資料"
-#: plugin/builtin/exporter/bom_exporter.py:70
+#: plugin/builtin/exporter/bom_exporter.py:71
msgid "Multi-Level BOM Exporter"
msgstr "多層 BOM 匯出器"
-#: plugin/builtin/exporter/bom_exporter.py:71
+#: plugin/builtin/exporter/bom_exporter.py:72
msgid "Provides support for exporting multi-level BOMs"
msgstr "支援匯出多層 BOM"
-#: plugin/builtin/exporter/bom_exporter.py:110
+#: plugin/builtin/exporter/bom_exporter.py:114
msgid "BOM Level"
msgstr "BOM 階層"
-#: plugin/builtin/exporter/bom_exporter.py:120
+#: plugin/builtin/exporter/bom_exporter.py:124
#, python-brace-format
msgid "Substitute {n}"
msgstr "替代品 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:126
+#: plugin/builtin/exporter/bom_exporter.py:130
#, python-brace-format
msgid "Supplier {n}"
msgstr "供應商 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:127
+#: plugin/builtin/exporter/bom_exporter.py:131
#, python-brace-format
msgid "Supplier {n} SKU"
msgstr "供應商 {n} SKU"
-#: plugin/builtin/exporter/bom_exporter.py:128
+#: plugin/builtin/exporter/bom_exporter.py:132
#, python-brace-format
msgid "Supplier {n} MPN"
msgstr "供應商 {n} MPN"
-#: plugin/builtin/exporter/bom_exporter.py:134
+#: plugin/builtin/exporter/bom_exporter.py:138
#, python-brace-format
msgid "Manufacturer {n}"
msgstr "製造商 {n}"
-#: plugin/builtin/exporter/bom_exporter.py:135
+#: plugin/builtin/exporter/bom_exporter.py:139
#, python-brace-format
msgid "Manufacturer {n} MPN"
msgstr "製造商 {n} MPN"
@@ -7276,8 +7409,8 @@ msgid "Integrated Slack notification methods"
msgstr "整合的 Slack 通知方式"
#: plugin/builtin/integration/core_notifications.py:131
-msgid "Slack incoming webhook url"
-msgstr "Slack傳入Webhook url"
+msgid "Slack incoming webhook URL"
+msgstr ""
#: plugin/builtin/integration/core_notifications.py:132
msgid "URL that is used to send messages to a slack channel"
@@ -7354,11 +7487,11 @@ msgstr "InvenTree 設備標籤打印機"
msgid "Provides support for printing using a machine"
msgstr "提供使用設備打印的支持"
-#: plugin/builtin/labels/inventree_machine.py:162
+#: plugin/builtin/labels/inventree_machine.py:164
msgid "last used"
msgstr "最近使用"
-#: plugin/builtin/labels/inventree_machine.py:179
+#: plugin/builtin/labels/inventree_machine.py:181
msgid "Options"
msgstr "選項"
@@ -7536,8 +7669,8 @@ msgid "Key of plugin"
msgstr "插件的鍵"
#: plugin/models.py:55
-msgid "PluginName of the plugin"
-msgstr "插件名稱"
+msgid "Name of the plugin"
+msgstr "外掛名稱"
#: plugin/models.py:62 plugin/serializers.py:119
msgid "Package Name"
@@ -7571,21 +7704,21 @@ msgstr "軟件包插件"
msgid "Plugin"
msgstr "插件"
-#: plugin/plugin.py:386
+#: plugin/plugin.py:389
msgid "No author found"
msgstr "未找到作者"
-#: plugin/registry.py:774
+#: plugin/registry.py:781
#, python-brace-format
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
msgstr "插件 '{p}' 與當前 InvenTree 版本{v} 不兼容"
-#: plugin/registry.py:777
+#: plugin/registry.py:784
#, python-brace-format
msgid "Plugin requires at least version {v}"
msgstr "插件所需最低版本 {v}"
-#: plugin/registry.py:779
+#: plugin/registry.py:786
#, python-brace-format
msgid "Plugin requires at most version {v}"
msgstr "插件所需最高版本 {v}"
@@ -7763,8 +7896,8 @@ msgid "Installation not confirmed"
msgstr "安裝尚未確認"
#: plugin/serializers.py:152
-msgid "Either packagename of URL must be provided"
-msgstr "必須提供軟件包名稱或者URL"
+msgid "Either packagename or URL must be provided"
+msgstr ""
#: plugin/serializers.py:188
msgid "Full reload"
@@ -8072,7 +8205,7 @@ msgstr "總計"
#: report/templates/report/inventree_return_order_report.html:25
#: report/templates/report/inventree_sales_order_shipment_report.html:45
#: report/templates/report/inventree_stock_report_merge.html:88
-#: report/templates/report/inventree_test_report.html:88 stock/models.py:1083
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:1090
#: stock/serializers.py:164 templates/email/stale_stock_notification.html:21
msgid "Serial Number"
msgstr "序列號"
@@ -8097,7 +8230,7 @@ msgstr "庫存項測試報告"
#: report/templates/report/inventree_stock_report_merge.html:97
#: report/templates/report/inventree_test_report.html:153
-#: stock/serializers.py:626
+#: stock/serializers.py:632
msgid "Installed Items"
msgstr "已安裝的項目"
@@ -8130,495 +8263,519 @@ msgstr "無結果 (必填)"
msgid "No result"
msgstr "沒有結果"
-#: report/templatetags/report.py:169
-msgid "Asset file does not exist"
-msgstr "資產文件不存在"
+#: report/templatetags/report.py:168
+msgid "Invalid media file path"
+msgstr ""
-#: report/templatetags/report.py:226 report/templatetags/report.py:302
+#: report/templatetags/report.py:187
+msgid "Invalid static file path"
+msgstr ""
+
+#: report/templatetags/report.py:277
+msgid "Asset file not found"
+msgstr ""
+
+#: report/templatetags/report.py:330 report/templatetags/report.py:443
msgid "Image file not found"
msgstr "找不到圖片文件"
-#: report/templatetags/report.py:327
+#: report/templatetags/report.py:412
+msgid "No image file specified"
+msgstr ""
+
+#: report/templatetags/report.py:437
msgid "part_image tag requires a Part instance"
msgstr "parpart_image 標籤需要一個零件實例"
-#: report/templatetags/report.py:383
+#: report/templatetags/report.py:501
msgid "company_image tag requires a Company instance"
msgstr "公司_圖片標籤需要一個公司實例"
-#: stock/api.py:288
+#: stock/api.py:287
msgid "Filter by location depth"
msgstr "按位置深度篩選"
-#: stock/api.py:308
+#: stock/api.py:307
msgid "Filter by top-level locations"
msgstr "按頂級位置篩選"
-#: stock/api.py:323
+#: stock/api.py:322
msgid "Include sub-locations in filtered results"
msgstr "在篩選結果中包含子地點"
-#: stock/api.py:344 stock/serializers.py:1185
+#: stock/api.py:343 stock/serializers.py:1204
msgid "Parent Location"
msgstr "上級地點"
-#: stock/api.py:345
+#: stock/api.py:344
msgid "Filter by parent location"
msgstr "按上級位置篩選"
-#: stock/api.py:605
+#: stock/api.py:604
msgid "Part name (case insensitive)"
msgstr "零件名稱(不分大小寫)"
-#: stock/api.py:611
+#: stock/api.py:610
msgid "Part name contains (case insensitive)"
msgstr "零件名稱包含(不分大小寫)"
-#: stock/api.py:617
+#: stock/api.py:616
msgid "Part name (regex)"
msgstr "零件名稱(正則)"
-#: stock/api.py:622
+#: stock/api.py:621
msgid "Part IPN (case insensitive)"
msgstr "零件 IPN(不分大小寫)"
-#: stock/api.py:628
+#: stock/api.py:627
msgid "Part IPN contains (case insensitive)"
msgstr "零件 IPN 包含(不分大小寫)"
-#: stock/api.py:634
+#: stock/api.py:633
msgid "Part IPN (regex)"
msgstr "零件 IPN(正則)"
-#: stock/api.py:646
+#: stock/api.py:645
msgid "Minimum stock"
msgstr "最小庫存"
-#: stock/api.py:650
+#: stock/api.py:649
msgid "Maximum stock"
msgstr "最大庫存"
-#: stock/api.py:653
+#: stock/api.py:652
msgid "Status Code"
msgstr "狀態代碼"
-#: stock/api.py:693
+#: stock/api.py:692
msgid "External Location"
msgstr "外部地點"
-#: stock/api.py:792
+#: stock/api.py:791
msgid "Consumed by Build Order"
msgstr "被生產工單消耗"
-#: stock/api.py:802
+#: stock/api.py:801
msgid "Installed in other stock item"
msgstr "已安裝於其他庫存項"
-#: stock/api.py:891
+#: stock/api.py:890
msgid "Part Tree"
msgstr "零件樹"
-#: stock/api.py:913
+#: stock/api.py:912
msgid "Updated before"
msgstr "更新時間早於"
-#: stock/api.py:917
+#: stock/api.py:916
msgid "Updated after"
msgstr "更新時間晚於"
-#: stock/api.py:921
+#: stock/api.py:920
msgid "Stocktake Before"
msgstr "盤點日期早於"
-#: stock/api.py:925
+#: stock/api.py:924
msgid "Stocktake After"
msgstr "盤點日期晚於"
-#: stock/api.py:930
+#: stock/api.py:929
msgid "Expiry date before"
msgstr "過期日期前"
-#: stock/api.py:934
+#: stock/api.py:933
msgid "Expiry date after"
msgstr "過期日期後"
-#: stock/api.py:937 stock/serializers.py:631
+#: stock/api.py:936 stock/serializers.py:637
msgid "Stale"
msgstr "過期"
-#: stock/api.py:963
+#: stock/api.py:962
msgid "Provide a StockItem PK to exclude that item and all its descendants"
msgstr ""
-#: stock/api.py:981
+#: stock/api.py:980
msgid "Cascade Locations"
msgstr ""
-#: stock/api.py:982
+#: stock/api.py:981
msgid "If true, include items in child locations of the given location"
msgstr ""
-#: stock/api.py:988
+#: stock/api.py:987
msgid "Filter by numeric Location ID or the literal 'null'"
msgstr ""
-#: stock/api.py:1084
+#: stock/api.py:1087
msgid "Quantity is required"
msgstr "請先輸入數量"
-#: stock/api.py:1089
+#: stock/api.py:1092
msgid "Valid part must be supplied"
msgstr "必須提供有效的零件"
-#: stock/api.py:1120
+#: stock/api.py:1123
msgid "The given supplier part does not exist"
msgstr "給定的供應商零件不存在"
-#: stock/api.py:1130
+#: stock/api.py:1133
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "供應商零件有定義的包裝大小,但 use_pack_size 標誌未設置"
-#: stock/api.py:1162
+#: stock/api.py:1165
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "不能為不可跟蹤的零件提供序列號"
-#: stock/api.py:1396
+#: stock/api.py:1409
msgid "Include Installed"
msgstr ""
-#: stock/api.py:1398
+#: stock/api.py:1411
msgid "If true, include test results for items installed underneath the given stock item"
msgstr ""
-#: stock/api.py:1405
+#: stock/api.py:1418
msgid "Filter by numeric Stock Item ID"
-msgstr ""
+msgstr "使用數字庫存品項 ID 做過濾"
-#: stock/api.py:1426
+#: stock/api.py:1439
#, python-brace-format
msgid "Stock item with ID {id} does not exist"
-msgstr ""
+msgstr "庫存品項 ID {id} 不存在"
-#: stock/models.py:71
+#: stock/api.py:1516
+msgid "Include Part Variants"
+msgstr "包括零件變數"
+
+#: stock/api.py:1546
+msgid "Date after"
+msgstr "日前之後"
+
+#: stock/api.py:1550
+msgid "Date before"
+msgstr "日期之前"
+
+#: stock/models.py:73
msgid "Stock Location type"
msgstr "庫存地點類型"
-#: stock/models.py:72
+#: stock/models.py:74
msgid "Stock Location types"
msgstr "庫存地點類型"
-#: stock/models.py:98
+#: stock/models.py:100
msgid "Default icon for all locations that have no icon set (optional)"
msgstr "為所有沒有圖標的位置設置默認圖標(可選)"
-#: stock/models.py:159 stock/models.py:1045
+#: stock/models.py:147 stock/models.py:1052
msgid "Stock Location"
msgstr "庫存地點"
-#: stock/models.py:160 users/ruleset.py:29
+#: stock/models.py:148 users/ruleset.py:29
msgid "Stock Locations"
msgstr "庫存地點"
-#: stock/models.py:209 stock/models.py:1210
+#: stock/models.py:197 stock/models.py:1217
msgid "Owner"
msgstr "所有者"
-#: stock/models.py:210 stock/models.py:1211
+#: stock/models.py:198 stock/models.py:1218
msgid "Select Owner"
msgstr "選擇所有者"
-#: stock/models.py:218
+#: stock/models.py:206
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "庫存項可能不直接位於結構庫存地點,但可能位於其子地點。"
-#: stock/models.py:225 users/models.py:497
+#: stock/models.py:213 users/models.py:497
msgid "External"
msgstr "外部"
-#: stock/models.py:226
+#: stock/models.py:214
msgid "This is an external stock location"
msgstr "這是一個外部庫存地點"
-#: stock/models.py:232
+#: stock/models.py:220
msgid "Location type"
msgstr "位置類型"
-#: stock/models.py:236
+#: stock/models.py:224
msgid "Stock location type of this location"
msgstr "該位置的庫存地點類型"
-#: stock/models.py:308
+#: stock/models.py:296
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "您不能將此庫存地點設置為結構性,因為某些庫存項已經位於它!"
-#: stock/models.py:594
+#: stock/models.py:585
#, python-brace-format
msgid "{field} does not exist"
msgstr "{field} 不存在"
-#: stock/models.py:607
+#: stock/models.py:598
msgid "Part must be specified"
msgstr "必須指定零件"
-#: stock/models.py:904
+#: stock/models.py:911
msgid "Stock items cannot be located into structural stock locations!"
msgstr "庫存項不能存放在結構性庫存地點!"
-#: stock/models.py:931 stock/serializers.py:453
+#: stock/models.py:938 stock/serializers.py:457
msgid "Stock item cannot be created for virtual parts"
msgstr "無法為虛擬零件創建庫存項"
-#: stock/models.py:948
+#: stock/models.py:955
#, python-brace-format
msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
msgstr "零件類型 ('{self.supplier_part.part}') 必須為 {self.part}"
-#: stock/models.py:958 stock/models.py:971
+#: stock/models.py:965 stock/models.py:978
msgid "Quantity must be 1 for item with a serial number"
msgstr "有序列號的項目的數量必須是1"
-#: stock/models.py:961
+#: stock/models.py:968
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "如果數量大於1,則不能設置序列號"
-#: stock/models.py:983
+#: stock/models.py:990
msgid "Item cannot belong to itself"
msgstr "項目不能屬於其自身"
-#: stock/models.py:988
+#: stock/models.py:995
msgid "Item must have a build reference if is_building=True"
msgstr "如果is_building=True,則項必須具有構建引用"
-#: stock/models.py:1001
+#: stock/models.py:1008
msgid "Build reference does not point to the same part object"
msgstr "構建引用未指向同一零件對象"
-#: stock/models.py:1015
+#: stock/models.py:1022
msgid "Parent Stock Item"
msgstr "母庫存項目"
-#: stock/models.py:1027
+#: stock/models.py:1034
msgid "Base part"
msgstr "基礎零件"
-#: stock/models.py:1037
+#: stock/models.py:1044
msgid "Select a matching supplier part for this stock item"
msgstr "為此庫存項目選擇匹配的供應商零件"
-#: stock/models.py:1049
+#: stock/models.py:1056
msgid "Where is this stock item located?"
msgstr "這個庫存物品在哪裏?"
-#: stock/models.py:1057 stock/serializers.py:1607
+#: stock/models.py:1064 stock/serializers.py:1640
msgid "Packaging this stock item is stored in"
msgstr "包裝此庫存物品存儲在"
-#: stock/models.py:1063
+#: stock/models.py:1070
msgid "Installed In"
msgstr "安裝於"
-#: stock/models.py:1068
+#: stock/models.py:1075
msgid "Is this item installed in another item?"
msgstr "此項目是否安裝在另一個項目中?"
-#: stock/models.py:1087
+#: stock/models.py:1094
msgid "Serial number for this item"
msgstr "此項目的序列號"
-#: stock/models.py:1104 stock/serializers.py:1592
+#: stock/models.py:1111 stock/serializers.py:1625
msgid "Batch code for this stock item"
msgstr "此庫存項的批號"
-#: stock/models.py:1109
+#: stock/models.py:1116
msgid "Stock Quantity"
msgstr "庫存數量"
-#: stock/models.py:1119
+#: stock/models.py:1126
msgid "Source Build"
msgstr "源代碼構建"
-#: stock/models.py:1122
+#: stock/models.py:1129
msgid "Build for this stock item"
msgstr "為此庫存項目構建"
-#: stock/models.py:1129
+#: stock/models.py:1136
msgid "Consumed By"
msgstr "消費者"
-#: stock/models.py:1132
+#: stock/models.py:1139
msgid "Build order which consumed this stock item"
msgstr "構建消耗此庫存項的生產訂單"
-#: stock/models.py:1141
+#: stock/models.py:1148
msgid "Source Purchase Order"
msgstr "採購訂單來源"
-#: stock/models.py:1145
+#: stock/models.py:1152
msgid "Purchase order for this stock item"
msgstr "此庫存商品的採購訂單"
-#: stock/models.py:1151
+#: stock/models.py:1158
msgid "Destination Sales Order"
msgstr "目的地銷售訂單"
-#: stock/models.py:1162
+#: stock/models.py:1169
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "庫存物品的到期日。在此日期之後,庫存將被視為過期"
-#: stock/models.py:1180
+#: stock/models.py:1187
msgid "Delete on deplete"
msgstr "耗盡時刪除"
-#: stock/models.py:1181
+#: stock/models.py:1188
msgid "Delete this Stock Item when stock is depleted"
msgstr "當庫存耗盡時刪除此庫存項"
-#: stock/models.py:1202
+#: stock/models.py:1209
msgid "Single unit purchase price at time of purchase"
msgstr "購買時一個單位的價格"
-#: stock/models.py:1233
+#: stock/models.py:1240
msgid "Converted to part"
msgstr "轉換為零件"
-#: stock/models.py:1435
+#: stock/models.py:1442
msgid "Quantity exceeds available stock"
msgstr "數量超過可用庫存"
-#: stock/models.py:1869
+#: stock/models.py:1893
msgid "Part is not set as trackable"
msgstr "零件未設置為可跟蹤"
-#: stock/models.py:1875
+#: stock/models.py:1899
msgid "Quantity must be integer"
msgstr "數量必須是整數"
-#: stock/models.py:1883
+#: stock/models.py:1907
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({self.quantity})"
msgstr "數量不得超過現有庫存量 ({self.quantity})"
-#: stock/models.py:1889
+#: stock/models.py:1913
msgid "Serial numbers must be provided as a list"
msgstr "序列號需以清單提供"
-#: stock/models.py:1894
+#: stock/models.py:1918
msgid "Quantity does not match serial numbers"
msgstr "數量不匹配序列號"
-#: stock/models.py:1912
+#: stock/models.py:1936
msgid "Cannot assign stock to structural location"
-msgstr ""
+msgstr "無法將庫存分配到結構位置"
-#: stock/models.py:2029 stock/models.py:2934
+#: stock/models.py:2053 stock/models.py:3023
msgid "Test template does not exist"
msgstr "測試模板不存在"
-#: stock/models.py:2047
+#: stock/models.py:2071
msgid "Stock item has been assigned to a sales order"
msgstr "庫存項已分配到銷售訂單"
-#: stock/models.py:2051
+#: stock/models.py:2075
msgid "Stock item is installed in another item"
msgstr "庫存項已安裝在另一個項目中"
-#: stock/models.py:2054
+#: stock/models.py:2078
msgid "Stock item contains other items"
msgstr "庫存項包含其他項目"
-#: stock/models.py:2057
+#: stock/models.py:2081
msgid "Stock item has been assigned to a customer"
msgstr "庫存項已分配給客户"
-#: stock/models.py:2060 stock/models.py:2243
+#: stock/models.py:2084 stock/models.py:2270
msgid "Stock item is currently in production"
msgstr "庫存項目前正在生產"
-#: stock/models.py:2063
+#: stock/models.py:2087
msgid "Serialized stock cannot be merged"
msgstr "序列化的庫存不能合併"
-#: stock/models.py:2070 stock/serializers.py:1462
+#: stock/models.py:2094 stock/serializers.py:1495
msgid "Duplicate stock items"
msgstr "複製庫存項"
-#: stock/models.py:2074
+#: stock/models.py:2098
msgid "Stock items must refer to the same part"
msgstr "庫存項必須指相同零件"
-#: stock/models.py:2082
+#: stock/models.py:2106
msgid "Stock items must refer to the same supplier part"
msgstr "庫存項必須是同一供應商的零件"
-#: stock/models.py:2087
+#: stock/models.py:2111
msgid "Stock status codes must match"
msgstr "庫存狀態碼必須匹配"
-#: stock/models.py:2366
+#: stock/models.py:2411
msgid "StockItem cannot be moved as it is not in stock"
msgstr "庫存項不能移動,因為它沒有庫存"
-#: stock/models.py:2835
+#: stock/models.py:2905
msgid "Stock Item Tracking"
msgstr "庫存項跟蹤"
-#: stock/models.py:2866
+#: stock/models.py:2955
msgid "Entry notes"
msgstr "條目註釋"
-#: stock/models.py:2906
+#: stock/models.py:2995
msgid "Stock Item Test Result"
msgstr "庫存項測試結果"
-#: stock/models.py:2937
+#: stock/models.py:3026
msgid "Value must be provided for this test"
msgstr "必須為此測試提供值"
-#: stock/models.py:2941
+#: stock/models.py:3030
msgid "Attachment must be uploaded for this test"
msgstr "測試附件必須上傳"
-#: stock/models.py:2946
+#: stock/models.py:3035
msgid "Invalid value for this test"
msgstr "此測試的值無效"
-#: stock/models.py:2970
+#: stock/models.py:3059
msgid "Test result"
msgstr "測試結果"
-#: stock/models.py:2977
+#: stock/models.py:3066
msgid "Test output value"
msgstr "測試輸出值"
-#: stock/models.py:2985 stock/serializers.py:248
+#: stock/models.py:3074 stock/serializers.py:250
msgid "Test result attachment"
msgstr "測驗結果附件"
-#: stock/models.py:2989
+#: stock/models.py:3078
msgid "Test notes"
msgstr "測試備註"
-#: stock/models.py:2997
+#: stock/models.py:3086
msgid "Test station"
msgstr "測試站"
-#: stock/models.py:2998
+#: stock/models.py:3087
msgid "The identifier of the test station where the test was performed"
msgstr "進行測試的測試站的標識符"
-#: stock/models.py:3004
+#: stock/models.py:3093
msgid "Started"
msgstr "已開始"
-#: stock/models.py:3005
+#: stock/models.py:3094
msgid "The timestamp of the test start"
msgstr "測試開始的時間戳"
-#: stock/models.py:3011
+#: stock/models.py:3100
msgid "Finished"
msgstr "已完成"
-#: stock/models.py:3012
+#: stock/models.py:3101
msgid "The timestamp of the test finish"
msgstr "測試結束的時間戳"
@@ -8662,246 +8819,246 @@ msgstr "選擇要生成序列號的零件"
msgid "Quantity of serial numbers to generate"
msgstr "要生成的序列號的數量"
-#: stock/serializers.py:235
+#: stock/serializers.py:236
msgid "Test template for this result"
msgstr "此結果的測試模板"
-#: stock/serializers.py:278
+#: stock/serializers.py:280
msgid "No matching test found for this part"
-msgstr ""
+msgstr "未找到與此零件相符的測試"
-#: stock/serializers.py:282
+#: stock/serializers.py:284
msgid "Template ID or test name must be provided"
msgstr "必須提供模板 ID 或測試名稱"
-#: stock/serializers.py:292
+#: stock/serializers.py:294
msgid "The test finished time cannot be earlier than the test started time"
msgstr "測試完成時間不能早於測試開始時間"
-#: stock/serializers.py:414
+#: stock/serializers.py:418
msgid "Parent Item"
msgstr "父項"
-#: stock/serializers.py:415
+#: stock/serializers.py:419
msgid "Parent stock item"
msgstr "父庫存項"
-#: stock/serializers.py:438
+#: stock/serializers.py:442
msgid "Use pack size when adding: the quantity defined is the number of packs"
msgstr "添加時使用包裝尺寸:定義的數量是包裝的數量"
-#: stock/serializers.py:440
+#: stock/serializers.py:444
msgid "Use pack size"
msgstr "使用包裝數"
-#: stock/serializers.py:447 stock/serializers.py:700
+#: stock/serializers.py:451 stock/serializers.py:706
msgid "Enter serial numbers for new items"
msgstr "輸入新項目的序列號"
-#: stock/serializers.py:565
+#: stock/serializers.py:559
msgid "Supplier Part Number"
msgstr "供應商零件編號"
-#: stock/serializers.py:623 users/models.py:187
+#: stock/serializers.py:629 users/models.py:187
msgid "Expired"
msgstr "已過期"
-#: stock/serializers.py:629
+#: stock/serializers.py:635
msgid "Child Items"
msgstr "子項目"
-#: stock/serializers.py:633
+#: stock/serializers.py:639
msgid "Tracking Items"
msgstr "跟蹤項目"
-#: stock/serializers.py:639
+#: stock/serializers.py:645
msgid "Purchase price of this stock item, per unit or pack"
msgstr "此庫存商品的購買價格,單位或包裝"
-#: stock/serializers.py:677
+#: stock/serializers.py:683
msgid "Enter number of stock items to serialize"
msgstr "輸入要序列化的庫存項目數量"
-#: stock/serializers.py:685 stock/serializers.py:728 stock/serializers.py:766
-#: stock/serializers.py:904
+#: stock/serializers.py:691 stock/serializers.py:734 stock/serializers.py:772
+#: stock/serializers.py:910
msgid "No stock item provided"
msgstr "未提供庫存項"
-#: stock/serializers.py:693
+#: stock/serializers.py:699
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "數量不得超過現有庫存量 ({q})"
-#: stock/serializers.py:711 stock/serializers.py:1419 stock/serializers.py:1740
-#: stock/serializers.py:1789
+#: stock/serializers.py:717 stock/serializers.py:1452 stock/serializers.py:1773
+#: stock/serializers.py:1822
msgid "Destination stock location"
msgstr "目標庫存位置"
-#: stock/serializers.py:731
+#: stock/serializers.py:737
msgid "Serial numbers cannot be assigned to this part"
msgstr "此零件不能分配序列號"
-#: stock/serializers.py:751
+#: stock/serializers.py:757
msgid "Serial numbers already exist"
msgstr "序列號已存在"
-#: stock/serializers.py:801
+#: stock/serializers.py:807
msgid "Select stock item to install"
msgstr "選擇要安裝的庫存項目"
-#: stock/serializers.py:808
+#: stock/serializers.py:814
msgid "Quantity to Install"
msgstr "安裝數量"
-#: stock/serializers.py:809
+#: stock/serializers.py:815
msgid "Enter the quantity of items to install"
msgstr "輸入要安裝的項目數量"
-#: stock/serializers.py:814 stock/serializers.py:894 stock/serializers.py:1036
+#: stock/serializers.py:820 stock/serializers.py:900 stock/serializers.py:1042
msgid "Add transaction note (optional)"
msgstr "添加交易記錄 (可選)"
-#: stock/serializers.py:822
+#: stock/serializers.py:828
msgid "Quantity to install must be at least 1"
msgstr "安裝數量必須至少為1"
-#: stock/serializers.py:830
+#: stock/serializers.py:836
msgid "Stock item is unavailable"
msgstr "庫存項不可用"
-#: stock/serializers.py:841
+#: stock/serializers.py:847
msgid "Selected part is not in the Bill of Materials"
msgstr "所選零件不在物料清單中"
-#: stock/serializers.py:854
+#: stock/serializers.py:860
msgid "Quantity to install must not exceed available quantity"
msgstr "安裝數量不得超過可用數量"
-#: stock/serializers.py:889
+#: stock/serializers.py:895
msgid "Destination location for uninstalled item"
msgstr "已卸載項目的目標位置"
-#: stock/serializers.py:927
+#: stock/serializers.py:933
msgid "Select part to convert stock item into"
msgstr "選擇要將庫存項目轉換為的零件"
-#: stock/serializers.py:940
+#: stock/serializers.py:946
msgid "Selected part is not a valid option for conversion"
msgstr "所選零件不是有效的轉換選項"
-#: stock/serializers.py:957
+#: stock/serializers.py:963
msgid "Cannot convert stock item with assigned SupplierPart"
msgstr "無法轉換已分配供應商零件的庫存項"
-#: stock/serializers.py:991
+#: stock/serializers.py:997
msgid "Stock item status code"
msgstr "庫存項狀態代碼"
-#: stock/serializers.py:1020
+#: stock/serializers.py:1026
msgid "Select stock items to change status"
msgstr "選擇要更改狀態的庫存項目"
-#: stock/serializers.py:1026
+#: stock/serializers.py:1032
msgid "No stock items selected"
msgstr "未選擇庫存商品"
-#: stock/serializers.py:1122 stock/serializers.py:1191
+#: stock/serializers.py:1139 stock/serializers.py:1210
msgid "Sublocations"
msgstr "轉租"
-#: stock/serializers.py:1186
+#: stock/serializers.py:1205
msgid "Parent stock location"
msgstr "上級庫存地點"
-#: stock/serializers.py:1291
+#: stock/serializers.py:1324
msgid "Part must be salable"
msgstr "零件必須可銷售"
-#: stock/serializers.py:1295
+#: stock/serializers.py:1328
msgid "Item is allocated to a sales order"
msgstr "物料已分配到銷售訂單"
-#: stock/serializers.py:1299
+#: stock/serializers.py:1332
msgid "Item is allocated to a build order"
msgstr "項目被分配到生產訂單中"
-#: stock/serializers.py:1323
+#: stock/serializers.py:1356
msgid "Customer to assign stock items"
msgstr "客户分配庫存項目"
-#: stock/serializers.py:1329
+#: stock/serializers.py:1362
msgid "Selected company is not a customer"
msgstr "所選公司不是客户"
-#: stock/serializers.py:1337
+#: stock/serializers.py:1370
msgid "Stock assignment notes"
msgstr "庫存分配説明"
-#: stock/serializers.py:1347 stock/serializers.py:1635
+#: stock/serializers.py:1380 stock/serializers.py:1668
msgid "A list of stock items must be provided"
msgstr "必須提供庫存物品清單"
-#: stock/serializers.py:1426
+#: stock/serializers.py:1459
msgid "Stock merging notes"
msgstr "庫存合併説明"
-#: stock/serializers.py:1431
+#: stock/serializers.py:1464
msgid "Allow mismatched suppliers"
msgstr "允許不匹配的供應商"
-#: stock/serializers.py:1432
+#: stock/serializers.py:1465
msgid "Allow stock items with different supplier parts to be merged"
msgstr "允許合併具有不同供應商零件的庫存項目"
-#: stock/serializers.py:1437
+#: stock/serializers.py:1470
msgid "Allow mismatched status"
msgstr "允許不匹配的狀態"
-#: stock/serializers.py:1438
+#: stock/serializers.py:1471
msgid "Allow stock items with different status codes to be merged"
msgstr "允許合併具有不同狀態代碼的庫存項目"
-#: stock/serializers.py:1448
+#: stock/serializers.py:1481
msgid "At least two stock items must be provided"
msgstr "必須提供至少兩件庫存物品"
-#: stock/serializers.py:1515
+#: stock/serializers.py:1548
msgid "No Change"
msgstr "無更改"
-#: stock/serializers.py:1553
+#: stock/serializers.py:1586
msgid "StockItem primary key value"
msgstr "庫存項主鍵值"
-#: stock/serializers.py:1566
+#: stock/serializers.py:1599
msgid "Stock item is not in stock"
msgstr "庫存項無庫存"
-#: stock/serializers.py:1569
+#: stock/serializers.py:1602
msgid "Stock item is already in stock"
msgstr "庫存項已在庫"
-#: stock/serializers.py:1583
+#: stock/serializers.py:1616
msgid "Quantity must not be negative"
msgstr "數量不可為負"
-#: stock/serializers.py:1625
+#: stock/serializers.py:1658
msgid "Stock transaction notes"
msgstr "庫存交易記錄"
-#: stock/serializers.py:1795
+#: stock/serializers.py:1828
msgid "Merge into existing stock"
msgstr "合併至現有庫存"
-#: stock/serializers.py:1796
+#: stock/serializers.py:1829
msgid "Merge returned items into existing stock items if possible"
msgstr "可行時將退回項目併入現有庫存"
-#: stock/serializers.py:1839
+#: stock/serializers.py:1872
msgid "Next Serial Number"
msgstr "下一個序列號"
-#: stock/serializers.py:1845
+#: stock/serializers.py:1878
msgid "Previous Serial Number"
msgstr "上一個序列號"
@@ -8959,7 +9116,7 @@ msgstr "已手動刪除庫存"
#: stock/status_codes.py:56
msgid "Serialized stock items"
-msgstr ""
+msgstr "序列化庫存品項"
#: stock/status_codes.py:58
msgid "Returned to stock"
@@ -9383,83 +9540,83 @@ msgstr "銷售訂單"
msgid "Return Orders"
msgstr "退貨訂單"
-#: users/serializers.py:187
+#: users/serializers.py:190
msgid "Username"
msgstr "用户名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First Name"
msgstr "名"
-#: users/serializers.py:190
+#: users/serializers.py:193
msgid "First name of the user"
msgstr "用户的名字(不包括姓氏)"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last Name"
msgstr "姓"
-#: users/serializers.py:194
+#: users/serializers.py:197
msgid "Last name of the user"
msgstr "用户的姓氏"
-#: users/serializers.py:198
+#: users/serializers.py:201
msgid "Email address of the user"
msgstr "用户的電子郵件地址"
-#: users/serializers.py:304
+#: users/serializers.py:309
msgid "Staff"
msgstr "職員"
-#: users/serializers.py:305
+#: users/serializers.py:310
msgid "Does this user have staff permissions"
msgstr "此用户是否擁有員工權限"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Superuser"
msgstr "超級用户"
-#: users/serializers.py:310
+#: users/serializers.py:315
msgid "Is this user a superuser"
msgstr "此用户是否為超級用户"
-#: users/serializers.py:314
+#: users/serializers.py:319
msgid "Is this user account active"
msgstr "此用户帳户是否已激活"
-#: users/serializers.py:326
+#: users/serializers.py:331
msgid "Only a superuser can adjust this field"
msgstr "僅超級使用者可調整此欄位"
-#: users/serializers.py:354
+#: users/serializers.py:359
msgid "Password"
msgstr "密碼"
-#: users/serializers.py:355
+#: users/serializers.py:360
msgid "Password for the user"
msgstr "使用者密碼"
-#: users/serializers.py:361
+#: users/serializers.py:366
msgid "Override warning"
msgstr "忽略警告"
-#: users/serializers.py:362
+#: users/serializers.py:367
msgid "Override the warning about password rules"
msgstr "忽略密碼規則警告"
-#: users/serializers.py:418
+#: users/serializers.py:423
msgid "You do not have permission to create users"
msgstr "您沒有建立使用者的權限"
-#: users/serializers.py:439
+#: users/serializers.py:444
msgid "Your account has been created."
msgstr "您的帳號已經建立完成。"
-#: users/serializers.py:441
+#: users/serializers.py:446
msgid "Please use the password reset function to login"
msgstr "請使用重設密碼功能來登入"
-#: users/serializers.py:447
+#: users/serializers.py:452
msgid "Welcome to InvenTree"
msgstr "歡迎使用 InvenTree"
diff --git a/src/backend/InvenTree/machine/machine_types/label_printer.py b/src/backend/InvenTree/machine/machine_types/label_printer.py
index f2499187b3..f598f5dd55 100644
--- a/src/backend/InvenTree/machine/machine_types/label_printer.py
+++ b/src/backend/InvenTree/machine/machine_types/label_printer.py
@@ -111,7 +111,7 @@ class LabelPrinterBaseDriver(BaseDriver):
Returns:
A class instance of a DRF serializer class, by default this an instance of self.PrintingOptionsSerializer using the *args, **kwargs if existing for this driver
"""
- return self.PrintingOptionsSerializer(*args, **kwargs) # type: ignore
+ return self.PrintingOptionsSerializer(*args, **kwargs)
# --- helper functions
@property
diff --git a/src/backend/InvenTree/machine/serializers.py b/src/backend/InvenTree/machine/serializers.py
index 669ffe0b75..9bfe97a749 100644
--- a/src/backend/InvenTree/machine/serializers.py
+++ b/src/backend/InvenTree/machine/serializers.py
@@ -138,7 +138,7 @@ class MachineSettingSerializer(GenericReferencedSettingSerializer):
"""Custom init method to make the config_type field read only."""
super().__init__(*args, **kwargs)
- self.Meta.read_only_fields = ['config_type'] # type: ignore
+ self.Meta.read_only_fields = ['config_type']
class BaseMachineClassSerializer(serializers.Serializer):
diff --git a/src/backend/InvenTree/machine/tests.py b/src/backend/InvenTree/machine/tests.py
index 99f9decc35..120ab004b9 100755
--- a/src/backend/InvenTree/machine/tests.py
+++ b/src/backend/InvenTree/machine/tests.py
@@ -232,10 +232,10 @@ class TestLabelPrinterMachineType(InvenTreeAPITestCase):
machine = self.create_machine()
# setup the label app
- apps.get_app_config('report').create_default_labels() # type: ignore
+ apps.get_app_config('report').create_default_labels()
plg_registry.reload_plugins()
- config = cast(PluginConfig, plg_registry.get_plugin(plugin_ref).plugin_config()) # type: ignore
+ config = cast(PluginConfig, plg_registry.get_plugin(plugin_ref).plugin_config())
config.active = True
config.save()
diff --git a/src/backend/InvenTree/manage.py b/src/backend/InvenTree/manage.py
index 988cd61e3f..9e1d7b6804 100755
--- a/src/backend/InvenTree/manage.py
+++ b/src/backend/InvenTree/manage.py
@@ -17,6 +17,7 @@ def main():
'available on your PYTHONPATH environment variable? Did you '
'forget to activate a virtual environment?'
) from exc
+
execute_from_command_line(sys.argv)
diff --git a/src/backend/InvenTree/order/api.py b/src/backend/InvenTree/order/api.py
index 899f2b4411..bed41d14a1 100644
--- a/src/backend/InvenTree/order/api.py
+++ b/src/backend/InvenTree/order/api.py
@@ -18,6 +18,7 @@ from django_ical.views import ICalFeed
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import extend_schema, extend_schema_field
from rest_framework import status
+from rest_framework.exceptions import NotFound
from rest_framework.response import Response
import build.models
@@ -31,16 +32,12 @@ from generic.states.api import StatusView
from InvenTree.api import (
BulkUpdateMixin,
ListCreateDestroyAPIView,
- MetadataView,
ParameterListMixin,
+ meta_path,
)
from InvenTree.fields import InvenTreeOutputOption, OutputConfiguration
-from InvenTree.filters import (
- SEARCH_ORDER_FILTER,
- SEARCH_ORDER_FILTER_ALIAS,
- InvenTreeDateFilter,
-)
-from InvenTree.helpers import str2bool
+from InvenTree.filters import SEARCH_ORDER_FILTER, InvenTreeDateFilter
+from InvenTree.helpers import current_date, str2bool
from InvenTree.helpers_model import construct_absolute_url, get_base_url
from InvenTree.mixins import (
CreateAPI,
@@ -228,6 +225,14 @@ class OrderFilter(FilterSet):
label=_('Target Date After'), field_name='target_date', lookup_expr='gt'
)
+ updated_before = InvenTreeDateFilter(
+ label=_('Updated Before'), field_name='updated_at', lookup_expr='lt'
+ )
+
+ updated_after = InvenTreeDateFilter(
+ label=_('Updated After'), field_name='updated_at', lookup_expr='gt'
+ )
+
min_date = InvenTreeDateFilter(label=_('Min Date'), method='filter_min_date')
def filter_min_date(self, queryset, name, value):
@@ -362,7 +367,9 @@ class PurchaseOrderOutputOptions(OutputConfiguration):
class PurchaseOrderMixin(SerializerContextMixin):
"""Mixin class for PurchaseOrder endpoints."""
- queryset = models.PurchaseOrder.objects.all()
+ queryset = models.PurchaseOrder.objects.all().prefetch_related(
+ 'supplier', 'created_by'
+ )
serializer_class = serializers.PurchaseOrderSerializer
def get_queryset(self, *args, **kwargs):
@@ -371,8 +378,6 @@ class PurchaseOrderMixin(SerializerContextMixin):
queryset = serializers.PurchaseOrderSerializer.annotate_queryset(queryset)
- queryset = queryset.prefetch_related('supplier', 'created_by')
-
return queryset
@@ -391,7 +396,7 @@ class PurchaseOrderList(
"""
filterset_class = PurchaseOrderFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = PurchaseOrderOutputOptions
ordering_field_aliases = {
@@ -420,6 +425,7 @@ class PurchaseOrderList(
'responsible',
'total_price',
'project_code',
+ 'updated_at',
]
ordering = '-reference'
@@ -700,7 +706,7 @@ class PurchaseOrderLineItemList(
serializer.data, status=status.HTTP_201_CREATED, headers=headers
)
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_field_aliases = {
'MPN': 'part__manufacturer_part__MPN',
@@ -824,15 +830,15 @@ class SalesOrderFilter(OrderFilter):
class SalesOrderMixin(SerializerContextMixin):
"""Mixin class for SalesOrder endpoints."""
- queryset = models.SalesOrder.objects.all()
+ queryset = models.SalesOrder.objects.all().prefetch_related(
+ 'customer', 'created_by'
+ )
serializer_class = serializers.SalesOrderSerializer
def get_queryset(self, *args, **kwargs):
"""Return annotated queryset for this endpoint."""
queryset = super().get_queryset(*args, **kwargs)
- queryset = queryset.prefetch_related('customer', 'created_by')
-
queryset = serializers.SalesOrderSerializer.annotate_queryset(queryset)
return queryset
@@ -859,7 +865,7 @@ class SalesOrderList(
"""
filterset_class = SalesOrderFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = SalesOrderOutputOptions
ordering_field_aliases = {
@@ -882,6 +888,7 @@ class SalesOrderList(
'shipment_date',
'total_price',
'project_code',
+ 'updated_at',
]
search_fields = [
@@ -1043,7 +1050,7 @@ class SalesOrderLineItemList(
filterset_class = SalesOrderLineItemFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = SalesOrderLineItemOutputOptions
@@ -1051,6 +1058,7 @@ class SalesOrderLineItemList(
'customer',
'order',
'part',
+ 'IPN',
'part__name',
'quantity',
'allocated',
@@ -1063,6 +1071,7 @@ class SalesOrderLineItemList(
ordering_field_aliases = {
'customer': 'order__customer__name',
'part': 'part__name',
+ 'IPN': 'part__IPN',
'order': 'order__reference',
}
@@ -1287,7 +1296,7 @@ class SalesOrderAllocationList(
"""API endpoint for listing SalesOrderAllocation objects."""
filterset_class = SalesOrderAllocationFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = SalesOrderAllocationOutputOptions
ordering_fields = [
@@ -1397,7 +1406,7 @@ class SalesOrderShipmentList(SalesOrderShipmentMixin, ListCreateAPI):
"""API list endpoint for SalesOrderShipment model."""
filterset_class = SalesOrderShipmentFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_fields = ['reference', 'delivery_date', 'shipment_date', 'allocated_items']
search_fields = [
@@ -1418,20 +1427,46 @@ class SalesOrderShipmentComplete(CreateAPI):
queryset = models.SalesOrderShipment.objects.all()
serializer_class = serializers.SalesOrderShipmentCompleteSerializer
+ def get_shipment(self):
+ """Return the shipment associated with this endpoint."""
+ try:
+ shipment = models.SalesOrderShipment.objects.get(
+ pk=self.kwargs.get('pk', None)
+ )
+ except (ValueError, models.SalesOrderShipment.DoesNotExist):
+ raise NotFound(detail=_('Shipment not found'))
+
+ return shipment
+
def get_serializer_context(self):
"""Pass the request object to the serializer."""
ctx = super().get_serializer_context()
ctx['request'] = self.request
-
- try:
- ctx['shipment'] = models.SalesOrderShipment.objects.get(
- pk=self.kwargs.get('pk', None)
- )
- except Exception:
- pass
+ ctx['shipment'] = self.get_shipment()
return ctx
+ @extend_schema(responses={200: common.serializers.TaskDetailSerializer})
+ def post(self, request, *args, **kwargs):
+ """Override the post method to handle shipment completion."""
+ shipment = self.get_shipment()
+
+ serializer = self.get_serializer(shipment, data=request.data, partial=True)
+ serializer.is_valid(raise_exception=True)
+ data = serializer.validated_data
+
+ task_id = shipment.complete_shipment(
+ request.user,
+ tracking_number=data.get('tracking_number', shipment.tracking_number),
+ invoice_number=data.get('invoice_number', shipment.invoice_number),
+ link=data.get('link', shipment.link),
+ shipment_date=data.get('shipment_date', None) or current_date(),
+ delivery_date=data.get('delivery_date', shipment.delivery_date),
+ )
+
+ response = common.serializers.TaskDetailSerializer.from_task(task_id).data
+ return Response(response, status=response['http_status'])
+
class ReturnOrderFilter(OrderFilter):
"""Custom API filters for the ReturnOrderList endpoint."""
@@ -1526,7 +1561,7 @@ class ReturnOrderList(
"""API endpoint for accessing a list of ReturnOrder objects."""
filterset_class = ReturnOrderFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
output_options = ReturnOrderOutputOptions
@@ -1547,6 +1582,7 @@ class ReturnOrderList(
'target_date',
'complete_date',
'project_code',
+ 'updated_at',
]
search_fields = [
@@ -1676,7 +1712,20 @@ class ReturnOrderLineItemList(
output_options = ReturnOrderLineItemOutputOptions
- ordering_fields = ['reference', 'target_date', 'received_date']
+ ordering_fields = [
+ 'part',
+ 'IPN',
+ 'stock',
+ 'reference',
+ 'target_date',
+ 'received_date',
+ ]
+
+ ordering_field_aliases = {
+ 'part': 'item__part__name',
+ 'IPN': 'item__part__IPN',
+ 'stock': ['item__quantity', 'item__serial_int', 'item__serial'],
+ }
search_fields = [
'item__serial',
@@ -1888,11 +1937,7 @@ order_api_urls = [
name='api-po-complete',
),
path('issue/', PurchaseOrderIssue.as_view(), name='api-po-issue'),
- path(
- 'metadata/',
- MetadataView.as_view(model=models.PurchaseOrder),
- name='api-po-metadata',
- ),
+ meta_path(models.PurchaseOrder),
path(
'receive/',
PurchaseOrderReceive.as_view(),
@@ -1920,11 +1965,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.PurchaseOrderLineItem),
- name='api-po-line-metadata',
- ),
+ meta_path(models.PurchaseOrderLineItem),
path(
'',
PurchaseOrderLineItemDetail.as_view(),
@@ -1942,11 +1983,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.PurchaseOrderExtraLine),
- name='api-po-extra-line-metadata',
- ),
+ meta_path(models.PurchaseOrderExtraLine),
path(
'',
PurchaseOrderExtraLineDetail.as_view(),
@@ -1974,11 +2011,7 @@ order_api_urls = [
SalesOrderShipmentComplete.as_view(),
name='api-so-shipment-ship',
),
- path(
- 'metadata/',
- MetadataView.as_view(model=models.SalesOrderShipment),
- name='api-so-shipment-metadata',
- ),
+ meta_path(models.SalesOrderShipment),
path(
'',
SalesOrderShipmentDetail.as_view(),
@@ -2015,11 +2048,7 @@ order_api_urls = [
SalesOrderComplete.as_view(),
name='api-so-complete',
),
- path(
- 'metadata/',
- MetadataView.as_view(model=models.SalesOrder),
- name='api-so-metadata',
- ),
+ meta_path(models.SalesOrder),
# SalesOrder detail endpoint
path('', SalesOrderDetail.as_view(), name='api-so-detail'),
]),
@@ -2042,11 +2071,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.SalesOrderLineItem),
- name='api-so-line-metadata',
- ),
+ meta_path(models.SalesOrderLineItem),
path(
'',
SalesOrderLineItemDetail.as_view(),
@@ -2064,11 +2089,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.SalesOrderExtraLine),
- name='api-so-extra-line-metadata',
- ),
+ meta_path(models.SalesOrderExtraLine),
path(
'',
SalesOrderExtraLineDetail.as_view(),
@@ -2120,11 +2141,7 @@ order_api_urls = [
ReturnOrderReceive.as_view(),
name='api-return-order-receive',
),
- path(
- 'metadata/',
- MetadataView.as_view(model=models.ReturnOrder),
- name='api-return-order-metadata',
- ),
+ meta_path(models.ReturnOrder),
path(
'', ReturnOrderDetail.as_view(), name='api-return-order-detail'
),
@@ -2148,11 +2165,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.ReturnOrderLineItem),
- name='api-return-order-line-metadata',
- ),
+ meta_path(models.ReturnOrderLineItem),
path(
'',
ReturnOrderLineItemDetail.as_view(),
@@ -2179,11 +2192,7 @@ order_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=models.ReturnOrderExtraLine),
- name='api-return-order-extra-line-metadata',
- ),
+ meta_path(models.ReturnOrderExtraLine),
path(
'',
ReturnOrderExtraLineDetail.as_view(),
diff --git a/src/backend/InvenTree/order/migrations/0085_auto_20230322_1056.py b/src/backend/InvenTree/order/migrations/0085_auto_20230322_1056.py
index ea3ad7223d..283af0886b 100644
--- a/src/backend/InvenTree/order/migrations/0085_auto_20230322_1056.py
+++ b/src/backend/InvenTree/order/migrations/0085_auto_20230322_1056.py
@@ -34,7 +34,7 @@ class Migration(migrations.Migration):
('reference', models.CharField(blank=True, help_text='Line item reference', max_length=100, verbose_name='Reference')),
('notes', models.CharField(blank=True, help_text='Line item notes', max_length=500, verbose_name='Notes')),
('target_date', models.DateField(blank=True, help_text='Target date for this line item (leave blank to use the target date from the order)', null=True, verbose_name='Target Date')),
- ('received_date', models.DateField(blank=True, help_text='The date this this return item was received', null=True, verbose_name='Received Date')),
+ ('received_date', models.DateField(blank=True, help_text='The date this return item was received', null=True, verbose_name='Received Date')),
('outcome', models.PositiveIntegerField(choices=[(10, 'Pending'), (20, 'Return'), (30, 'Repair'), (50, 'Refund'), (40, 'Replace'), (60, 'Reject')], default=10, help_text='Outcome for this line item', verbose_name='Outcome')),
('price_currency', djmoney.models.fields.CurrencyField(choices=[], default='', editable=False, max_length=3)),
('price', InvenTree.fields.InvenTreeModelMoneyField(blank=True, currency_choices=[], decimal_places=6, default_currency='', help_text='Cost associated with return or repair for this line item', max_digits=19, null=True, validators=[djmoney.models.validators.MinMoneyValidator(0)], verbose_name='Price')),
diff --git a/src/backend/InvenTree/order/migrations/0115_purchaseorder_updated_at_returnorder_updated_at_and_more.py b/src/backend/InvenTree/order/migrations/0115_purchaseorder_updated_at_returnorder_updated_at_and_more.py
new file mode 100644
index 0000000000..837e2a35e4
--- /dev/null
+++ b/src/backend/InvenTree/order/migrations/0115_purchaseorder_updated_at_returnorder_updated_at_and_more.py
@@ -0,0 +1,43 @@
+# Generated by Django 5.2.11 on 2026-02-19 22:31
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("order", "0114_purchaseorderextraline_project_code_and_more"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="purchaseorder",
+ name="updated_at",
+ field=models.DateTimeField(
+ blank=True,
+ null=True,
+ help_text="Timestamp of last update",
+ verbose_name="Updated At",
+ ),
+ ),
+ migrations.AddField(
+ model_name="returnorder",
+ name="updated_at",
+ field=models.DateTimeField(
+ blank=True,
+ null=True,
+ help_text="Timestamp of last update",
+ verbose_name="Updated At",
+ ),
+ ),
+ migrations.AddField(
+ model_name="salesorder",
+ name="updated_at",
+ field=models.DateTimeField(
+ blank=True,
+ null=True,
+ help_text="Timestamp of last update",
+ verbose_name="Updated At",
+ ),
+ ),
+ ]
diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py
index d159b988eb..2d6f93c932 100644
--- a/src/backend/InvenTree/order/models.py
+++ b/src/backend/InvenTree/order/models.py
@@ -1,7 +1,7 @@
"""Order model definitions."""
from decimal import Decimal
-from typing import Any, Optional
+from typing import Any, Optional, TypedDict
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
@@ -9,7 +9,7 @@ from django.core.validators import MinValueValidator
from django.db import models, transaction
from django.db.models import F, Q, QuerySet, Sum
from django.db.models.functions import Coalesce
-from django.db.models.signals import post_save
+from django.db.models.signals import post_delete, post_save
from django.dispatch.dispatcher import receiver
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
@@ -179,7 +179,7 @@ class TotalPriceMixin(models.Model):
return total
-class BaseOrderReportContext(report.mixins.BaseReportContext):
+class BaseOrderReportContext(report.mixins.BaseReportContext, TypedDict):
"""Base context for all order models.
Attributes:
@@ -199,7 +199,7 @@ class BaseOrderReportContext(report.mixins.BaseReportContext):
title: str
-class PurchaseOrderReportContext(report.mixins.BaseReportContext):
+class PurchaseOrderReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the purchase order model.
Attributes:
@@ -221,7 +221,7 @@ class PurchaseOrderReportContext(report.mixins.BaseReportContext):
supplier: Optional[Company]
-class SalesOrderReportContext(report.mixins.BaseReportContext):
+class SalesOrderReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the sales order model.
Attributes:
@@ -243,7 +243,7 @@ class SalesOrderReportContext(report.mixins.BaseReportContext):
customer: Optional[Company]
-class ReturnOrderReportContext(report.mixins.BaseReportContext):
+class ReturnOrderReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the return order model.
Attributes:
@@ -299,6 +299,7 @@ class Order(
REQUIRE_RESPONSIBLE_SETTING = None
UNLOCK_SETTING = None
+ IMPORT_ID_FIELDS = ['reference']
class Meta:
"""Metaclass options. Abstract ensures no database table is created."""
@@ -330,6 +331,8 @@ class Order(
if not self.creation_date:
self.creation_date = InvenTree.helpers.current_date()
+ self.updated_at = InvenTree.helpers.current_time()
+
super().save(*args, **kwargs)
def check_locked(self, db: bool = False) -> bool:
@@ -432,7 +435,8 @@ class Order(
Makes use of the overdue_filter() method to avoid code duplication
"""
return (
- self.__class__.objects.filter(pk=self.pk)
+ self.__class__.objects
+ .filter(pk=self.pk)
.filter(self.__class__.overdue_filter())
.exists()
)
@@ -496,6 +500,13 @@ class Order(
help_text=_('Date order was issued'),
)
+ updated_at = models.DateTimeField(
+ null=True,
+ blank=True,
+ verbose_name=_('Updated At'),
+ help_text=_('Timestamp of last update'),
+ )
+
responsible = models.ForeignKey(
UserModels.Owner,
on_delete=models.SET_NULL,
@@ -559,7 +570,9 @@ class PurchaseOrder(TotalPriceMixin, Order):
def report_context(self) -> PurchaseOrderReportContext:
"""Return report context data for this PurchaseOrder."""
- return {**super().report_context(), 'supplier': self.supplier}
+ return_ctx = super().report_context()
+ return_ctx.update({'supplier': self.supplier})
+ return return_ctx
def get_absolute_url(self) -> str:
"""Get the 'web' URL for this order."""
@@ -1258,7 +1271,9 @@ class SalesOrder(TotalPriceMixin, Order):
def report_context(self) -> SalesOrderReportContext:
"""Generate report context data for this SalesOrder."""
- return {**super().report_context(), 'customer': self.customer}
+ return_ctx = super().report_context()
+ return_ctx.update({'customer': self.customer})
+ return return_ctx
def get_absolute_url(self) -> str:
"""Get the 'web' URL for this order."""
@@ -1862,12 +1877,14 @@ class PurchaseOrderLineItem(OrderLineItem):
verbose_name = _('Purchase Order Line Item')
- # Filter for determining if a particular PurchaseOrderLineItem is overdue
- OVERDUE_FILTER = (
- Q(received__lt=F('quantity'))
- & ~Q(target_date=None)
- & Q(target_date__lt=InvenTree.helpers.current_date())
- )
+ @classmethod
+ def get_overdue_filter(cls):
+ """Filter for determining if a particular PurchaseOrderLineItem is overdue."""
+ return (
+ Q(received__lt=F('quantity'))
+ & ~Q(target_date=None)
+ & Q(target_date__lt=InvenTree.helpers.current_date())
+ )
@staticmethod
def get_api_url() -> str:
@@ -2066,12 +2083,14 @@ class SalesOrderLineItem(OrderLineItem):
verbose_name = _('Sales Order Line Item')
- # Filter for determining if a particular SalesOrderLineItem is overdue
- OVERDUE_FILTER = (
- Q(shipped__lt=F('quantity'))
- & ~Q(target_date=None)
- & Q(target_date__lt=InvenTree.helpers.current_date())
- )
+ @classmethod
+ def get_overdue_filter(cls):
+ """Filter for determining if a particular SalesOrderLineItem is overdue."""
+ return (
+ Q(shipped__lt=F('quantity'))
+ & ~Q(target_date=None)
+ & Q(target_date__lt=InvenTree.helpers.current_date())
+ )
@staticmethod
def get_api_url():
@@ -2182,7 +2201,7 @@ class SalesOrderLineItem(OrderLineItem):
return self.shipped >= self.quantity
-class SalesOrderShipmentReportContext(report.mixins.BaseReportContext):
+class SalesOrderShipmentReportContext(report.mixins.BaseReportContext, TypedDict):
"""Context for the SalesOrderShipment model.
Attributes:
@@ -2403,54 +2422,45 @@ class SalesOrderShipment(
1. Update any stock items associated with this shipment
2. Update the "shipped" quantity of all associated line items
3. Set the "shipment_date" to now
+
+ Arguments:
+ user: The user who is completing this shipment
+
+ Returns:
+ task_id: The ID of the background task which is processing this shipment
"""
import order.tasks
# Check if the shipment can be completed (throw error if not)
self.check_can_complete()
- # Update the "shipment" date
- self.shipment_date = kwargs.get(
- 'shipment_date', InvenTree.helpers.current_date()
- )
- self.shipped_by = user
-
- # Was a tracking number provided?
- tracking_number = kwargs.get('tracking_number')
-
- if tracking_number is not None:
+ if tracking_number := kwargs.get('tracking_number'):
self.tracking_number = tracking_number
- # Was an invoice number provided?
- invoice_number = kwargs.get('invoice_number')
-
- if invoice_number is not None:
+ if invoice_number := kwargs.get('invoice_number'):
self.invoice_number = invoice_number
- # Was a link provided?
- link = kwargs.get('link')
-
- if link is not None:
+ if link := kwargs.get('link'):
self.link = link
- # Was a delivery date provided?
- delivery_date = kwargs.get('delivery_date')
-
- if delivery_date is not None:
- self.delivery_date = delivery_date
-
self.save()
+ # Extract shipment date and delivery date from kwargs (if provided)
+ shipment_date = kwargs.get('shipment_date', InvenTree.helpers.current_date())
+ delivery_date = kwargs.get('delivery_date')
+
# Offload the "completion" of each line item to the background worker
# This may take some time, and we don't want to block the main thread
- InvenTree.tasks.offload_task(
+ task_id = InvenTree.tasks.offload_task(
order.tasks.complete_sales_order_shipment,
- shipment_id=self.pk,
- user_id=user.pk if user else None,
+ self.pk,
+ user.pk if user else None,
+ shipment_date,
+ delivery_date=delivery_date,
group='sales_order',
)
- trigger_event(SalesOrderEvents.SHIPMENT_COMPLETE, id=self.pk)
+ return task_id
class SalesOrderExtraLine(OrderExtraLine):
@@ -2656,7 +2666,9 @@ class ReturnOrder(TotalPriceMixin, Order):
def report_context(self) -> ReturnOrderReportContext:
"""Generate report context data for this ReturnOrder."""
- return {**super().report_context(), 'customer': self.customer}
+ return_ctx = super().report_context()
+ return_ctx.update({'customer': self.customer})
+ return return_ctx
def get_absolute_url(self):
"""Get the 'web' URL for this order."""
@@ -2909,18 +2921,23 @@ class ReturnOrder(TotalPriceMixin, Order):
line.item = stock_item
line.save()
- status = kwargs.get('status')
+ status = kwargs.get('status', StockStatus.QUARANTINED.value)
if status is None:
status = StockStatus.QUARANTINED.value
- deltas = {'status': status, 'returnorder': self.pk, 'location': location.pk}
+ deltas = {
+ 'status': status,
+ 'returnorder': self.pk,
+ 'location': location.pk,
+ 'quantity': float(line.quantity),
+ }
if stock_item.customer:
deltas['customer'] = stock_item.customer.pk
# Update the StockItem
- stock_item.status = status
+ stock_item.set_status(status)
stock_item.location = location
stock_item.customer = None
stock_item.sales_order = None
@@ -3021,7 +3038,7 @@ class ReturnOrderLineItem(StatusCodeMixin, OrderLineItem):
null=True,
blank=True,
verbose_name=_('Received Date'),
- help_text=_('The date this this return item was received'),
+ help_text=_('The date this return item was received'),
)
@property
@@ -3065,3 +3082,43 @@ class ReturnOrderExtraLine(OrderExtraLine):
verbose_name=_('Order'),
help_text=_('Return Order'),
)
+
+
+def _touch_order_updated_at(instance):
+ """Bump updated_at on the parent order without triggering a full save."""
+ if not InvenTree.ready.canAppAccessDatabase(allow_test=True):
+ return
+ instance.order.__class__.objects.filter(pk=instance.order_id).update(
+ updated_at=InvenTree.helpers.current_time()
+ )
+
+
+@receiver(post_save, sender=PurchaseOrderLineItem, dispatch_uid='po_lineitem_post_save')
+@receiver(
+ post_delete, sender=PurchaseOrderLineItem, dispatch_uid='po_lineitem_post_delete'
+)
+@receiver(
+ post_save, sender=PurchaseOrderExtraLine, dispatch_uid='po_extraline_post_save'
+)
+@receiver(
+ post_delete, sender=PurchaseOrderExtraLine, dispatch_uid='po_extraline_post_delete'
+)
+@receiver(post_save, sender=SalesOrderLineItem, dispatch_uid='so_lineitem_post_save')
+@receiver(
+ post_delete, sender=SalesOrderLineItem, dispatch_uid='so_lineitem_post_delete'
+)
+@receiver(post_save, sender=SalesOrderExtraLine, dispatch_uid='so_extraline_post_save')
+@receiver(
+ post_delete, sender=SalesOrderExtraLine, dispatch_uid='so_extraline_post_delete'
+)
+@receiver(post_save, sender=ReturnOrderLineItem, dispatch_uid='ro_lineitem_post_save')
+@receiver(
+ post_delete, sender=ReturnOrderLineItem, dispatch_uid='ro_lineitem_post_delete'
+)
+@receiver(post_save, sender=ReturnOrderExtraLine, dispatch_uid='ro_extraline_post_save')
+@receiver(
+ post_delete, sender=ReturnOrderExtraLine, dispatch_uid='ro_extraline_post_delete'
+)
+def update_order_on_lineitem_change(sender, instance, **kwargs):
+ """Update parent order updated_at when any line item is saved or deleted."""
+ _touch_order_updated_at(instance)
diff --git a/src/backend/InvenTree/order/serializers.py b/src/backend/InvenTree/order/serializers.py
index 33e5b6cf6f..a2f179425e 100644
--- a/src/backend/InvenTree/order/serializers.py
+++ b/src/backend/InvenTree/order/serializers.py
@@ -14,9 +14,9 @@ from sql_util.utils import SubqueryCount, SubquerySum
import build.serializers
import common.filters
+import company.models as company_models
import order.models
import part.filters as part_filters
-import part.models as part_models
import stock.models
import stock.serializers
from company.serializers import (
@@ -27,13 +27,7 @@ from company.serializers import (
)
from generic.states.fields import InvenTreeCustomStatusSerializerMixin
from importer.registry import register_importer
-from InvenTree.helpers import (
- current_date,
- extract_serial_numbers,
- hash_barcode,
- normalize,
- str2bool,
-)
+from InvenTree.helpers import extract_serial_numbers, hash_barcode, normalize, str2bool
from InvenTree.mixins import DataImportExportSerializerMixin
from InvenTree.serializers import (
FilterableSerializerMixin,
@@ -75,7 +69,7 @@ class DuplicateOrderSerializer(serializers.Serializer):
class Meta:
"""Metaclass options."""
- fields = ['order_id', 'copy_lines', 'copy_extra_lines']
+ fields = ['order_id', 'copy_lines', 'copy_extra_lines', 'copy_parameters']
order_id = serializers.IntegerField(
required=True, label=_('Order ID'), help_text=_('ID of the order to duplicate')
@@ -95,6 +89,13 @@ class DuplicateOrderSerializer(serializers.Serializer):
help_text=_('Copy extra line items from the original order'),
)
+ copy_parameters = serializers.BooleanField(
+ required=False,
+ default=True,
+ label=_('Copy Parameters'),
+ help_text=_('Copy order parameters from the original order'),
+ )
+
class AbstractOrderSerializer(
DataImportExportSerializerMixin, FilterableSerializerMixin, serializers.Serializer
@@ -242,6 +243,7 @@ class AbstractOrderSerializer(
order_id = duplicate.get('order_id', None)
copy_lines = duplicate.get('copy_lines', True)
copy_extra_lines = duplicate.get('copy_extra_lines', True)
+ copy_parameters = duplicate.get('copy_parameters', True)
try:
copy_from = instance.__class__.objects.get(pk=order_id)
@@ -260,6 +262,9 @@ class AbstractOrderSerializer(
line.order = instance
line.save()
+ if copy_parameters:
+ instance.copy_parameters_from(copy_from)
+
return instance
@@ -373,8 +378,14 @@ class PurchaseOrderSerializer(
'total_price',
'order_currency',
'destination',
+ 'updated_at',
])
- read_only_fields = ['issue_date', 'complete_date', 'creation_date']
+ read_only_fields = [
+ 'issue_date',
+ 'complete_date',
+ 'creation_date',
+ 'updated_at',
+ ]
extra_kwargs = {
'supplier': {'required': True},
'order_currency': {'required': False},
@@ -577,7 +588,7 @@ class PurchaseOrderLineItemSerializer(
queryset = queryset.annotate(
overdue=Case(
When(
- order.models.PurchaseOrderLineItem.OVERDUE_FILTER,
+ order.models.PurchaseOrderLineItem.get_overdue_filter(),
then=Value(True, output_field=BooleanField()),
),
default=Value(False, output_field=BooleanField()),
@@ -587,7 +598,7 @@ class PurchaseOrderLineItemSerializer(
return queryset
part = serializers.PrimaryKeyRelatedField(
- queryset=part_models.SupplierPart.objects.all(),
+ queryset=company_models.SupplierPart.objects.all(),
many=False,
required=True,
allow_null=True,
@@ -639,7 +650,7 @@ class PurchaseOrderLineItemSerializer(
help_text=_(
'Automatically calculate purchase price based on supplier part data'
),
- default=True,
+ default=False,
)
destination_detail = enable_filter(
@@ -1025,8 +1036,10 @@ class SalesOrderSerializer(
'order_currency',
'shipments_count',
'completed_shipments_count',
+ 'allocated_lines',
+ 'updated_at',
])
- read_only_fields = ['status', 'creation_date', 'shipment_date']
+ read_only_fields = ['status', 'creation_date', 'shipment_date', 'updated_at']
extra_kwargs = {'order_currency': {'required': False}}
def skip_create_fields(self):
@@ -1040,6 +1053,7 @@ class SalesOrderSerializer(
"""Add extra information to the queryset.
- Number of line items in the SalesOrder
+ - Number of fully allocated line items
- Number of completed line items in the SalesOrder
- Overdue status of the SalesOrder
"""
@@ -1049,6 +1063,19 @@ class SalesOrderSerializer(
completed_lines=SubqueryCount('lines', filter=Q(quantity__lte=F('shipped')))
)
+ queryset = queryset.annotate(
+ allocated_lines=SubqueryCount(
+ 'lines',
+ filter=Q(part__virtual=True)
+ | Q(shipped__gte=F('quantity'))
+ | Q(
+ quantity__lte=Coalesce(
+ SubquerySum('allocations__quantity'), Decimal(0)
+ )
+ ),
+ )
+ )
+
queryset = queryset.annotate(
overdue=Case(
When(
@@ -1084,6 +1111,10 @@ class SalesOrderSerializer(
read_only=True, allow_null=True, label=_('Completed Shipments')
)
+ allocated_lines = serializers.IntegerField(
+ read_only=True, allow_null=True, label=_('Allocated Lines')
+ )
+
class SalesOrderIssueSerializer(OrderAdjustSerializer):
"""Serializer for issuing a SalesOrder."""
@@ -1135,7 +1166,7 @@ class SalesOrderLineItemSerializer(
overdue=Case(
When(
Q(order__status__in=SalesOrderStatusGroups.OPEN)
- & order.models.SalesOrderLineItem.OVERDUE_FILTER,
+ & order.models.SalesOrderLineItem.get_overdue_filter(),
then=Value(True, output_field=BooleanField()),
),
default=Value(False, output_field=BooleanField()),
@@ -1464,35 +1495,6 @@ class SalesOrderShipmentCompleteSerializer(serializers.ModelSerializer):
return data
- def save(self):
- """Save the serializer to complete the SalesOrderShipment."""
- shipment = self.context.get('shipment', None)
-
- if not shipment:
- return
-
- data = self.validated_data
-
- request = self.context.get('request')
- user = request.user if request else None
-
- # Extract shipping date (defaults to today's date)
- now = current_date()
- shipment_date = data.get('shipment_date', now)
- if shipment_date is None:
- # Shipment date should not be None - check above only
- # checks if shipment_date exists in data
- shipment_date = now
-
- shipment.complete_shipment(
- user,
- tracking_number=data.get('tracking_number', shipment.tracking_number),
- invoice_number=data.get('invoice_number', shipment.invoice_number),
- link=data.get('link', shipment.link),
- shipment_date=shipment_date,
- delivery_date=data.get('delivery_date', shipment.delivery_date),
- )
-
class SalesOrderShipmentAllocationItemSerializer(serializers.Serializer):
"""A serializer for allocating a single stock-item against a SalesOrder shipment."""
@@ -1899,8 +1901,9 @@ class ReturnOrderSerializer(
'customer_reference',
'order_currency',
'total_price',
+ 'updated_at',
])
- read_only_fields = ['creation_date']
+ read_only_fields = ['creation_date', 'updated_at']
def skip_create_fields(self):
"""Skip these fields when instantiating a new object."""
diff --git a/src/backend/InvenTree/order/tasks.py b/src/backend/InvenTree/order/tasks.py
index fea6891b34..d9065c2d20 100644
--- a/src/backend/InvenTree/order/tasks.py
+++ b/src/backend/InvenTree/order/tasks.py
@@ -1,6 +1,7 @@
"""Background tasks for the 'order' app."""
from datetime import datetime, timedelta
+from typing import Optional
from django.contrib.auth.models import Group, User
from django.db import transaction
@@ -236,29 +237,39 @@ def check_overdue_return_orders():
@tracer.start_as_current_span('complete_sales_order_shipment')
-def complete_sales_order_shipment(shipment_id: int, user_id: int) -> None:
+def complete_sales_order_shipment(
+ shipment_id: int,
+ user_id: int,
+ shipment_date: str,
+ delivery_date: Optional[str] = None,
+) -> None:
"""Complete allocations for a pending shipment against a SalesOrder.
+ Arguments:
+ shipment_id: The ID of the SalesOrderShipment object to complete
+ user_id: The ID of the user performing the completion action
+ shipment_date: The date that the shipment was completed (if None, then the current date is used)
+ delivery_date: The date that the shipment was delivered (optional)
+
At this stage, the shipment is assumed to be complete,
and we need to perform the required "processing" tasks.
"""
- try:
- shipment = order.models.SalesOrderShipment.objects.get(pk=shipment_id)
- except Exception:
- # Shipping object does not exist
- logger.warning(
- 'Failed to complete shipment - no matching SalesOrderShipment for ID <%s>',
- shipment_id,
- )
- return
-
- try:
- user = User.objects.get(pk=user_id)
- except Exception:
- user = None
+ # Do not handle any lookup errors here
+ # If the shipment cannot be found, then we want the task to fail (and retry later)
+ shipment = order.models.SalesOrderShipment.objects.get(pk=shipment_id)
+ user = User.objects.filter(pk=user_id).first() if user_id else None
logger.info('Completing SalesOrderShipment <%s>', shipment)
with transaction.atomic():
for allocation in shipment.allocations.all():
allocation.complete_allocation(user=user)
+
+ # Once all allocations have been completed, we can mark the shipment as complete
+ shipment.shipment_date = shipment_date or datetime.now().date()
+ shipment.delivery_date = delivery_date
+ shipment.shipped_by = user
+ shipment.save()
+
+ # Trigger event signalling that the shipment has been completed
+ trigger_event(SalesOrderEvents.SHIPMENT_COMPLETE, id=shipment.pk)
diff --git a/src/backend/InvenTree/order/test_api.py b/src/backend/InvenTree/order/test_api.py
index 58c74e7f6d..3151570a29 100644
--- a/src/backend/InvenTree/order/test_api.py
+++ b/src/backend/InvenTree/order/test_api.py
@@ -1267,7 +1267,7 @@ class PurchaseOrderReceiveTest(OrderTest):
],
'location': location.pk,
},
- max_query_count=104 + 2 * N_LINES,
+ max_query_count=104 + 3 * N_LINES,
).data
# Check for expected response
@@ -1574,6 +1574,65 @@ class SalesOrderTest(OrderTest):
expected_code=201,
)
+ def test_so_duplicate(self):
+ """Test SalesOrder duplication via the API."""
+ from common.models import Parameter, ParameterTemplate
+
+ url = reverse('api-so-list')
+
+ self.assignRole('sales_order.add')
+
+ so = models.SalesOrder.objects.get(pk=1)
+ self.assertEqual(so.status, SalesOrderStatus.PENDING)
+
+ # Add some parameters to the sales order
+ for idx in range(5):
+ template = ParameterTemplate.objects.create(name=f'Template {idx}')
+
+ Parameter.objects.create(
+ template=template,
+ model_type=so.get_content_type(),
+ model_id=so.pk,
+ data=f'Value {idx}',
+ )
+
+ self.assertEqual(so.parameters.count(), 5)
+
+ # Create a duplicate of this sales order
+ # We explicitly specify "copy_parameters" as False, so the duplicated sales order should not have any parameters
+ response = self.post(
+ url,
+ {
+ 'reference': 'SO-12345',
+ 'customer': so.customer.pk,
+ 'duplicate': {'order_id': so.pk, 'copy_parameters': False},
+ },
+ )
+
+ duplicate_id = response.data['pk']
+ duplicate_so = models.SalesOrder.objects.get(pk=duplicate_id)
+
+ self.assertEqual(duplicate_so.reference, 'SO-12345')
+ self.assertEqual(duplicate_so.customer, so.customer)
+ self.assertEqual(duplicate_so.parameters.count(), 0)
+
+ # Duplicate again, with default values for the "duplicate" options (which should result in parameters being copied)
+ response = self.post(
+ url,
+ {
+ 'reference': 'SO-12346',
+ 'customer': so.customer.pk,
+ 'duplicate': {'order_id': so.pk},
+ },
+ )
+
+ duplicate_id = response.data['pk']
+ duplicate_so = models.SalesOrder.objects.get(pk=duplicate_id)
+
+ self.assertEqual(duplicate_so.reference, 'SO-12346')
+ self.assertEqual(duplicate_so.customer, so.customer)
+ self.assertEqual(duplicate_so.parameters.count(), 5)
+
def test_so_cancel(self):
"""Test API endpoint for cancelling a SalesOrder."""
so = models.SalesOrder.objects.get(pk=1)
@@ -1931,7 +1990,11 @@ class SalesOrderLineItemTest(OrderTest):
self.filter({'order': order_id, 'completed': 0}, 3)
# Finally, mark this shipment as 'shipped'
- self.post(reverse('api-so-shipment-ship', kwargs={'pk': shipment.pk}), {})
+ self.post(
+ reverse('api-so-shipment-ship', kwargs={'pk': shipment.pk}),
+ {},
+ expected_code=200,
+ )
# Filter by 'completed' status
self.filter({'order': order_id, 'completed': 1}, 2)
@@ -2219,7 +2282,7 @@ class SalesOrderAllocateTest(OrderTest):
'shipment_date': '2020-12-05',
'delivery_date': '2023-12-05',
},
- expected_code=201,
+ expected_code=200,
)
self.shipment.refresh_from_db()
@@ -2751,63 +2814,3 @@ class ReturnOrderLineItemTests(InvenTreeAPITestCase):
line = models.ReturnOrderLineItem.objects.get(pk=1)
self.assertEqual(float(line.price.amount), 15.75)
-
-
-class OrderMetadataAPITest(InvenTreeAPITestCase):
- """Unit tests for the various metadata endpoints of API."""
-
- fixtures = [
- 'category',
- 'part',
- 'company',
- 'location',
- 'supplier_part',
- 'stock',
- 'order',
- 'sales_order',
- 'return_order',
- ]
-
- roles = ['purchase_order.change', 'sales_order.change', 'return_order.change']
-
- def metatester(self, apikey, model):
- """Generic tester."""
- modeldata = model.objects.first()
-
- # Useless test unless a model object is found
- self.assertIsNotNone(modeldata)
-
- url = reverse(apikey, kwargs={'pk': modeldata.pk})
-
- # Metadata is initially null
- self.assertIsNone(modeldata.metadata)
-
- numstr = f'12{len(apikey)}'
-
- self.patch(
- url,
- {'metadata': {f'abc-{numstr}': f'xyz-{apikey}-{numstr}'}},
- expected_code=200,
- )
-
- # Refresh
- modeldata.refresh_from_db()
- self.assertEqual(
- modeldata.get_metadata(f'abc-{numstr}'), f'xyz-{apikey}-{numstr}'
- )
-
- def test_metadata(self):
- """Test all endpoints."""
- for apikey, model in {
- 'api-po-metadata': models.PurchaseOrder,
- 'api-po-line-metadata': models.PurchaseOrderLineItem,
- 'api-po-extra-line-metadata': models.PurchaseOrderExtraLine,
- 'api-so-shipment-metadata': models.SalesOrderShipment,
- 'api-so-metadata': models.SalesOrder,
- 'api-so-line-metadata': models.SalesOrderLineItem,
- 'api-so-extra-line-metadata': models.SalesOrderExtraLine,
- 'api-return-order-metadata': models.ReturnOrder,
- 'api-return-order-line-metadata': models.ReturnOrderLineItem,
- 'api-return-order-extra-line-metadata': models.ReturnOrderExtraLine,
- }.items():
- self.metatester(apikey, model)
diff --git a/src/backend/InvenTree/order/test_sales_order.py b/src/backend/InvenTree/order/test_sales_order.py
index 1a42a7549a..0186cfd90c 100644
--- a/src/backend/InvenTree/order/test_sales_order.py
+++ b/src/backend/InvenTree/order/test_sales_order.py
@@ -287,8 +287,15 @@ class SalesOrderTest(InvenTreeTestCase):
# Mark the shipments as complete
self.shipment.complete_shipment(None)
+ self.shipment.refresh_from_db()
self.assertTrue(self.shipment.is_complete())
+ # Check that each of the items have now been allocated to the customer
+ for allocation in self.shipment.allocations.all():
+ item = allocation.item
+ self.assertEqual(item.customer, self.order.customer)
+ self.assertEqual(item.sales_order, self.order)
+
# Now, should be OK to ship
result = self.order.ship_order(None)
@@ -329,6 +336,88 @@ class SalesOrderTest(InvenTreeTestCase):
self.assertEqual(self.line.fulfilled_quantity(), 50)
self.assertEqual(self.line.allocated_quantity(), 50)
+ def test_shipment_many_items(self):
+ """Test completion of a shipment with many items.
+
+ Here, we create a shipment with a very large number of items assigned,
+ and check that the shipment can be completed without error.
+
+ This test is designed to test that the database does not error out,
+ even when a large number of items are assigned to a shipment.
+
+ Ref: https://github.com/inventree/InvenTree/pull/11500
+ """
+ customer = Company.objects.create(name='Customer 2', is_customer=True)
+
+ # Create a new SalesOrder
+ so = SalesOrder.objects.create(customer=customer, reference='SO-5678')
+
+ shipment = so.shipments.first()
+
+ if not shipment:
+ shipment = SalesOrderShipment.objects.create(
+ reference='SHIP-MENT', order=so
+ )
+
+ # Create a part
+ part = Part.objects.create(name='Part 1', salable=True)
+
+ N_ITEMS = 750
+
+ line = SalesOrderLineItem.objects.create(part=part, order=so, quantity=N_ITEMS)
+
+ # Create stock items, and assign to shipment
+ allocations = []
+ stock_items = []
+
+ tree_id = StockItem.objects.all().order_by('-tree_id').first().tree_id
+
+ for idx in range(N_ITEMS):
+ tree_id += 1
+
+ stock_items.append(
+ StockItem(
+ part=part,
+ quantity=1 + idx % 5,
+ level=0,
+ lft=0,
+ rght=0,
+ tree_id=tree_id,
+ )
+ )
+
+ StockItem.objects.bulk_create(stock_items)
+
+ # Check expected available quantity
+ self.assertEqual(part.total_stock, 2250)
+
+ # Allocate a single quantity from each stock item to the shipment
+ for item in StockItem.objects.filter(part=part):
+ allocations.append(
+ SalesOrderAllocation(
+ line=line, shipment=shipment, item=item, quantity=1
+ )
+ )
+
+ SalesOrderAllocation.objects.bulk_create(allocations)
+
+ # Validate initial conditions for the SalesOrderShipment
+ self.assertEqual(shipment.allocations.count(), N_ITEMS)
+ self.assertIsNone(shipment.shipment_date)
+ self.assertFalse(shipment.is_complete())
+ self.assertTrue(shipment.check_can_complete(raise_error=False))
+
+ # Complete the shipment
+ shipment.complete_shipment(None)
+
+ shipment.refresh_from_db()
+ self.assertIsNotNone(shipment.shipment_date)
+ self.assertTrue(shipment.is_complete())
+
+ # Part stock quantity should have reduced by 1 for each allocated item
+ part.refresh_from_db()
+ self.assertEqual(part.total_stock, 2250 - N_ITEMS)
+
def test_default_shipment(self):
"""Test sales order default shipment creation."""
# Default setting value should be False
diff --git a/src/backend/InvenTree/order/tests.py b/src/backend/InvenTree/order/tests.py
index 1712f68759..e4e04c82ee 100644
--- a/src/backend/InvenTree/order/tests.py
+++ b/src/backend/InvenTree/order/tests.py
@@ -25,7 +25,17 @@ from part.models import Part
from stock.models import StockItem, StockLocation
from users.models import Owner
-from .models import PurchaseOrder, PurchaseOrderExtraLine, PurchaseOrderLineItem
+from .models import (
+ PurchaseOrder,
+ PurchaseOrderExtraLine,
+ PurchaseOrderLineItem,
+ ReturnOrder,
+ ReturnOrderExtraLine,
+ ReturnOrderLineItem,
+ SalesOrder,
+ SalesOrderExtraLine,
+ SalesOrderLineItem,
+)
class OrderTest(ExchangeRateMixin, PluginRegistryMixin, TestCase):
@@ -369,7 +379,8 @@ class OrderTest(ExchangeRateMixin, PluginRegistryMixin, TestCase):
order=po,
part=sp_1,
quantity=3,
- purchase_price=Money(1000, 'USD'), # "Unit price" should be $100USD
+ # "Unit price" should be $100USD
+ purchase_price=Money(1000, 'USD'),
)
# 13 x 0.1 = 1.3
@@ -569,3 +580,151 @@ class OrderTest(ExchangeRateMixin, PluginRegistryMixin, TestCase):
p.set_metadata(k, k)
self.assertEqual(len(p.metadata.keys()), 4)
+
+
+class OrderUpdatedAtTest(TestCase):
+ """Tests to verify that the updated_at field is correctly maintained on all order types."""
+
+ def setUp(self):
+ """Set up objects for all three order types."""
+ self.supplier = Company.objects.filter(is_supplier=True).first()
+ self.customer = Company.objects.filter(is_customer=True).first()
+
+ self.po = PurchaseOrder.objects.create(
+ reference='PO-TEST-001', supplier=self.supplier
+ )
+ self.so = SalesOrder.objects.create(
+ reference='SO-TEST-001', customer=self.customer
+ )
+ self.ro = ReturnOrder.objects.create(
+ reference='RO-TEST-001', customer=self.customer
+ )
+
+ self.part = Part.objects.create(name='Test Part', description='Test Part')
+ self.stock_item = StockItem.objects.create(part=self.part, quantity=10)
+
+ def _refresh(self, instance):
+ """Return a fresh copy of the instance from the database."""
+ return instance.__class__.objects.get(pk=instance.pk)
+
+ def test_updated_at_set_on_save(self):
+ """updated_at should be populated after the order is saved."""
+ for instance in [self.po, self.so, self.ro]:
+ self.assertIsNotNone(self._refresh(instance).updated_at)
+
+ def test_updated_at_changes_on_save(self):
+ """updated_at should advance when the order is saved again."""
+ for instance in [self.po, self.so, self.ro]:
+ original = self._refresh(instance).updated_at
+
+ instance.description = 'Updated description'
+ instance.save()
+
+ refreshed = self._refresh(instance)
+ self.assertGreaterEqual(refreshed.updated_at, original)
+
+ def test_updated_at_on_extra_line_add(self):
+ """updated_at should advance on the parent order when an extra line is added."""
+ for instance, ExtraLine in [
+ (self.po, PurchaseOrderExtraLine),
+ (self.so, SalesOrderExtraLine),
+ (self.ro, ReturnOrderExtraLine),
+ ]:
+ before = self._refresh(instance).updated_at
+
+ ExtraLine.objects.create(order=instance, quantity=1)
+
+ after = self._refresh(instance).updated_at
+ self.assertGreaterEqual(after, before)
+
+ def test_updated_at_on_extra_line_update(self):
+ """updated_at should advance on the parent order when an extra line is updated."""
+ for instance, ExtraLine in [
+ (self.po, PurchaseOrderExtraLine),
+ (self.so, SalesOrderExtraLine),
+ (self.ro, ReturnOrderExtraLine),
+ ]:
+ line = ExtraLine.objects.create(order=instance, quantity=1)
+
+ before = self._refresh(instance).updated_at
+
+ line.quantity = 5
+ line.save()
+
+ after = self._refresh(instance).updated_at
+ self.assertGreaterEqual(after, before)
+
+ def test_updated_at_on_extra_line_delete(self):
+ """updated_at should advance on the parent order when an extra line is deleted."""
+ for instance, ExtraLine in [
+ (self.po, PurchaseOrderExtraLine),
+ (self.so, SalesOrderExtraLine),
+ (self.ro, ReturnOrderExtraLine),
+ ]:
+ line = ExtraLine.objects.create(order=instance, quantity=1)
+
+ before = self._refresh(instance).updated_at
+
+ line.delete()
+
+ after = self._refresh(instance).updated_at
+ self.assertGreaterEqual(after, before)
+
+ def test_updated_at_on_line_item_add(self):
+ """updated_at should advance on the parent order when a regular line item is added."""
+ before_po = self._refresh(self.po).updated_at
+ PurchaseOrderLineItem.objects.create(order=self.po, part=None, quantity=1)
+ self.assertGreaterEqual(self._refresh(self.po).updated_at, before_po)
+
+ before_so = self._refresh(self.so).updated_at
+ SalesOrderLineItem.objects.create(order=self.so, part=None, quantity=1)
+ self.assertGreaterEqual(self._refresh(self.so).updated_at, before_so)
+
+ before_ro = self._refresh(self.ro).updated_at
+ ReturnOrderLineItem.objects.create(
+ order=self.ro, item=self.stock_item, quantity=1
+ )
+ self.assertGreaterEqual(self._refresh(self.ro).updated_at, before_ro)
+
+ def test_updated_at_on_line_item_update(self):
+ """updated_at should advance on the parent order when a regular line item is updated."""
+ po_line = PurchaseOrderLineItem.objects.create(
+ order=self.po, part=None, quantity=1
+ )
+ so_line = SalesOrderLineItem.objects.create(
+ order=self.so, part=None, quantity=1
+ )
+ ro_line = ReturnOrderLineItem.objects.create(
+ order=self.ro, item=self.stock_item, quantity=1
+ )
+
+ for instance, line in [
+ (self.po, po_line),
+ (self.so, so_line),
+ (self.ro, ro_line),
+ ]:
+ before = self._refresh(instance).updated_at
+ line.quantity = 5
+ line.save()
+ self.assertGreaterEqual(self._refresh(instance).updated_at, before)
+
+ def test_updated_at_on_line_item_delete(self):
+ """updated_at should advance on the parent order when a regular line item is deleted."""
+ po_line = PurchaseOrderLineItem.objects.create(
+ order=self.po, part=None, quantity=1
+ )
+ so_line = SalesOrderLineItem.objects.create(
+ order=self.so, part=None, quantity=1
+ )
+ ro_line = ReturnOrderLineItem.objects.create(
+ order=self.ro, item=self.stock_item, quantity=1
+ )
+
+ for instance, line in [
+ (self.po, po_line),
+ (self.so, so_line),
+ (self.ro, ro_line),
+ ]:
+ before = self._refresh(instance).updated_at
+ line.delete()
+ self.assertGreaterEqual(self._refresh(instance).updated_at, before)
diff --git a/src/backend/InvenTree/part/admin.py b/src/backend/InvenTree/part/admin.py
index 377a0b1a4a..d1e0398952 100644
--- a/src/backend/InvenTree/part/admin.py
+++ b/src/backend/InvenTree/part/admin.py
@@ -25,7 +25,6 @@ class PartAdmin(admin.ModelAdmin):
'variant_of',
'category',
'default_location',
- 'default_supplier',
'bom_checked_by',
'creation_user',
]
diff --git a/src/backend/InvenTree/part/api.py b/src/backend/InvenTree/part/api.py
index 8e969dea30..dbf8cf815a 100644
--- a/src/backend/InvenTree/part/api.py
+++ b/src/backend/InvenTree/part/api.py
@@ -8,25 +8,24 @@ import django_filters.rest_framework.filters as rest_filters
from django_filters.rest_framework import DjangoFilterBackend
from django_filters.rest_framework.filterset import FilterSet
from drf_spectacular.types import OpenApiTypes
-from drf_spectacular.utils import extend_schema_field
+from drf_spectacular.utils import extend_schema, extend_schema_field
from rest_framework import serializers
from rest_framework.response import Response
+import common.serializers
import part.tasks as part_tasks
from data_exporter.mixins import DataExportViewMixin
from InvenTree.api import (
BulkDeleteMixin,
BulkUpdateMixin,
ListCreateDestroyAPIView,
- MetadataView,
ParameterListMixin,
+ meta_path,
)
from InvenTree.fields import InvenTreeOutputOption, OutputConfiguration
from InvenTree.filters import (
ORDER_FILTER,
- ORDER_FILTER_ALIAS,
SEARCH_ORDER_FILTER,
- SEARCH_ORDER_FILTER_ALIAS,
InvenTreeDateFilter,
InvenTreeSearchFilter,
NumberOrNullFilter,
@@ -75,20 +74,6 @@ class CategoryMixin:
queryset = part_serializers.CategorySerializer.annotate_queryset(queryset)
return queryset
- def get_serializer_context(self):
- """Add extra context to the serializer for the CategoryDetail endpoint."""
- ctx = super().get_serializer_context()
-
- try:
- ctx['starred_categories'] = [
- star.category for star in self.request.user.starred_categories.all()
- ]
- except AttributeError:
- # Error is thrown if the view does not have an associated request
- ctx['starred_categories'] = []
-
- return ctx
-
class CategoryFilter(FilterSet):
"""Custom filterset class for the PartCategoryList endpoint."""
@@ -162,7 +147,7 @@ class CategoryFilter(FilterSet):
Note: If the "parent" filter is provided, we offload the logic to that method.
"""
- parent = str2bool(self.data.get('parent', None))
+ parent = self.data.get('parent', None)
top_level = str2bool(self.data.get('top_level', None))
# If the parent is *not* provided, update the results based on the "cascade" value
@@ -268,14 +253,13 @@ class CategoryDetail(CategoryMixin, OutputOptionsMixin, CustomRetrieveUpdateDest
"""Perform 'update' function and mark this part as 'starred' (or not)."""
# Clean up input data
data = self.clean_data(request.data)
+ response = super().update(request, *args, **kwargs)
if 'starred' in data:
starred = str2bool(data.get('starred', False))
self.get_object().set_starred(request.user, starred, include_parents=False)
- response = super().update(request, *args, **kwargs)
-
return response
def destroy(self, request, *args, **kwargs):
@@ -302,7 +286,7 @@ class CategoryTree(ListAPI):
queryset = PartCategory.objects.all()
serializer_class = part_serializers.CategoryTree
- filter_backends = ORDER_FILTER_ALIAS
+ filter_backends = ORDER_FILTER
ordering_fields = ['level', 'name', 'subcategories']
@@ -616,8 +600,18 @@ class PartValidateBOM(RetrieveUpdateAPI):
queryset = Part.objects.all()
serializer_class = part_serializers.PartBomValidateSerializer
+ @extend_schema(
+ responses={
+ 200: common.serializers.TaskDetailSerializer,
+ 404: common.serializers.TaskDetailSerializer,
+ }
+ )
def update(self, request, *args, **kwargs):
- """Validate the referenced BomItem instance."""
+ """Validate the referenced BomItem instance.
+
+ As this task if offloaded to the background worker,
+ we return information about the background task which is performing the validation.
+ """
part = self.get_object()
partial = kwargs.pop('partial', False)
@@ -631,7 +625,7 @@ class PartValidateBOM(RetrieveUpdateAPI):
valid = str2bool(serializer.validated_data.get('valid', False))
# BOM validation may take some time, so we offload it to a background task
- offload_task(
+ task_id = offload_task(
part_tasks.validate_bom,
part.pk,
valid,
@@ -639,10 +633,8 @@ class PartValidateBOM(RetrieveUpdateAPI):
group='part',
)
- # Re-serialize the response
- serializer = self.get_serializer(part, many=False)
-
- return Response(serializer.data)
+ response = common.serializers.TaskDetailSerializer.from_task(task_id).data
+ return Response(response, status=response['http_status'])
class PartFilter(FilterSet):
@@ -1009,7 +1001,9 @@ class PartMixin(SerializerContextMixin):
"""Mixin class for Part API endpoints."""
serializer_class = part_serializers.PartSerializer
- queryset = Part.objects.all().select_related('pricing_data')
+ queryset = (
+ Part.objects.all().select_related('pricing_data').prefetch_related('category')
+ )
starred_parts = None
is_create = False
@@ -1027,27 +1021,8 @@ class PartMixin(SerializerContextMixin):
# Indicate that we can create a new Part via this endpoint
kwargs['create'] = self.is_create
- # Pass a list of "starred" parts to the current user to the serializer
- # We do this to reduce the number of database queries required!
- if (
- self.starred_parts is None
- and self.request is not None
- and hasattr(self.request.user, 'starred_parts')
- ):
- self.starred_parts = [
- star.part for star in self.request.user.starred_parts.all()
- ]
- kwargs['starred_parts'] = self.starred_parts
-
return super().get_serializer(*args, **kwargs)
- def get_serializer_context(self):
- """Extend serializer context data."""
- context = super().get_serializer_context()
- context['request'] = self.request
-
- return context
-
class PartOutputOptions(OutputConfiguration):
"""Output options for Part endpoints."""
@@ -1078,7 +1053,7 @@ class PartList(
filterset_class = PartFilter
is_create = True
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
ordering_fields = [
'name',
@@ -1132,6 +1107,7 @@ class PartDetail(PartMixin, OutputOptionsMixin, RetrieveUpdateDestroyAPI):
"""
# Clean input data
data = self.clean_data(request.data)
+ response = super().update(request, *args, **kwargs)
if 'starred' in data:
starred = str2bool(data.get('starred', False))
@@ -1140,8 +1116,6 @@ class PartDetail(PartMixin, OutputOptionsMixin, RetrieveUpdateDestroyAPI):
request.user, starred, include_variants=False, include_categories=False
)
- response = super().update(request, *args, **kwargs)
-
return response
@@ -1202,11 +1176,18 @@ class PartStocktakeFilter(FilterSet):
fields = ['part']
-class PartStocktakeList(BulkDeleteMixin, ListCreateAPI):
+class PartStocktakeMixin:
+ """Mixin class for PartStocktake API endpoints."""
+
+ queryset = PartStocktake.objects.all().prefetch_related('part')
+ serializer_class = part_serializers.PartStocktakeSerializer
+
+
+class PartStocktakeList(
+ PartStocktakeMixin, DataExportViewMixin, BulkDeleteMixin, ListCreateAPI
+):
"""API endpoint for listing part stocktake information."""
- queryset = PartStocktake.objects.all()
- serializer_class = part_serializers.PartStocktakeSerializer
filterset_class = PartStocktakeFilter
def get_serializer_context(self):
@@ -1224,14 +1205,65 @@ class PartStocktakeList(BulkDeleteMixin, ListCreateAPI):
ordering = '-pk'
-class PartStocktakeDetail(RetrieveUpdateDestroyAPI):
+class PartStocktakeDetail(PartStocktakeMixin, RetrieveUpdateDestroyAPI):
"""Detail API endpoint for a single PartStocktake instance.
Note: Only staff (admin) users can access this endpoint.
"""
+
+class PartStocktakeGenerate(CreateAPI):
+ """API endpoint for generating a PartStocktake instance."""
+
queryset = PartStocktake.objects.all()
- serializer_class = part_serializers.PartStocktakeSerializer
+ serializer_class = part_serializers.PartStocktakeGenerateSerializer
+
+ def post(self, request, *args, **kwargs):
+ """Perform stocktake generation on POST request."""
+ from common.models import DataOutput
+ from part.stocktake import perform_stocktake
+
+ serializer = self.get_serializer(data=request.data)
+ serializer.is_valid(raise_exception=True)
+
+ data = serializer.validated_data
+
+ part = data.get('part', None)
+ category = data.get('category', None)
+ location = data.get('location', None)
+
+ # Do we want to generate a report?
+ if data.get('generate_report', True):
+ report_output = DataOutput.objects.create(
+ user=request.user, output_type='stocktake'
+ )
+ else:
+ report_output = None
+
+ # Offload the actual stocktake generation to a background task, as it may take some time to complete
+ offload_task(
+ perform_stocktake,
+ part_id=part.pk if part else None,
+ category_id=category.pk if category else None,
+ location_id=location.pk if location else None,
+ generate_entry=data.get('generate_entry', True),
+ report_output_id=report_output.pk if report_output else None,
+ group='stocktake',
+ )
+
+ if report_output:
+ report_output.refresh_from_db()
+
+ result = {
+ 'category': category,
+ 'location': location,
+ 'part': part,
+ 'output': report_output,
+ }
+
+ output_serializer = part_serializers.PartStocktakeGenerateSerializer(result)
+
+ return Response(output_serializer.data)
class BomFilter(FilterSet):
@@ -1245,11 +1277,11 @@ class BomFilter(FilterSet):
# Filters for linked 'part'
part_active = rest_filters.BooleanFilter(
- label='Assembly part is active', field_name='part__active'
+ label=_('Assembly part is active'), field_name='part__active'
)
part_trackable = rest_filters.BooleanFilter(
- label='Assembly part is trackable', field_name='part__trackable'
+ label=_('Assembly part is trackable'), field_name='part__trackable'
)
part_testable = rest_filters.BooleanFilter(
@@ -1257,8 +1289,12 @@ class BomFilter(FilterSet):
)
# Filters for linked 'sub_part'
+ sub_part_active = rest_filters.BooleanFilter(
+ label=_('Component part is active'), field_name='sub_part__active'
+ )
+
sub_part_trackable = rest_filters.BooleanFilter(
- label='Component part is trackable', field_name='sub_part__trackable'
+ label=_('Component part is trackable'), field_name='sub_part__trackable'
)
sub_part_testable = rest_filters.BooleanFilter(
@@ -1266,15 +1302,15 @@ class BomFilter(FilterSet):
)
sub_part_assembly = rest_filters.BooleanFilter(
- label='Component part is an assembly', field_name='sub_part__assembly'
+ label=_('Component part is an assembly'), field_name='sub_part__assembly'
)
sub_part_virtual = rest_filters.BooleanFilter(
- label='Component part is virtual', field_name='sub_part__virtual'
+ label=_('Component part is virtual'), field_name='sub_part__virtual'
)
available_stock = rest_filters.BooleanFilter(
- label='Has available stock', method='filter_available_stock'
+ label=_('Has available stock'), method='filter_available_stock'
)
def filter_available_stock(self, queryset, name, value):
@@ -1378,7 +1414,7 @@ class BomList(
output_options = BomOutputOptions
filterset_class = BomFilter
- filter_backends = SEARCH_ORDER_FILTER_ALIAS
+ filter_backends = SEARCH_ORDER_FILTER
search_fields = [
'reference',
@@ -1403,6 +1439,7 @@ class BomList(
'attrition',
'rounding_multiple',
'sub_part',
+ 'IPN',
'available_stock',
'allow_variants',
'inherited',
@@ -1420,6 +1457,7 @@ class BomList(
ordering_field_aliases = {
'category': 'sub_part__category__name',
'sub_part': 'sub_part__name',
+ 'IPN': 'sub_part__IPN',
'pricing_min': 'sub_part__pricing_data__overall_min',
'pricing_max': 'sub_part__pricing_data__overall_max',
'pricing_updated': 'sub_part__pricing_data__updated',
@@ -1498,13 +1536,7 @@ part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(
- model=PartCategoryParameterTemplate
- ),
- name='api-part-category-parameter-metadata',
- ),
+ meta_path(PartCategoryParameterTemplate),
path(
'',
CategoryParameterDetail.as_view(),
@@ -1523,11 +1555,7 @@ part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=PartCategory),
- name='api-part-category-metadata',
- ),
+ meta_path(PartCategory),
# PartCategory detail endpoint
path('', CategoryDetail.as_view(), name='api-part-category-detail'),
]),
@@ -1542,11 +1570,7 @@ part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=PartTestTemplate),
- name='api-part-test-template-metadata',
- ),
+ meta_path(PartTestTemplate),
path(
'',
PartTestTemplateDetail.as_view(),
@@ -1592,11 +1616,7 @@ part_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=PartRelated),
- name='api-part-related-metadata',
- ),
+ meta_path(PartRelated),
path(
'', PartRelatedDetail.as_view(), name='api-part-related-detail'
),
@@ -1614,6 +1634,11 @@ part_api_urls = [
PartStocktakeDetail.as_view(),
name='api-part-stocktake-detail',
),
+ path(
+ 'generate/',
+ PartStocktakeGenerate.as_view(),
+ name='api-part-stocktake-generate',
+ ),
path('', PartStocktakeList.as_view(), name='api-part-stocktake-list'),
]),
),
@@ -1647,9 +1672,7 @@ part_api_urls = [
'bom-validate/', PartValidateBOM.as_view(), name='api-part-bom-validate'
),
# Part metadata
- path(
- 'metadata/', MetadataView.as_view(model=Part), name='api-part-metadata'
- ),
+ meta_path(Part),
# Part pricing
path('pricing/', PartPricingDetail.as_view(), name='api-part-pricing'),
# Part detail endpoint
@@ -1667,11 +1690,7 @@ bom_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=BomItemSubstitute),
- name='api-bom-substitute-metadata',
- ),
+ meta_path(BomItemSubstitute),
path(
'',
BomItemSubstituteDetail.as_view(),
@@ -1688,11 +1707,7 @@ bom_api_urls = [
'/',
include([
path('validate/', BomItemValidate.as_view(), name='api-bom-item-validate'),
- path(
- 'metadata/',
- MetadataView.as_view(model=BomItem),
- name='api-bom-item-metadata',
- ),
+ meta_path(BomItem),
path('', BomDetail.as_view(), name='api-bom-item-detail'),
]),
),
diff --git a/src/backend/InvenTree/part/filters.py b/src/backend/InvenTree/part/filters.py
index ad4107566e..92887e57c8 100644
--- a/src/backend/InvenTree/part/filters.py
+++ b/src/backend/InvenTree/part/filters.py
@@ -297,7 +297,8 @@ def annotate_variant_quantity(subquery: Q, reference: str = 'quantity') -> Query
"""
return Coalesce(
Subquery(
- subquery.annotate(
+ subquery
+ .annotate(
total=Func(F(reference), function='SUM', output_field=FloatField())
)
.values('total')
@@ -324,7 +325,8 @@ def annotate_category_parts() -> QuerySet:
return Coalesce(
Subquery(
- subquery.annotate(
+ subquery
+ .annotate(
total=Func(F('pk'), function='COUNT', output_field=IntegerField())
)
.values('total')
@@ -369,7 +371,8 @@ def annotate_sub_categories() -> QuerySet:
return Coalesce(
Subquery(
- subquery.annotate(
+ subquery
+ .annotate(
total=Func(F('pk'), function='COUNT', output_field=IntegerField())
)
.values('total')
diff --git a/src/backend/InvenTree/part/migrations/0147_remove_part_default_supplier.py b/src/backend/InvenTree/part/migrations/0147_remove_part_default_supplier.py
new file mode 100644
index 0000000000..5b29121ced
--- /dev/null
+++ b/src/backend/InvenTree/part/migrations/0147_remove_part_default_supplier.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.2.11 on 2026-02-12 11:08
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("company", "0079_auto_20260212_1054"),
+ ("part", "0146_auto_20251203_1241"),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name="part",
+ name="default_supplier",
+ ),
+ ]
diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py
index 6de1d544d0..e4e50f4675 100644
--- a/src/backend/InvenTree/part/models.py
+++ b/src/backend/InvenTree/part/models.py
@@ -10,7 +10,7 @@ import os
import re
from datetime import timedelta
from decimal import Decimal, InvalidOperation
-from typing import cast
+from typing import TypedDict, cast
from django.conf import settings
from django.contrib.auth.models import User
@@ -52,7 +52,6 @@ from build.status_codes import BuildStatusGroups
from common.currency import currency_code_default
from common.icons import validate_icon
from common.settings import get_global_setting
-from company.models import SupplierPart
from InvenTree import helpers, validators
from InvenTree.exceptions import log_error
from InvenTree.fields import InvenTreeURLField
@@ -84,8 +83,8 @@ class PartCategory(
"""
ITEM_PARENT_KEY = 'category'
-
EXTRA_PATH_FIELDS = ['icon']
+ IMPORT_ID_FIELDS = ['pathstring', 'name']
class Meta:
"""Metaclass defines extra model properties."""
@@ -225,7 +224,8 @@ class PartCategory(
def prefetch_parts_parameters(self, cascade=True):
"""Prefectch parts parameters."""
return (
- self.get_parts(cascade=cascade)
+ self
+ .get_parts(cascade=cascade)
.prefetch_related('parameters_list', 'parameters_list__template')
.all()
)
@@ -427,7 +427,7 @@ class PartCategoryParameterTemplate(InvenTree.models.InvenTreeMetadataModel):
)
-class PartReportContext(report.mixins.BaseReportContext):
+class PartReportContext(report.mixins.BaseReportContext, TypedDict):
"""Report context for the Part model.
Attributes:
@@ -489,7 +489,6 @@ class Part(
link: Link to an external page with more information about this part (e.g. internal Wiki)
image: Image of this part
default_location: Where the item is normally stored (may be null)
- default_supplier: The default SupplierPart which should be used to procure and stock this part
default_expiry: The default expiry duration for any StockItem instances of this part
minimum_stock: Minimum preferred quantity to keep in stock
units: Units of measure for this part (default='pcs')
@@ -516,6 +515,7 @@ class Part(
NODE_PARENT_KEY = 'variant_of'
IMAGE_RENAME = rename_part_image
+ IMPORT_ID_FIELDS = ['IPN', 'name']
objects = TreeManager()
@@ -615,7 +615,8 @@ class Part(
if previous.image is not None and self.image != previous.image:
# Are there any (other) parts which reference the image?
n_refs = (
- Part.objects.filter(image=previous.image)
+ Part.objects
+ .filter(image=previous.image)
.exclude(pk=self.pk)
.count()
)
@@ -1040,7 +1041,8 @@ class Part(
self.revision_of
and self.revision
and (
- Part.objects.exclude(pk=self.pk)
+ Part.objects
+ .exclude(pk=self.pk)
.filter(revision_of=self.revision_of, revision=self.revision)
.exists()
)
@@ -1049,7 +1051,8 @@ class Part(
# Ensure unique across (Name, revision, IPN) (as specified)
if (self.revision or self.IPN) and (
- Part.objects.exclude(pk=self.pk)
+ Part.objects
+ .exclude(pk=self.pk)
.filter(name=self.name, revision=self.revision, IPN=self.IPN)
.exists()
):
@@ -1210,31 +1213,14 @@ class Part(
# Default case - no default category found
return None
- def get_default_supplier(self):
- """Get the default supplier part for this part (may be None).
+ @property
+ def default_supplier(self):
+ """Return the default (primary) SupplierPart for this Part.
- - If the part specifies a default_supplier, return that
- - If there is only one supplier part available, return that
- - Else, return None
+ This function is included for backwards compatibility,
+ as the 'Part' model used to have a 'default_supplier' field which was a ForeignKey to SupplierPart.
"""
- if self.default_supplier:
- return self.default_supplier
-
- if self.supplier_count == 1:
- return self.supplier_parts.first()
-
- # Default to None if there are multiple suppliers to choose from
- return None
-
- default_supplier = models.ForeignKey(
- SupplierPart,
- on_delete=models.SET_NULL,
- blank=True,
- null=True,
- verbose_name=_('Default Supplier'),
- help_text=_('Default supplier part'),
- related_name='default_parts',
- )
+ return self.supplier_parts.filter(primary=True).first()
default_expiry = models.PositiveIntegerField(
default=0,
@@ -1621,8 +1607,8 @@ class Part(
if not self.has_bom:
return 0
- # Prefetch related tables, to reduce query expense
- queryset = self.get_bom_items()
+ # Ignore virtual parts when calculating the "can_build" quantity
+ queryset = self.get_bom_items(include_virtual=False)
# Ignore 'consumable' BOM items for this calculation
queryset = queryset.filter(consumable=False)
@@ -1815,7 +1801,7 @@ class Part(
if include_external is False:
# Exclude stock entries which are not 'internal'
- query = query.filter(external=False)
+ query = query.filter(location__external=False)
if location:
locations = location.get_descendants(include_self=True)
@@ -2596,21 +2582,22 @@ class Part(
Note that some supplier parts may have a different pack_quantity attribute,
and this needs to be taken into account!
"""
+ from order.models import PurchaseOrderLineItem
+
quantity = 0
- # Iterate through all supplier parts
- for sp in self.supplier_parts.all():
- # Look at any incomplete line item for open orders
- lines = sp.purchase_order_line_items.filter(
- order__status__in=PurchaseOrderStatusGroups.OPEN,
- quantity__gt=F('received'),
- )
+ # Find all outstanding PurchaseOrderLineItem objects which reference this part
+ lines = PurchaseOrderLineItem.objects.filter(
+ order__status__in=PurchaseOrderStatusGroups.OPEN,
+ part__part_id=self.pk,
+ quantity__gt=F('received'),
+ ).prefetch_related('part')
- for line in lines:
- remaining = line.quantity - line.received
+ for line in lines:
+ remaining = line.quantity - line.received
- if remaining > 0:
- quantity += sp.base_quantity(remaining)
+ if remaining > 0:
+ quantity += line.part.base_quantity(remaining)
return quantity
@@ -3631,6 +3618,8 @@ class PartTestTemplate(InvenTree.models.InvenTreeMetadataModel):
run on the model (refer to the validate_unique function).
"""
+ IMPORT_ID_FIELDS = ['key']
+
class Meta:
"""Metaclass options for the PartTestTemplate model."""
@@ -3828,10 +3817,18 @@ class BomItem(InvenTree.models.MetadataMixin, InvenTree.models.InvenTreeModel):
return assemblies
def get_valid_parts_for_allocation(
- self, allow_variants=True, allow_substitutes=True
+ self,
+ allow_variants: bool = True,
+ allow_substitutes: bool = True,
+ allow_inactive: bool = True,
):
"""Return a list of valid parts which can be allocated against this BomItem.
+ Arguments:
+ allow_variants: If True, include variants of the sub_part
+ allow_substitutes: If True, include any directly specified substitute parts
+ allow_inactive: If True, include inactive parts in the returned list
+
Includes:
- The referenced sub_part
- Any directly specified substitute parts
@@ -3864,6 +3861,10 @@ class BomItem(InvenTree.models.MetadataMixin, InvenTree.models.InvenTreeModel):
if p.trackable != self.sub_part.trackable:
continue
+ # Filter by 'active' status
+ if not allow_inactive and not p.active:
+ continue
+
valid_parts.append(p)
return valid_parts
@@ -4112,7 +4113,7 @@ class BomItem(InvenTree.models.MetadataMixin, InvenTree.models.InvenTreeModel):
# Normalize decimal values to ensure consistent representation
# These values are only included if they are non-zero
- # This is to provide some backwards compatibility from before these fields were addede
+ # This is to provide some backwards compatibility from before these fields were added
if value is not None and field in [
'quantity',
'attrition',
@@ -4215,7 +4216,7 @@ class BomItem(InvenTree.models.MetadataMixin, InvenTree.models.InvenTreeModel):
if n <= 0:
return 0.0
- return int(available_stock / n)
+ return int(Decimal(available_stock) / n)
def get_required_quantity(self, build_quantity: float) -> float:
"""Calculate the required part quantity, based on the supplied build_quantity.
diff --git a/src/backend/InvenTree/part/serializers.py b/src/backend/InvenTree/part/serializers.py
index 60ce08275a..8788ca8624 100644
--- a/src/backend/InvenTree/part/serializers.py
+++ b/src/backend/InvenTree/part/serializers.py
@@ -22,6 +22,7 @@ from sql_util.utils import SubqueryCount
import common.currency
import common.filters
+import common.models
import common.serializers
import company.models
import InvenTree.helpers
@@ -30,6 +31,7 @@ import part.filters as part_filters
import part.helpers as part_helpers
import stock.models
import users.models
+from data_exporter.mixins import DataExportSerializerMixin
from importer.registry import register_importer
from InvenTree.mixins import DataImportExportSerializerMixin
from InvenTree.ready import isGeneratingSchema
@@ -128,7 +130,16 @@ class CategorySerializer(
def get_starred(self, category) -> bool:
"""Return True if the category is directly "starred" by the current user."""
- return category in self.context.get('starred_categories', [])
+ if not self.request or not self.request.user:
+ return False
+
+ # Cache the "starred_categories" list for the current user
+ if not hasattr(self, 'starred_categories'):
+ self.starred_categories = [
+ star.category.pk for star in self.request.user.starred_categories.all()
+ ]
+
+ return category.pk in self.starred_categories
path = enable_filter(
FilterableListField(
@@ -575,7 +586,6 @@ class PartSerializer(
'default_expiry',
'default_location',
'default_location_detail',
- 'default_supplier',
'description',
'full_name',
'image',
@@ -637,7 +647,6 @@ class PartSerializer(
- Allows us to optionally pass extra fields based on the query.
"""
- self.starred_parts = kwargs.pop('starred_parts', [])
create = kwargs.pop('create', False)
super().__init__(*args, **kwargs)
@@ -753,7 +762,16 @@ class PartSerializer(
def get_starred(self, part) -> bool:
"""Return "true" if the part is starred by the current user."""
- return part in self.starred_parts
+ if not self.request or not self.request.user:
+ return False
+
+ # Cache the "starred_parts" list for the current user
+ if not hasattr(self, 'starred_parts'):
+ self.starred_parts = [
+ star.part.pk for star in self.request.user.starred_parts.all()
+ ]
+
+ return part.pk in self.starred_parts
# Extra detail for the category
category_detail = enable_filter(
@@ -1187,7 +1205,11 @@ class PartRequirementsSerializer(InvenTree.serializers.InvenTreeModelSerializer)
return part.sales_order_allocation_count(include_variants=True, pending=True)
-class PartStocktakeSerializer(InvenTree.serializers.InvenTreeModelSerializer):
+class PartStocktakeSerializer(
+ InvenTree.serializers.FilterableSerializerMixin,
+ DataExportSerializerMixin,
+ InvenTree.serializers.InvenTreeModelSerializer,
+):
"""Serializer for the PartStocktake model."""
class Meta:
@@ -1196,18 +1218,32 @@ class PartStocktakeSerializer(InvenTree.serializers.InvenTreeModelSerializer):
model = PartStocktake
fields = [
'pk',
- 'date',
'part',
+ 'part_name',
+ 'part_ipn',
+ 'part_description',
+ 'date',
'item_count',
'quantity',
'cost_min',
'cost_min_currency',
'cost_max',
'cost_max_currency',
+ # Optional detail fields
+ 'part_detail',
]
read_only_fields = ['date', 'user']
+ def __init__(self, *args, **kwargs):
+ """Custom initialization for PartStocktakeSerializer."""
+ exclude_pk = kwargs.pop('exclude_pk', False)
+
+ super().__init__(*args, **kwargs)
+
+ if exclude_pk:
+ self.fields.pop('pk', None)
+
quantity = serializers.FloatField()
cost_min = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True)
@@ -1216,6 +1252,28 @@ class PartStocktakeSerializer(InvenTree.serializers.InvenTreeModelSerializer):
cost_max = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True)
cost_max_currency = InvenTree.serializers.InvenTreeCurrencySerializer()
+ part_name = serializers.CharField(
+ source='part.name', read_only=True, label=_('Part Name')
+ )
+
+ part_ipn = serializers.CharField(
+ source='part.IPN', read_only=True, allow_null=True, label=_('Part IPN')
+ )
+
+ part_description = serializers.CharField(
+ source='part.description',
+ read_only=True,
+ allow_null=True,
+ label=_('Part Description'),
+ )
+
+ part_detail = enable_filter(
+ PartBriefSerializer(
+ source='part', read_only=True, allow_null=True, many=False, pricing=False
+ ),
+ default_include=False,
+ )
+
def save(self):
"""Called when this serializer is saved."""
data = self.validated_data
@@ -1226,6 +1284,72 @@ class PartStocktakeSerializer(InvenTree.serializers.InvenTreeModelSerializer):
return super().save()
+class PartStocktakeGenerateSerializer(serializers.Serializer):
+ """Serializer for generating PartStocktake entries."""
+
+ class Meta:
+ """Metaclass options."""
+
+ fields = [
+ 'part',
+ 'category',
+ 'location',
+ 'generate_entry',
+ 'generate_report',
+ 'output',
+ ]
+
+ part = serializers.PrimaryKeyRelatedField(
+ queryset=Part.objects.all(),
+ label=_('Part'),
+ help_text=_(
+ 'Select a part to generate stocktake information for that part (and any variant parts)'
+ ),
+ required=False,
+ allow_null=True,
+ )
+
+ category = serializers.PrimaryKeyRelatedField(
+ queryset=PartCategory.objects.all(),
+ label=_('Category'),
+ help_text=_(
+ 'Select a category to include all parts within that category (and subcategories)'
+ ),
+ required=False,
+ allow_null=True,
+ )
+
+ location = serializers.PrimaryKeyRelatedField(
+ queryset=stock.models.StockLocation.objects.all(),
+ label=_('Location'),
+ help_text=_(
+ 'Select a location to include all parts with stock in that location (including sub-locations)'
+ ),
+ required=False,
+ allow_null=True,
+ )
+
+ generate_entry = serializers.BooleanField(
+ label=_('Generate Stocktake Entries'),
+ help_text=_('Save stocktake entries for the selected parts'),
+ write_only=True,
+ required=False,
+ default=False,
+ )
+
+ generate_report = serializers.BooleanField(
+ label=_('Generate Report'),
+ help_text=_('Generate a stocktake report for the selected parts'),
+ write_only=True,
+ required=False,
+ default=False,
+ )
+
+ output = common.serializers.DataOutputSerializer(
+ read_only=True, many=False, label=_('Output')
+ )
+
+
@extend_schema_field(
serializers.CharField(
help_text=_('Select currency from available options')
@@ -1550,8 +1674,20 @@ class BomItemSerializer(
def validate_quantity(self, quantity):
"""Perform validation for the BomItem quantity field."""
- if quantity <= 0:
- raise serializers.ValidationError(_('Quantity must be greater than zero'))
+ allow_zero_qty = common.models.InvenTreeSetting.get_setting(
+ 'PART_BOM_ALLOW_ZERO_QUANTITY', False
+ )
+
+ if allow_zero_qty:
+ if quantity < 0:
+ raise serializers.ValidationError(
+ _('Quantity must be greater than or equal to zero')
+ )
+ else:
+ if quantity <= 0:
+ raise serializers.ValidationError(
+ _('Quantity must be greater than zero')
+ )
return quantity
diff --git a/src/backend/InvenTree/part/stocktake.py b/src/backend/InvenTree/part/stocktake.py
index fcdfff40c9..40bc857afd 100644
--- a/src/backend/InvenTree/part/stocktake.py
+++ b/src/backend/InvenTree/part/stocktake.py
@@ -1,16 +1,48 @@
"""Stock history functionality."""
+from typing import Optional
+
+from django.core.files.base import ContentFile
+
import structlog
+import tablib
from djmoney.contrib.exchange.models import convert_money
from djmoney.money import Money
+import common.models
+from InvenTree.helpers import current_date
+
logger = structlog.get_logger('inventree')
-def perform_stocktake() -> None:
- """Generate stock history entries for all active parts."""
+def perform_stocktake(
+ part_id: Optional[int] = None,
+ category_id: Optional[int] = None,
+ location_id: Optional[int] = None,
+ exclude_external: Optional[bool] = None,
+ generate_entry: bool = True,
+ report_output_id: Optional[int] = None,
+) -> None:
+ """Capture a snapshot of stock-on-hand and stock value.
+
+ Arguments:
+ part_id: Optional ID of a part to perform stocktake on. If not provided, all active parts will be processed.
+ category_id: Optional category ID to use to filter parts
+ location_id: Optional location ID to use to filter stock items
+ exclude_external: If True, exclude external stock items from the stocktake
+ generate_entry: If True, create stocktake entries in the database
+ report_output_id: Optional ID of a DataOutput object for the stocktake report (e.g. for download)
+
+ The default implementation creates stocktake entries for all active parts,
+ and writes these stocktake entries to the database.
+
+ Alternatively, the scope of the stocktake can be limited by providing a queryset of parts,
+ or by providing a category ID or location ID to filter the parts/stock items.
+ """
import InvenTree.helpers
import part.models as part_models
+ import part.serializers as part_serializers
+ import stock.models as stock_models
from common.currency import currency_code_default
from common.settings import get_global_setting
@@ -18,36 +50,98 @@ def perform_stocktake() -> None:
logger.info('Stocktake functionality is disabled - skipping')
return
- exclude_external = get_global_setting(
- 'STOCKTAKE_EXCLUDE_EXTERNAL', False, cache=False
- )
+ # If exclude_external is not provided, use global setting
+ if exclude_external is None:
+ exclude_external = get_global_setting(
+ 'STOCKTAKE_EXCLUDE_EXTERNAL', False, cache=False
+ )
- active_parts = part_models.Part.objects.filter(active=True)
+ # If a single part is provided, limit to that part
+ # Otherwise, start with all active parts
+ if part_id is not None:
+ try:
+ part = part_models.Part.objects.get(id=part_id)
+ parts = part.get_descendants(include_self=True)
+ except (ValueError, part_models.Part.DoesNotExist):
+ parts = part_models.Part.objects.all()
+ else:
+ parts = part_models.Part.objects.all()
+
+ # Only use active parts
+ parts = parts.filter(active=True)
+
+ # Prefetch related pricing information
+ parts = parts.prefetch_related('pricing_data', 'stock_items')
+
+ # Filter part queryset by category, if provided
+ if category_id is not None:
+ # Filter parts by category (including subcategories)
+ try:
+ category = part_models.PartCategory.objects.get(id=category_id)
+ parts = parts.filter(
+ category__in=category.get_descendants(include_self=True)
+ )
+ except (ValueError, part_models.PartCategory.DoesNotExist):
+ pass
+
+ # Fetch location if provided
+ if location_id is not None:
+ try:
+ location = stock_models.StockLocation.objects.get(id=location_id)
+ except (ValueError, stock_models.StockLocation.DoesNotExist):
+ location = None
+ else:
+ location = None
+
+ if location is not None:
+ # Location limited, so we will disable saving of stocktake entries
+ generate_entry = False
# New history entries to be created
history_entries = []
- N_BULK_CREATE = 250
-
base_currency = currency_code_default()
today = InvenTree.helpers.current_date()
- logger.info(
- 'Creating new stock history entries for %s active parts', active_parts.count()
- )
+ logger.info('Creating new stock history entries for %s parts', parts.count())
- for part in active_parts:
+ # Fetch report output object if provided
+ if report_output_id is not None:
+ try:
+ report_output = common.models.DataOutput.objects.get(id=report_output_id)
+ except (ValueError, common.models.DataOutput.DoesNotExist):
+ report_output = None
+ else:
+ report_output = None
+
+ if report_output:
+ # Initialize progress on the report output
+ report_output.total = parts.count()
+ report_output.progress = 0
+ report_output.complete = False
+ report_output.save()
+
+ for part in parts:
# Is there a recent stock history record for this part?
- if part_models.PartStocktake.objects.filter(
- part=part, date__gte=today
- ).exists():
+ if (
+ generate_entry
+ and part_models.PartStocktake.objects.filter(
+ part=part, date__gte=today
+ ).exists()
+ ):
continue
- pricing = part.pricing
+ try:
+ pricing = part.pricing_data
+ except Exception:
+ pricing = None
# Fetch all 'in stock' items for this part
stock_items = part.stock_entries(
- in_stock=True, include_external=not exclude_external, include_variants=True
+ location=location,
+ in_stock=True,
+ include_external=not exclude_external,
+ include_variants=True,
)
total_cost_min = Money(0, base_currency)
@@ -56,23 +150,34 @@ def perform_stocktake() -> None:
total_quantity = 0
items_count = 0
+ if stock_items.count() == 0:
+ # No stock items - skip this part if location is specified
+ if location:
+ continue
+
for item in stock_items:
# Extract cost information
- entry_cost_min = pricing.overall_min or pricing.overall_max
- entry_cost_max = pricing.overall_max or pricing.overall_min
+ entry_cost_min = (
+ (pricing.overall_min or pricing.overall_max) if pricing else None
+ )
+ entry_cost_max = (
+ (pricing.overall_max or pricing.overall_min) if pricing else None
+ )
if item.purchase_price is not None:
entry_cost_min = item.purchase_price
entry_cost_max = item.purchase_price
try:
- entry_cost_min = (
- convert_money(entry_cost_min, base_currency) * item.quantity
- )
- entry_cost_max = (
- convert_money(entry_cost_max, base_currency) * item.quantity
- )
+ entry_cost_min = entry_cost_min * item.quantity
+ entry_cost_max = entry_cost_max * item.quantity
+
+ if entry_cost_min.currency != base_currency:
+ entry_cost_min = convert_money(entry_cost_min, base_currency)
+
+ if entry_cost_max.currency != base_currency:
+ entry_cost_max = convert_money(entry_cost_max, base_currency)
except Exception:
entry_cost_min = Money(0, base_currency)
entry_cost_max = Money(0, base_currency)
@@ -83,6 +188,13 @@ def perform_stocktake() -> None:
total_cost_min += entry_cost_min
total_cost_max += entry_cost_max
+ if report_output:
+ report_output.progress += 1
+
+ # Update report progress every few items, to avoid excessive database writes
+ if report_output.progress % 50 == 0:
+ report_output.save()
+
# Add a new stocktake entry for this part
history_entries.append(
part_models.PartStocktake(
@@ -94,11 +206,31 @@ def perform_stocktake() -> None:
)
)
- # Batch create stock history entries
- if len(history_entries) >= N_BULK_CREATE:
- part_models.PartStocktake.objects.bulk_create(history_entries)
- history_entries = []
-
- if len(history_entries) > 0:
- # Save any remaining stocktake entries
+ if generate_entry:
+ # Bulk-create PartStocktake entries
part_models.PartStocktake.objects.bulk_create(history_entries)
+
+ if report_output:
+ # Save report data, and mark as complete
+
+ today = current_date()
+
+ serializer = part_serializers.PartStocktakeSerializer(exclude_pk=True)
+
+ headers = serializer.generate_headers()
+
+ # Export the data to a file
+ dataset = tablib.Dataset(headers=list(headers.values()))
+
+ header_keys = list(headers.keys())
+
+ for entry in history_entries:
+ entry.date = today
+ row = serializer.to_representation(entry)
+ dataset.append([row.get(header, '') for header in header_keys])
+
+ datafile = dataset.export('csv')
+
+ report_output.mark_complete(
+ output=ContentFile(datafile, 'stocktake_report.csv')
+ )
diff --git a/src/backend/InvenTree/part/tasks.py b/src/backend/InvenTree/part/tasks.py
index a7008f7576..296604422b 100644
--- a/src/backend/InvenTree/part/tasks.py
+++ b/src/backend/InvenTree/part/tasks.py
@@ -12,6 +12,7 @@ from opentelemetry import trace
import common.currency
import common.notifications
+import InvenTree.helpers
import InvenTree.helpers_model
from common.settings import get_global_setting
from InvenTree.tasks import (
@@ -329,7 +330,7 @@ def scheduled_stocktake_reports():
threshold = datetime.now() - timedelta(days=delete_n_days)
old_entries = PartStocktake.objects.filter(date__lt=threshold)
- if old_entries.count() > 0:
+ if old_entries.exists():
logger.info('Deleting %s old stock entries', old_entries.count())
old_entries.delete()
diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py
index 224d0c6ab6..cc6317b930 100644
--- a/src/backend/InvenTree/part/test_api.py
+++ b/src/backend/InvenTree/part/test_api.py
@@ -74,7 +74,6 @@ class PartImageTestMixin:
{'image': img_file},
expected_code=200,
)
- print(response.data)
image_name = response.data['image']
self.assertTrue(image_name.startswith('/media/part_images/part_image'))
return image_name
@@ -111,7 +110,7 @@ class PartCategoryAPITest(InvenTreeAPITestCase):
url = reverse('api-part-category-list')
# star categories manually for tests as it is not possible with fixures
- # because the current user is not fixured itself and throws an invalid
+ # because the current user is not fixtured itself and throws an invalid
# foreign key constraint
for pk in [3, 4]:
PartCategory.objects.get(pk=pk).set_starred(self.user, True)
@@ -812,9 +811,14 @@ class PartAPITest(PartAPITestBase):
# Children of PartCategory<1>, do not cascade
response = self.get(url, {'parent': 1, 'cascade': 'false'})
-
self.assertEqual(len(response.data), 3)
+ # Children of PartCategory<7>, with or without cascade
+ # Only 1 child in either case
+ for cascade in ['true', 'false']:
+ response = self.get(url, {'parent': 7, 'cascade': cascade})
+ self.assertEqual(len(response.data), 1)
+
def test_add_categories(self):
"""Check that we can add categories."""
data = {'name': 'Animals', 'description': 'All animals go here'}
@@ -1644,7 +1648,7 @@ class PartCreationTests(PartAPITestBase):
self.assertEqual(cat.parameter_templates.count(), 3)
- # Creat a new Part, without copying category parameters
+ # Create a new Part, without copying category parameters
data = self.post(
reverse('api-part-list'),
{
@@ -1833,7 +1837,7 @@ class PartDetailTests(PartImageTestMixin, PartAPITestBase):
# Part should not have an image!
with self.assertRaises(ValueError):
- print(p.image.file)
+ _x = p.image.file
# Try to upload a non-image file
test_path = get_testfolder_dir() / 'dummy_image'
@@ -2314,7 +2318,7 @@ class PartAPIAggregationTest(InvenTreeAPITestCase):
self.assertEqual(data['allocated_to_build_orders'], 0)
self.assertEqual(data['allocated_to_sales_orders'], 0)
- # The unallocated stock count should equal the 'in stock' coutn
+ # The unallocated stock count should equal the 'in stock' count
in_stock = data['in_stock']
self.assertEqual(in_stock, 126)
self.assertEqual(data['unallocated_stock'], in_stock)
@@ -3175,65 +3179,6 @@ class PartInternalPriceBreakTest(InvenTreeAPITestCase):
p.refresh_from_db()
-class PartMetadataAPITest(InvenTreeAPITestCase):
- """Unit tests for the various metadata endpoints of API."""
-
- fixtures = [
- 'category',
- 'part',
- 'params',
- 'location',
- 'bom',
- 'company',
- 'test_templates',
- 'manufacturer_part',
- 'supplier_part',
- 'order',
- 'stock',
- ]
-
- roles = ['part.change', 'part_category.change']
-
- def metatester(self, apikey, model):
- """Generic tester."""
- modeldata = model.objects.first()
-
- # Useless test unless a model object is found
- self.assertIsNotNone(modeldata)
-
- url = reverse(apikey, kwargs={'pk': modeldata.pk})
-
- # Metadata is initially null
- self.assertIsNone(modeldata.metadata)
-
- numstr = randint(100, 900)
-
- self.patch(
- url,
- {'metadata': {f'abc-{numstr}': f'xyz-{apikey}-{numstr}'}},
- expected_code=200,
- )
-
- # Refresh
- modeldata.refresh_from_db()
- self.assertEqual(
- modeldata.get_metadata(f'abc-{numstr}'), f'xyz-{apikey}-{numstr}'
- )
-
- def test_metadata(self):
- """Test all endpoints."""
- for apikey, model in {
- 'api-part-category-parameter-metadata': PartCategoryParameterTemplate,
- 'api-part-category-metadata': PartCategory,
- 'api-part-test-template-metadata': PartTestTemplate,
- 'api-part-related-metadata': PartRelated,
- 'api-part-metadata': Part,
- 'api-bom-substitute-metadata': BomItemSubstitute,
- 'api-bom-item-metadata': BomItem,
- }.items():
- self.metatester(apikey, model)
-
-
class PartTestTemplateTest(PartAPITestBase):
"""API unit tests for the PartTestTemplate model."""
diff --git a/src/backend/InvenTree/part/test_notification_stale.py b/src/backend/InvenTree/part/test_notification_stale.py
index 86a4189a42..7999ab6ed5 100644
--- a/src/backend/InvenTree/part/test_notification_stale.py
+++ b/src/backend/InvenTree/part/test_notification_stale.py
@@ -50,8 +50,8 @@ class StaleStockNotificationTests(InvenTreeTestCase):
set_global_setting('STOCK_STALE_DAYS', 7, self.user)
# Clear notifications
- NotificationEntry.objects.all().delete() # type: ignore[attr-defined]
- NotificationMessage.objects.all().delete() # type: ignore[attr-defined]
+ NotificationEntry.objects.all().delete()
+ NotificationMessage.objects.all().delete()
def create_stock_items_with_expiry(self):
"""Create stock items with various expiry dates for testing."""
@@ -101,7 +101,7 @@ class StaleStockNotificationTests(InvenTreeTestCase):
part.tasks.notify_stale_stock(self.user, [])
# No notifications should be created
- self.assertEqual(NotificationMessage.objects.count(), 0) # type: ignore[attr-defined]
+ self.assertEqual(NotificationMessage.objects.count(), 0)
def test_notify_stale_stock_single_item(self):
"""Test notify_stale_stock with a single stale item."""
diff --git a/src/backend/InvenTree/part/test_part.py b/src/backend/InvenTree/part/test_part.py
index 5bb704a500..8bb2ca37e4 100644
--- a/src/backend/InvenTree/part/test_part.py
+++ b/src/backend/InvenTree/part/test_part.py
@@ -160,7 +160,7 @@ class PartTest(TestCase):
p = Part.objects.get(pk=1)
barcode = p.format_barcode()
- self.assertEqual(barcode, '{"part": 1}')
+ self.assertEqual(barcode, 'INV-PA1')
def test_str(self):
"""Test string representation of a Part."""
@@ -248,7 +248,7 @@ class PartTest(TestCase):
def test_barcode(self):
"""Test barcode format functionality."""
barcode = self.r1.format_barcode()
- self.assertEqual('{"part": 3}', barcode)
+ self.assertEqual('INV-PA3', barcode)
def test_sell_pricing(self):
"""Check that the sell pricebreaks were loaded."""
diff --git a/src/backend/InvenTree/plugin/api.py b/src/backend/InvenTree/plugin/api.py
index 8585a37275..91580062b3 100644
--- a/src/backend/InvenTree/plugin/api.py
+++ b/src/backend/InvenTree/plugin/api.py
@@ -17,7 +17,7 @@ from rest_framework.views import APIView
import InvenTree.permissions
import plugin.serializers as PluginSerializers
-from InvenTree.api import MetadataView
+from InvenTree.api import meta_path
from InvenTree.filters import SEARCH_ORDER_FILTER
from InvenTree.helpers import str2bool
from InvenTree.mixins import (
@@ -509,11 +509,11 @@ class RegistryStatusView(APIView):
return Response(result)
-class PluginMetadataView(MetadataView):
- """Metadata API endpoint for the PluginConfig model."""
+# class PluginMetadataView(MetadataView):
+# """Metadata API endpoint for the PluginConfig model."""
- lookup_field = 'key'
- lookup_url_kwarg = 'plugin'
+# lookup_field = 'key'
+# lookup_url_kwarg = 'plugin'
plugin_api_urls = [
@@ -576,12 +576,8 @@ plugin_api_urls = [
),
]),
),
- path(
- 'metadata/',
- PluginMetadataView.as_view(
- model=PluginConfig, lookup_field='key'
- ),
- name='api-plugin-metadata',
+ meta_path(
+ PluginConfig, lookup_field='key', lookup_field_ref='plugin'
),
path(
'activate/',
diff --git a/src/backend/InvenTree/plugin/base/barcodes/api.py b/src/backend/InvenTree/plugin/base/barcodes/api.py
index 06640bc453..c67a9bed2b 100644
--- a/src/backend/InvenTree/plugin/base/barcodes/api.py
+++ b/src/backend/InvenTree/plugin/base/barcodes/api.py
@@ -93,7 +93,8 @@ class BarcodeView(CreateAPIView):
if num_scans > max_scans:
n = num_scans - max_scans
old_scan_ids = list(
- BarcodeScanResult.objects.all()
+ BarcodeScanResult.objects
+ .all()
.order_by('timestamp')
.values_list('pk', flat=True)[:n]
)
diff --git a/src/backend/InvenTree/plugin/base/barcodes/mixins.py b/src/backend/InvenTree/plugin/base/barcodes/mixins.py
index 2b38ef4972..c744cc04f2 100644
--- a/src/backend/InvenTree/plugin/base/barcodes/mixins.py
+++ b/src/backend/InvenTree/plugin/base/barcodes/mixins.py
@@ -60,7 +60,7 @@ class BarcodeMixin:
"""Does this plugin support barcode generation."""
try:
# Attempt to call the generate method
- self.generate(None) # type: ignore
+ self.generate(None)
except NotImplementedError:
# If a NotImplementedError is raised, then barcode generation is not supported
return False
@@ -191,7 +191,8 @@ class SupplierBarcodeMixin(BarcodeMixin):
q1 = Q(manufacturer=supplier)
# Case 2: Supplied by this supplier
m = (
- SupplierPart.objects.filter(supplier=supplier)
+ SupplierPart.objects
+ .filter(supplier=supplier)
.values_list('manufacturer_part', flat=True)
.distinct()
)
diff --git a/src/backend/InvenTree/plugin/base/barcodes/test_barcode.py b/src/backend/InvenTree/plugin/base/barcodes/test_barcode.py
index 9538ee7c88..cec6fc68ad 100644
--- a/src/backend/InvenTree/plugin/base/barcodes/test_barcode.py
+++ b/src/backend/InvenTree/plugin/base/barcodes/test_barcode.py
@@ -178,7 +178,7 @@ class BarcodeAPITest(InvenTreeAPITestCase):
item = StockItem.objects.get(pk=522)
data = self.generateBarcode('stockitem', item.pk, expected_code=200).data
- self.assertEqual(data['barcode'], '{"stockitem": 522}')
+ self.assertEqual(data['barcode'], 'INV-SI522')
def test_barcode_generation_invalid(self):
"""Test barcode generation for invalid model/pk."""
diff --git a/src/backend/InvenTree/plugin/base/integration/AppMixin.py b/src/backend/InvenTree/plugin/base/integration/AppMixin.py
index 532cc2578e..b3690afee1 100644
--- a/src/backend/InvenTree/plugin/base/integration/AppMixin.py
+++ b/src/backend/InvenTree/plugin/base/integration/AppMixin.py
@@ -113,9 +113,14 @@ class AppMixin:
break
# unregister the models (yes, models are just kept in multilevel dicts)
+ # Note: Django registers models under the app_label (app_name),
+ # not the full dotted plugin_path. For plugins with nested module
+ # paths (e.g. "myplugin.myplugin"), plugin_path != app_name, so
+ # using plugin_path here would look up the wrong key in the
+ # defaultdict and raise KeyError on .pop().
for model in models:
# remove model from general registry
- apps.all_models[plugin_path].pop(model)
+ apps.all_models[app_name].pop(model, None)
# clear the registry for that app
# so that the import trick will work on reloading the same plugin
diff --git a/src/backend/InvenTree/plugin/base/integration/DataExport.py b/src/backend/InvenTree/plugin/base/integration/DataExport.py
index dc46aa449c..97d38ec493 100644
--- a/src/backend/InvenTree/plugin/base/integration/DataExport.py
+++ b/src/backend/InvenTree/plugin/base/integration/DataExport.py
@@ -90,6 +90,7 @@ class DataExportMixin:
headers: OrderedDict,
context: dict,
output: DataOutput,
+ serializer_context: Optional[dict] = None,
**kwargs,
) -> list:
"""Export data from the queryset.
@@ -100,6 +101,7 @@ class DataExportMixin:
Arguments:
queryset: The queryset to export
serializer_class: The serializer class to use for exporting the data
+ serializer_context: Optional context for the serializer
headers: The headers for the export
context: Any custom context for the export (provided by the plugin serializer)
output: The DataOutput object for the export
@@ -107,7 +109,9 @@ class DataExportMixin:
Returns: The exported data (a list of dict objects)
"""
# The default implementation simply serializes the queryset
- return serializer_class(queryset, many=True, exporting=True).data
+ return serializer_class(
+ queryset, many=True, exporting=True, context=serializer_context or {}
+ ).data
def get_export_options_serializer(self, **kwargs) -> serializers.Serializer | None:
"""Return a serializer class with dynamic export options for this plugin.
diff --git a/src/backend/InvenTree/plugin/base/integration/test_mixins.py b/src/backend/InvenTree/plugin/base/integration/test_mixins.py
index a5495fb04f..4cf7e34714 100644
--- a/src/backend/InvenTree/plugin/base/integration/test_mixins.py
+++ b/src/backend/InvenTree/plugin/base/integration/test_mixins.py
@@ -1,5 +1,8 @@
"""Unit tests for base mixins for plugins."""
+from collections import OrderedDict, defaultdict
+from unittest.mock import MagicMock, patch
+
from django.conf import settings
from django.test import TestCase
from django.urls import include, path, re_path
@@ -145,6 +148,56 @@ class AppMixinTest(BaseMixinDefinition, TestCase):
"""Test that the sample plugin registers in settings."""
self.assertIn('plugin.samples.integration', settings.INSTALLED_APPS)
+ def test_deactivate_nested_plugin_path(self):
+ """Test that _deactivate_mixin uses app_name (not plugin_path) for model deregistration.
+
+ External plugins with nested module paths (e.g. "purchase_quotation.purchase_quotation")
+ have plugin_path != app_name. Django registers models under app_name (the last component),
+ so using the full plugin_path to look up apps.all_models would access the wrong key
+ in the defaultdict and raise KeyError on .pop().
+ """
+ # Simulate a nested plugin path like an external plugin installed via:
+ # entry_points={"inventree_plugins": [
+ # "PurchaseQuotationPlugin = purchase_quotation.plugin:PurchaseQuotationPlugin"
+ # ]}
+ # where the package structure is purchase_quotation/purchase_quotation/
+ nested_plugin_path = 'purchase_quotation.purchase_quotation'
+ app_name = 'purchase_quotation' # Django registers models under this
+
+ # Set up a mock registry with the nested plugin path
+ mock_registry = MagicMock()
+ mock_registry.installed_apps = [nested_plugin_path]
+
+ # Create a fake model
+ mock_model = MagicMock()
+ mock_model._meta.model_name = 'purchasequotation'
+
+ # Create a mock app_config that returns our fake model
+ mock_app_config = MagicMock()
+ mock_app_config.get_models.return_value = [mock_model]
+
+ # Set up apps.all_models with the model registered under app_name
+ # (this is how Django actually stores it)
+ fake_all_models = defaultdict(OrderedDict)
+ fake_all_models[app_name]['purchasequotation'] = mock_model
+
+ with (
+ patch(
+ 'plugin.base.integration.AppMixin.apps.get_app_config',
+ return_value=mock_app_config,
+ ),
+ patch('plugin.base.integration.AppMixin.apps.all_models', fake_all_models),
+ ):
+ # This should NOT raise KeyError - the fix ensures we use
+ # app_name (the last path component) instead of the full plugin_path
+ AppMixin._deactivate_mixin(mock_registry, force_reload=False)
+
+ # Verify the model was removed from the registry
+ self.assertNotIn('purchasequotation', fake_all_models.get(app_name, {}))
+ # Verify the full nested path was NOT used as a key
+ # (defaultdict would have created an empty entry if accessed)
+ self.assertNotIn(nested_plugin_path, fake_all_models)
+
class NavigationMixinTest(BaseMixinDefinition, TestCase):
"""Tests for NavigationMixin."""
diff --git a/src/backend/InvenTree/plugin/base/supplier/api.py b/src/backend/InvenTree/plugin/base/supplier/api.py
index 7dc6c6045b..3c288a238d 100644
--- a/src/backend/InvenTree/plugin/base/supplier/api.py
+++ b/src/backend/InvenTree/plugin/base/supplier/api.py
@@ -184,10 +184,10 @@ class ImportPart(APIView):
import_data, part=part, manufacturer_part=manufacturer_part
)
- # set default supplier if not set
+ # Set as primary supplier if not already set
if not part.default_supplier:
- part.default_supplier = supplier_part
- part.save()
+ supplier_part.primary = True
+ supplier_part.save()
# get pricing
pricing = supplier_plugin.get_pricing_data(import_data)
diff --git a/src/backend/InvenTree/plugin/base/supplier/mixins.py b/src/backend/InvenTree/plugin/base/supplier/mixins.py
index 6542989a64..56e924f061 100644
--- a/src/backend/InvenTree/plugin/base/supplier/mixins.py
+++ b/src/backend/InvenTree/plugin/base/supplier/mixins.py
@@ -109,8 +109,8 @@ class SupplierMixin(SettingsMixin, Generic[PartData]):
*,
part: part_models.Part,
manufacturer_part: company.models.ManufacturerPart,
- ) -> part_models.SupplierPart:
- """Import a supplier part using the provided data.
+ ) -> company.models.SupplierPart:
+ """Import a SupplierPart using the provided data.
This may include:
- Creating a new supplier part
@@ -161,7 +161,7 @@ class SupplierMixin(SettingsMixin, Generic[PartData]):
# assign parent_part to root_part if root_part has no variant of already
if root_part and not root_part.is_template and not root_part.variant_of:
- root_part.variant_of = parent_part # type: ignore
+ root_part.variant_of = parent_part
root_part.save()
return parent_part
diff --git a/src/backend/InvenTree/plugin/base/ui/mixins.py b/src/backend/InvenTree/plugin/base/ui/mixins.py
index cbffd1fb9a..4ab84ef6ca 100644
--- a/src/backend/InvenTree/plugin/base/ui/mixins.py
+++ b/src/backend/InvenTree/plugin/base/ui/mixins.py
@@ -83,7 +83,7 @@ class UserInterfaceMixin:
def __init__(self):
"""Register mixin."""
super().__init__()
- self.add_mixin(PluginMixinEnum.USER_INTERFACE, True, __class__) # type: ignore
+ self.add_mixin(PluginMixinEnum.USER_INTERFACE, True, __class__)
def get_ui_features(
self, feature_type: FeatureType, context: dict, request: Request, **kwargs
diff --git a/src/backend/InvenTree/plugin/broken/broken_file.py b/src/backend/InvenTree/plugin/broken/broken_file.py
index 83437025cf..f56932e876 100644
--- a/src/backend/InvenTree/plugin/broken/broken_file.py
+++ b/src/backend/InvenTree/plugin/broken/broken_file.py
@@ -7,4 +7,4 @@ class BrokenFileIntegrationPlugin(InvenTreePlugin):
"""An very broken plugin."""
-aaa = bb # noqa: F821 # type: ignore[unresolved-reference]
+aaa = bb # noqa: F821
diff --git a/src/backend/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/src/backend/InvenTree/plugin/builtin/barcodes/inventree_barcode.py
index 224885813d..10cf3189c8 100644
--- a/src/backend/InvenTree/plugin/builtin/barcodes/inventree_barcode.py
+++ b/src/backend/InvenTree/plugin/builtin/barcodes/inventree_barcode.py
@@ -26,7 +26,7 @@ class InvenTreeInternalBarcodePlugin(SettingsMixin, BarcodeMixin, InvenTreePlugi
NAME = 'InvenTreeBarcode'
TITLE = _('InvenTree Barcodes')
DESCRIPTION = _('Provides native support for barcodes')
- VERSION = '2.1.0'
+ VERSION = '2.2.0'
AUTHOR = _('InvenTree contributors')
SETTINGS = {
@@ -37,7 +37,7 @@ class InvenTreeInternalBarcodePlugin(SettingsMixin, BarcodeMixin, InvenTreePlugi
('json', _('JSON barcodes (human readable)')),
('short', _('Short barcodes (space optimized)')),
],
- 'default': 'json',
+ 'default': 'short',
},
'SHORT_BARCODE_PREFIX': {
'name': _('Short Barcode Prefix'),
diff --git a/src/backend/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py b/src/backend/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py
index 4d6ad741aa..1dc1eb90b2 100644
--- a/src/backend/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py
+++ b/src/backend/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py
@@ -355,14 +355,16 @@ class TestInvenTreeBarcode(InvenTreeAPITestCase):
def test_generation_inventree_json(self):
"""Test JSON barcode generation."""
+ self.set_plugin_setting('INTERNAL_BARCODE_FORMAT', 'json')
item = stock.models.StockLocation.objects.get(pk=5)
data = self.generate('stocklocation', item.pk, expected_code=200).data
self.assertEqual(data['barcode'], '{"stocklocation": 5}')
- def test_generation_inventree_short(self):
- """Test short barcode generation."""
+ # Revert to default setting
self.set_plugin_setting('INTERNAL_BARCODE_FORMAT', 'short')
+ def test_generation_inventree_short(self):
+ """Test short barcode generation."""
item = stock.models.StockLocation.objects.get(pk=5)
# test with default prefix
@@ -376,4 +378,3 @@ class TestInvenTreeBarcode(InvenTreeAPITestCase):
self.assertEqual(data['barcode'], f'{prefix}SL5')
self.set_plugin_setting('SHORT_BARCODE_PREFIX', 'INV-')
- self.set_plugin_setting('INTERNAL_BARCODE_FORMAT', 'json')
diff --git a/src/backend/InvenTree/plugin/builtin/integration/core_notifications.py b/src/backend/InvenTree/plugin/builtin/integration/core_notifications.py
index 3634c2b3e0..a35df5739d 100644
--- a/src/backend/InvenTree/plugin/builtin/integration/core_notifications.py
+++ b/src/backend/InvenTree/plugin/builtin/integration/core_notifications.py
@@ -128,7 +128,7 @@ class InvenTreeSlackNotifications(NotificationMixin, SettingsMixin, InvenTreePlu
SETTINGS = {
'NOTIFICATION_SLACK_URL': {
- 'name': _('Slack incoming webhook url'),
+ 'name': _('Slack incoming webhook URL'),
'description': _('URL that is used to send messages to a slack channel'),
'protected': True,
}
diff --git a/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py b/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py
index 2fece00a05..42657d617c 100644
--- a/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py
+++ b/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py
@@ -143,9 +143,11 @@ class InvenTreeLabelPlugin(LabelPrintingMixin, InvenTreePlugin):
last_used_printers = get_last_used_printers(user)[::-1]
machines = sorted(
machines,
- key=lambda m: last_used_printers.index(str(m.pk))
- if str(m.pk) in last_used_printers
- else -1,
+ key=lambda m: (
+ last_used_printers.index(str(m.pk))
+ if str(m.pk) in last_used_printers
+ else -1
+ ),
reverse=True,
)
diff --git a/src/backend/InvenTree/plugin/helpers.py b/src/backend/InvenTree/plugin/helpers.py
index cd62e849f7..06de01d06b 100644
--- a/src/backend/InvenTree/plugin/helpers.py
+++ b/src/backend/InvenTree/plugin/helpers.py
@@ -192,7 +192,7 @@ def get_modules(pkg, path=None):
if sys.version_info < (3, 12):
module = finder.find_module(name).load_module(name)
else:
- spec = finder.find_spec(name)
+ spec = finder.find_spec(name) # type: ignore[missing-argument]
module = module_from_spec(spec)
sys.modules[name] = module
spec.loader.exec_module(module)
diff --git a/src/backend/InvenTree/plugin/migrations/0001_initial.py b/src/backend/InvenTree/plugin/migrations/0001_initial.py
index 1dd7032f69..bdaa89afc1 100644
--- a/src/backend/InvenTree/plugin/migrations/0001_initial.py
+++ b/src/backend/InvenTree/plugin/migrations/0001_initial.py
@@ -16,7 +16,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.CharField(help_text='Key of plugin', max_length=255, unique=True, verbose_name='Key')),
- ('name', models.CharField(blank=True, help_text='PluginName of the plugin', max_length=255, null=True, verbose_name='Name')),
+ ('name', models.CharField(blank=True, help_text='Name of the plugin', max_length=255, null=True, verbose_name='Name')),
('active', models.BooleanField(default=False, help_text='Is the plugin active', verbose_name='Active')),
],
),
diff --git a/src/backend/InvenTree/plugin/models.py b/src/backend/InvenTree/plugin/models.py
index 06923f5ba7..bed2d80c8b 100644
--- a/src/backend/InvenTree/plugin/models.py
+++ b/src/backend/InvenTree/plugin/models.py
@@ -24,7 +24,7 @@ class PluginConfig(InvenTree.models.MetadataMixin, models.Model):
Attributes:
key: slug of the plugin (this must be unique across all installed plugins!)
- name: PluginName of the plugin - serves for a manual double check if the right plugin is used
+ name: Name of the plugin - serves for a manual double check if the right plugin is used
active: Should the plugin be loaded?
"""
@@ -52,7 +52,7 @@ class PluginConfig(InvenTree.models.MetadataMixin, models.Model):
blank=True,
max_length=255,
verbose_name=_('Name'),
- help_text=_('PluginName of the plugin'),
+ help_text=_('Name of the plugin'),
)
package_name = models.CharField(
diff --git a/src/backend/InvenTree/plugin/plugin.py b/src/backend/InvenTree/plugin/plugin.py
index 558ca3edf8..2b3f5396af 100644
--- a/src/backend/InvenTree/plugin/plugin.py
+++ b/src/backend/InvenTree/plugin/plugin.py
@@ -1,14 +1,17 @@
"""Base Class for InvenTree plugins."""
import inspect
+import json
+import re
import warnings
from datetime import datetime
-from distutils.sysconfig import get_python_lib # type: ignore[import]
+from distutils.sysconfig import get_python_lib # type: ignore[unresolved-import]
from importlib.metadata import PackageNotFoundError, metadata
from pathlib import Path
from typing import Optional
from django.conf import settings
+from django.contrib.staticfiles.storage import StaticFilesStorage
from django.utils.text import slugify
from django.utils.translation import gettext_lazy as _
@@ -92,16 +95,16 @@ class MetaBase:
TITLE = None
@mark_final
- def get_meta_value(self, key: str, old_key: Optional[str] = None, __default=None):
+ def get_meta_value(self, key: str, old_key: Optional[str] = None, default=None):
"""Reference a meta item with a key.
Args:
key (str): key for the value
old_key (str, optional): deprecated key - will throw warning
- __default (optional): Value if nothing with key can be found. Defaults to None.
+ default (optional): Value if nothing with key can be found. Defaults to None.
Returns:
- Value referenced with key, old_key or __default if set and not value found
+ Value referenced with key, old_key or default if set and not value found
"""
value = getattr(self, key, None)
@@ -117,9 +120,9 @@ class MetaBase:
stacklevel=2,
)
- # Use __default if still nothing set
- if (value is None) and __default:
- return __default
+ # Use default if still nothing set
+ if value is None and default is not None:
+ return default
return value
@mark_final
@@ -578,35 +581,119 @@ class InvenTreePlugin(VersionMixin, MixinBase, MetaBase):
# endregion
+ def get_static_path(self) -> list[str]:
+ """Return the path components to the plugin's static files."""
+ return ['plugins', self.slug]
+
+ def hashed_file_lookup(self, *args) -> str | None:
+ """Find a hashed version of the given file, if it exists.
+
+ This is used to support cache busting for static files.
+
+ Arguments:
+ *args: Path components to the static file (e.g. 'js', 'admin.js')
+
+ Returns:
+ str: Path to the hashed version of the file if it exists, else None
+ """
+ storage = StaticFilesStorage()
+
+ # First, try to find a manifest file which maps original filenames to hashed filenames
+ # We only support vite manifest files - as generated by the plugin creator framework
+ manifest_file = str(Path(*self.get_static_path(), '.vite', 'manifest.json'))
+
+ if not storage.exists(manifest_file):
+ return None
+
+ # Read the contents of the manifest file
+ try:
+ with storage.open(manifest_file) as f:
+ manifest = json.load(f)
+ except json.JSONDecodeError:
+ logger.error(f"Failed to parse manifest file for plugin '{self.SLUG}'")
+ return None
+
+ # Find the entry associated with the requested file
+ # Remove the file extension, as the manifest may contain hashed files with different extensions (e.g. .js, .css)
+ filename = str(args[-1] or '').split('.')[0]
+ pattern = re.compile(rf'{re.escape(filename)}\.(js|jsx|tsx)')
+
+ for key, value in manifest.items():
+ if re.search(pattern, key):
+ return value.get('file')
+
+ return None
+
@mark_final
- def plugin_static_file(self, *args) -> str:
+ def plugin_static_file(
+ self, *args, check_exists: bool = True, check_hash: bool = True
+ ) -> str:
"""Construct a path to a static file within the plugin directory.
+ Arguments:
+ *args: Path components to the static file (e.g. 'js', 'admin.js')
+ check_exists: If True, will check if the file actually exists on disk
+ check_hash: If True, will fallback to checking if the file has a hash in its name (for cache busting)
+
- This will return a URL can be used to access the static file
- The path is constructed using the STATIC_URL setting and the plugin slug
- Note: If the plugin is selected for "development" mode, the path will point to a vite server URL
+ Hash Checking:
+
+ - Plugins may distribute static files with a hash in the filename for cache busting purposes (e.g. 'file-abc123.js').
+ - If available, this file is priorities, and the non-hashed version is ignored.
+ - If no hashed file is available, the non-hashed version will be used (if it exists).
+ - If check_hash is False, the non-hashed version of the file will be used (even if a hashed version exists).
+
"""
- import os
-
from django.conf import settings
+ from django.contrib.staticfiles.storage import StaticFilesStorage
+ # If the plugin is selected for development mode, use the development host
+ # This allows the plugin developer to run a local vite server and have the plugin load files directly from that server
if (
settings.DEBUG
and settings.PLUGIN_DEV_HOST
and settings.PLUGIN_DEV_SLUG
and self.SLUG == settings.PLUGIN_DEV_SLUG
):
- # If the plugin is selected for development mode, use the development host
pathname = '/'.join(list(args))
url = f'{settings.PLUGIN_DEV_HOST}/src/{pathname}'
url = url.replace('.js', '.tsx')
- else:
- # Otherwise, construct the URL using the STATIC_URL setting
- url = os.path.join(settings.STATIC_URL, 'plugins', self.SLUG, *args)
+ return url
- if not url.startswith('/'):
- url = '/' + url
+ storage = StaticFilesStorage()
+
+ file_name = args[-1] or ''
+
+ # The file may be specified with a function, e.g. 'file.js:renderFunction'
+ if ':' in file_name:
+ file_name, function_name = file_name.split(':')[:2]
+ else:
+ function_name = ''
+
+ # Determine the preceding path to the file (if any)
+ file_path = args[:-1]
+
+ # If enabled, check for a hashed version of the file
+ if check_hash:
+ file_name = self.hashed_file_lookup(*file_path, file_name) or file_name
+
+ full_path = str(Path(*self.get_static_path(), *file_path, file_name))
+
+ if check_exists:
+ if not storage.exists(full_path):
+ logger.error(
+ f"Static file not found for plugin '{self.SLUG}': {full_path}"
+ )
+
+ # Resolve the URL to the static file
+ url = storage.url(full_path)
+
+ # Re-append the function name (if provided)
+ if function_name:
+ url += f':{function_name}'
return url
diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py
index 9d92637bba..af4bf49d02 100644
--- a/src/backend/InvenTree/plugin/registry.py
+++ b/src/backend/InvenTree/plugin/registry.py
@@ -473,12 +473,19 @@ class PluginsRegistry:
# Ensure that each loaded plugin has a valid configuration object in the database
for plugin in self.plugins.values():
- config = self.get_plugin_config(plugin.slug)
+ if config := self.get_plugin_config(plugin.slug):
+ # Ensure mandatory plugins are marked as active
+ if config.is_mandatory() and not config.active:
+ config.active = True
- # Ensure mandatory plugins are marked as active
- if config.is_mandatory() and not config.active:
- config.active = True
- config.save(no_reload=True)
+ try:
+ config.save(no_reload=True)
+ except (OperationalError, ProgrammingError):
+ # Database is not ready, cannot save config
+ logger.warning(
+ "Database not ready - cannot set mandatory flag for plugin '%s'",
+ plugin.slug,
+ )
except Exception as e:
logger.exception('Unexpected error during plugin reload: %s', e)
@@ -774,9 +781,9 @@ class PluginsRegistry:
f"Plugin '{p}' is not compatible with the current InvenTree version {v}"
)
if v := plg_i.MIN_VERSION:
- _msg += _(f'Plugin requires at least version {v}') # type: ignore[unsupported-operator]
+ _msg += _(f'Plugin requires at least version {v}') # ty:ignore[unsupported-operator]
if v := plg_i.MAX_VERSION:
- _msg += _(f'Plugin requires at most version {v}') # type: ignore[unsupported-operator]
+ _msg += _(f'Plugin requires at most version {v}') # ty:ignore[unsupported-operator]
# Log to error stack
log_registry_error(_msg, reference=f'{p}:init_plugin')
else:
diff --git a/src/backend/InvenTree/plugin/samples/integration/validation_sample.py b/src/backend/InvenTree/plugin/samples/integration/validation_sample.py
index 7a8592f25d..726201668e 100644
--- a/src/backend/InvenTree/plugin/samples/integration/validation_sample.py
+++ b/src/backend/InvenTree/plugin/samples/integration/validation_sample.py
@@ -68,7 +68,7 @@ class SampleValidatorPlugin(SettingsMixin, ValidationMixin, InvenTreePlugin):
if isinstance(instance, part.models.BomItem):
if self.get_setting('BOM_ITEM_INTEGER'):
- if float(instance.quantity) != int(instance.quantity):
+ if float(instance.quantity) != int(instance.quantity): # noqa: RUF069
self.raise_error({
'quantity': 'Bom item quantity must be an integer'
})
diff --git a/src/backend/InvenTree/plugin/samples/supplier/supplier_sample.py b/src/backend/InvenTree/plugin/samples/supplier/supplier_sample.py
index 9fe6d8ea00..4ea7d761b8 100644
--- a/src/backend/InvenTree/plugin/samples/supplier/supplier_sample.py
+++ b/src/backend/InvenTree/plugin/samples/supplier/supplier_sample.py
@@ -1,5 +1,7 @@
"""Sample supplier plugin."""
+from django.conf import settings
+
from company.models import Company, ManufacturerPart, SupplierPart, SupplierPriceBreak
from part.models import Part
from plugin.mixins import SupplierMixin, supplier
@@ -13,7 +15,16 @@ class SampleSupplierPlugin(SupplierMixin, InvenTreePlugin):
SLUG = 'samplesupplier'
TITLE = 'My sample supplier plugin'
- VERSION = '0.0.1'
+ VERSION = '0.0.2'
+
+ SETTINGS = {
+ 'DOWNLOAD_IMAGES': {
+ 'name': 'Download part images',
+ 'description': 'Enable downloading of part images during import (not recommended during testing)',
+ 'validator': bool,
+ 'default': False,
+ }
+ }
def __init__(self):
"""Initialize the sample supplier plugin."""
@@ -108,7 +119,12 @@ class SampleSupplierPlugin(SupplierMixin, InvenTreePlugin):
# If the part was created, set additional fields
if created:
- if data['image_url']:
+ # Prevent downloading images during testing, as this can lead to unreliable tests
+ if (
+ data['image_url']
+ and not settings.TESTING
+ and self.get_setting('DOWNLOAD_IMAGES')
+ ):
file, fmt = self.download_image(data['image_url'])
filename = f'part_{part.pk}_image.{fmt.lower()}'
part.image.save(filename, file)
@@ -136,7 +152,7 @@ class SampleSupplierPlugin(SupplierMixin, InvenTreePlugin):
# after the template part was created, we need to refresh the part from the db because its tree id may have changed
# which results in an error if saved directly
part.refresh_from_db()
- part.variant_of = parent_part # type: ignore
+ part.variant_of = parent_part
part.save()
return part
diff --git a/src/backend/InvenTree/plugin/serializers.py b/src/backend/InvenTree/plugin/serializers.py
index 88fc9f7746..5fbff385b4 100644
--- a/src/backend/InvenTree/plugin/serializers.py
+++ b/src/backend/InvenTree/plugin/serializers.py
@@ -149,7 +149,7 @@ class PluginConfigInstallSerializer(serializers.Serializer):
if not data.get('confirm'):
raise ValidationError({'confirm': _('Installation not confirmed')})
if (not data.get('url')) and (not data.get('packagename')):
- msg = _('Either packagename of URL must be provided')
+ msg = _('Either packagename or URL must be provided')
raise ValidationError({'url': msg, 'packagename': msg})
return data
diff --git a/src/backend/InvenTree/plugin/test_api.py b/src/backend/InvenTree/plugin/test_api.py
index 424067b8e4..ca6c312670 100644
--- a/src/backend/InvenTree/plugin/test_api.py
+++ b/src/backend/InvenTree/plugin/test_api.py
@@ -17,7 +17,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase):
def setUp(self):
"""Setup for all tests."""
- self.MSG_NO_PKG = 'Either packagename of URL must be provided'
+ self.MSG_NO_PKG = 'Either packagename or URL must be provided'
self.PKG_NAME = 'inventree-brother-plugin'
self.PKG_URL = 'git+https://github.com/inventree/inventree-brother-plugin'
@@ -470,8 +470,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase):
cfg = PluginConfig.objects.filter(key='sample').first()
self.assertIsNotNone(cfg)
- url = reverse('api-plugin-metadata', kwargs={'plugin': cfg.key})
- self.get(url, expected_code=200)
+ self.get(f'/api/plugins/{cfg.key}/metadata/', expected_code=200, follow=True)
def test_settings(self):
"""Test settings endpoint for plugin."""
diff --git a/src/backend/InvenTree/plugin/test_plugin.py b/src/backend/InvenTree/plugin/test_plugin.py
index cdabd46477..2d7c3eba04 100644
--- a/src/backend/InvenTree/plugin/test_plugin.py
+++ b/src/backend/InvenTree/plugin/test_plugin.py
@@ -209,6 +209,54 @@ class InvenTreePluginTests(TestCase):
if plug:
self.assertEqual(plug.is_active(), False)
+ def test_plugin_static_file_lookup(self):
+ """Test that the plugin static file lookup works as expected."""
+ from django.contrib.staticfiles.storage import StaticFilesStorage
+ from django.core.files.base import ContentFile
+
+ # Create a sample plugin with a known static file
+ class StaticFilePlugin(InvenTreePlugin):
+ NAME = 'StaticFilePlugin'
+ SLUG = 'static-file-test'
+
+ def get_static_file_url(self, file_name):
+ return self.get_plugin_static_file(file_name)
+
+ plugin = StaticFilePlugin()
+ storage = StaticFilesStorage()
+
+ # A simple test to ensure the path is correctly resolved
+ self.assertEqual(
+ plugin.plugin_static_file(
+ 'sample.js', check_exists=False, check_hash=False
+ ),
+ storage.url('plugins/static-file-test/sample.js'),
+ )
+
+ manifest_path = 'plugins/static-file-test/.vite/manifest.json'
+
+ manifest_data = textwrap.dedent("""{
+ "src/sample.js": {
+ "file": "sample.123456.js",
+ "name": "sample",
+ "src": "src/sample.js",
+ "isEntry": true
+ }
+ }""")
+
+ # A more comprehensive test - to find a hashed version of the file
+ # Note: This requires a manifest file to be present - let's create one
+ if not storage.exists(manifest_path):
+ storage.save(manifest_path, content=ContentFile(manifest_data))
+
+ lookup = plugin.plugin_static_file(
+ 'sample.js', check_exists=False, check_hash=True
+ )
+
+ self.assertEqual(
+ lookup, storage.url('plugins/static-file-test/sample.123456.js')
+ )
+
class RegistryTests(TestQueryMixin, PluginRegistryMixin, TestCase):
"""Tests for registry loading methods."""
@@ -254,7 +302,7 @@ class RegistryTests(TestQueryMixin, PluginRegistryMixin, TestCase):
def test_folder_loading(self):
"""Test that plugins in folders outside of BASE_DIR get loaded."""
# Run in temporary directory -> always a new random name
- with tempfile.TemporaryDirectory() as tmp: # type: ignore[no-matching-overload]
+ with tempfile.TemporaryDirectory() as tmp:
# Fill directory with sample data
new_dir = Path(tmp).joinpath('mock')
shutil.copytree(self.mockDir(), new_dir)
diff --git a/src/backend/InvenTree/report/api.py b/src/backend/InvenTree/report/api.py
index d54ea59d96..a02bfe74ae 100644
--- a/src/backend/InvenTree/report/api.py
+++ b/src/backend/InvenTree/report/api.py
@@ -18,7 +18,7 @@ import report.models
import report.serializers
from common.models import DataOutput
from common.serializers import DataOutputSerializer
-from InvenTree.api import MetadataView
+from InvenTree.api import meta_path
from InvenTree.filters import InvenTreeSearchFilter
from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI
from plugin import PluginMixinEnum
@@ -356,11 +356,7 @@ label_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=report.models.LabelTemplate),
- name='api-label-template-metadata',
- ),
+ meta_path(report.models.LabelTemplate),
path(
'',
LabelTemplateDetail.as_view(),
@@ -383,11 +379,7 @@ report_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=report.models.ReportTemplate),
- name='api-report-template-metadata',
- ),
+ meta_path(report.models.ReportTemplate),
path(
'',
ReportTemplateDetail.as_view(),
diff --git a/src/backend/InvenTree/report/apps.py b/src/backend/InvenTree/report/apps.py
index 534c239546..0ef083f38c 100644
--- a/src/backend/InvenTree/report/apps.py
+++ b/src/backend/InvenTree/report/apps.py
@@ -7,6 +7,7 @@ from django.apps import AppConfig
from django.core.exceptions import AppRegistryNotReady, ValidationError
from django.core.files.base import ContentFile
from django.core.files.storage import default_storage
+from django.db import transaction
from django.db.utils import IntegrityError, OperationalError, ProgrammingError
import structlog
@@ -160,9 +161,10 @@ class ReportConfig(AppConfig):
# Otherwise, create a new entry
try:
# Create a new entry
- report.models.LabelTemplate.objects.create(
- **template, template=self.file_from_template('label', filename)
- )
+ with transaction.atomic():
+ report.models.LabelTemplate.objects.create(
+ **template, template=self.file_from_template('label', filename)
+ )
logger.info("Creating new label template: '%s'", template['name'])
except ValidationError:
logger.warning(
diff --git a/src/backend/InvenTree/report/models.py b/src/backend/InvenTree/report/models.py
index 677500ea3b..8ab0168899 100644
--- a/src/backend/InvenTree/report/models.py
+++ b/src/backend/InvenTree/report/models.py
@@ -704,7 +704,7 @@ class LabelTemplate(TemplateUploadMixin, ReportTemplateBase):
def get_context(self, instance, request=None, **kwargs):
"""Supply context data to the label template for rendering."""
base_context = super().get_context(instance, request, **kwargs)
- label_context: LabelContextExtension = { # type: ignore[invalid-assignment]
+ label_context: LabelContextExtension = {
'width': self.width,
'height': self.height,
'page_style': None,
diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py
index 6329b5a9dc..8172f2c30f 100644
--- a/src/backend/InvenTree/report/templatetags/report.py
+++ b/src/backend/InvenTree/report/templatetags/report.py
@@ -5,12 +5,16 @@ import logging
import os
from datetime import date, datetime
from decimal import Decimal, InvalidOperation
+from io import BytesIO
+from pathlib import Path
from typing import Any, Optional
from django import template
from django.apps.registry import apps
from django.conf import settings
-from django.core.exceptions import ValidationError
+from django.contrib.staticfiles.storage import staticfiles_storage
+from django.core.exceptions import SuspiciousFileOperation, ValidationError
+from django.core.files.storage import default_storage
from django.db.models import Model
from django.db.models.query import QuerySet
from django.utils.safestring import SafeString, mark_safe
@@ -145,32 +149,154 @@ def getkey(container: dict, key: str, backup_value: Optional[Any] = None) -> Any
return container.get(key, backup_value)
+def media_file_exists(path: Path | str) -> bool:
+ """Check if a media file exists at the specified path.
+
+ Arguments:
+ path: The path to the media file, relative to the media storage root
+
+ Returns:
+ True if the file exists, False otherwise
+ """
+ if not path:
+ return False
+
+ try:
+ return default_storage.exists(str(path))
+ except SuspiciousFileOperation:
+ # Prevent path traversal attacks
+ raise ValidationError(_('Invalid media file path') + f": '{path}'")
+
+
+def static_file_exists(path: Path | str) -> bool:
+ """Check if a static file exists at the specified path.
+
+ Arguments:
+ path: The path to the static file, relative to the static storage root
+
+ Returns:
+ True if the file exists, False otherwise
+ """
+ if not path:
+ return False
+
+ try:
+ return staticfiles_storage.exists(str(path))
+ except SuspiciousFileOperation:
+ # Prevent path traversal attacks
+ raise ValidationError(_('Invalid static file path') + f": '{path}'")
+
+
+def get_static_file_contents(
+ path: Path | str, raise_error: bool = False
+) -> bytes | None:
+ """Return the contents of a static file.
+
+ Arguments:
+ path: The path to the static file, relative to the static storage root
+ raise_error: If True, raise an error if the file cannot be found (default = False)
+
+ Returns:
+ The contents of the static file, or None if the file cannot be found
+ """
+ if not path:
+ if raise_error:
+ raise ValueError('No static file specified')
+ else:
+ return None
+
+ if not staticfiles_storage.exists(path):
+ if raise_error:
+ raise FileNotFoundError(f'Static file does not exist: {path!s}')
+ else:
+ return None
+
+ with staticfiles_storage.open(str(path)) as f:
+ file_data = f.read()
+
+ return file_data
+
+
+def get_media_file_contents(
+ path: Path | str, raise_error: bool = False
+) -> bytes | None:
+ """Return the fully qualified file path to an uploaded media file.
+
+ Arguments:
+ path: The path to the media file, relative to the media storage root
+ raise_error: If True, raise an error if the file cannot be found (default = False)
+
+ Returns:
+ The contents of the media file, or None if the file cannot be found
+
+ Raises:
+ FileNotFoundError: If the requested media file cannot be loaded
+ PermissionError: If the requested media file is outside of the media root
+ ValidationError: If the provided path is invalid
+
+ Notes:
+ - The resulting path is resolved against the media root directory
+ """
+ if not path:
+ if raise_error:
+ raise ValueError('No media file specified')
+ else:
+ return None
+
+ if not media_file_exists(path):
+ if raise_error:
+ raise FileNotFoundError(f'Media file does not exist: {path!s}')
+ else:
+ return None
+
+ # Load the file - and return the contents
+ with default_storage.open(str(path)) as f:
+ file_data = f.read()
+
+ return file_data
+
+
@register.simple_tag()
-def asset(filename):
+def asset(filename: str, raise_error: bool = False) -> str | None:
"""Return fully-qualified path for an upload report asset file.
Arguments:
filename: Asset filename (relative to the 'assets' media directory)
+ raise_error: If True, raise an error if the file cannot be found (default = False)
Raises:
FileNotFoundError: If file does not exist
+ ValueError: If an invalid filename is provided (e.g. empty string)
+ ValidationError: If the filename is invalid (e.g. path traversal attempt)
"""
+ if not filename:
+ if raise_error:
+ raise ValueError('No asset file specified')
+ else:
+ return None
+
if type(filename) is SafeString:
# Prepend an empty string to enforce 'stringiness'
filename = '' + filename
- # If in debug mode, return URL to the image, not a local file
- debug_mode = get_global_setting('REPORT_DEBUG_MODE', cache=False)
+ # Remove any leading slash characters from the filename, to prevent path traversal attacks
+ filename = str(filename).lstrip('/\\')
- # Test if the file actually exists
- full_path = settings.MEDIA_ROOT.joinpath('report', 'assets', filename).resolve()
+ full_path = Path('report', 'assets', filename)
- if not full_path.exists() or not full_path.is_file():
- raise FileNotFoundError(_('Asset file does not exist') + f": '{filename}'")
+ if not media_file_exists(full_path):
+ if raise_error:
+ raise FileNotFoundError(_('Asset file not found') + f": '{filename}'")
+ else:
+ return None
- if debug_mode:
- return os.path.join(settings.MEDIA_URL, 'report', 'assets', filename)
- return f'file://{full_path}'
+ # In debug mode, return a web URL to the asset file (rather than a local file path)
+ if get_global_setting('REPORT_DEBUG_MODE', cache=False):
+ return str(Path(settings.MEDIA_URL, 'report', 'assets', filename))
+
+ storage_path = default_storage.path(str(full_path))
+
+ return f'file://{storage_path}'
@register.simple_tag()
@@ -182,61 +308,71 @@ def uploaded_image(
width: Optional[int] = None,
height: Optional[int] = None,
rotate: Optional[float] = None,
+ raise_error: bool = False,
**kwargs,
) -> str:
"""Return raw image data from an 'uploaded' image.
Arguments:
- filename: The filename of the image relative to the MEDIA_ROOT directory
+ filename: The filename of the image relative to the media root directory
replace_missing: Optionally return a placeholder image if the provided filename does not exist (default = True)
replacement_file: The filename of the placeholder image (default = 'blank_image.png')
validate: Optionally validate that the file is a valid image file
width: Optional width of the image
height: Optional height of the image
rotate: Optional rotation to apply to the image
+ raise_error: If True, raise an error if the file cannot be found (default = False)
Returns:
Binary image data to be rendered directly in a tag
Raises:
FileNotFoundError: If the file does not exist
+ ValueError: If an invalid filename is provided (e.g. empty string)
"""
if type(filename) is SafeString:
# Prepend an empty string to enforce 'stringiness'
filename = '' + filename
+ # Strip out any leading slash characters from the filename, to prevent path traversal attacks
+ filename = str(filename).lstrip('/\\')
+
# If in debug mode, return URL to the image, not a local file
debug_mode = get_global_setting('REPORT_DEBUG_MODE', cache=False)
- # Check if the file exists
- if not filename:
- exists = False
- else:
- try:
- full_path = settings.MEDIA_ROOT.joinpath(filename).resolve()
- exists = full_path.exists() and full_path.is_file()
- except Exception: # pragma: no cover
- exists = False # pragma: no cover
-
- if exists and validate and not InvenTree.helpers.TestIfImage(full_path):
- logger.warning("File '%s' is not a valid image", filename)
- exists = False
+ # Load image data - this will check if the file exists
+ exists = bool(filename) and media_file_exists(filename)
if not exists and not replace_missing:
raise FileNotFoundError(_('Image file not found') + f": '{filename}'")
+ if exists:
+ img_data = get_media_file_contents(filename, raise_error=raise_error)
+
+ # Check if the image data is valid
+ if (
+ img_data
+ and validate
+ and not InvenTree.helpers.TestIfImage(BytesIO(img_data))
+ ):
+ logger.warning("File '%s' is not a valid image", filename)
+ img_data = None
+ exists = False
+ else:
+ # Load the backup image from the static files directory
+ replacement_file_path = Path('img', replacement_file)
+ img_data = get_static_file_contents(
+ replacement_file_path, raise_error=raise_error
+ )
+
if debug_mode:
# In debug mode, return a web path (rather than an encoded image blob)
if exists:
return os.path.join(settings.MEDIA_URL, filename)
return os.path.join(settings.STATIC_URL, 'img', replacement_file)
- elif not exists:
- full_path = settings.STATIC_ROOT.joinpath('img', replacement_file).resolve()
-
- # Load the image, check that it is valid
- if full_path.exists() and full_path.is_file():
- img = Image.open(full_path)
+ if img_data:
+ img = Image.open(BytesIO(img_data))
else:
# A placeholder image showing that the image is missing
img = Image.new('RGB', (64, 64), color='red')
@@ -288,22 +424,15 @@ def encode_svg_image(filename: str) -> str:
# Prepend an empty string to enforce 'stringiness'
filename = '' + filename
- # Check if the file exists
+ # Remove any leading slash characters from the filename, to prevent path traversal attacks
+ filename = str(filename).lstrip('/\\')
+
if not filename:
- exists = False
- else:
- try:
- full_path = settings.MEDIA_ROOT.joinpath(filename).resolve()
- exists = full_path.exists() and full_path.is_file()
- except Exception:
- exists = False
+ raise FileNotFoundError(_('No image file specified'))
- if not exists:
- raise FileNotFoundError(_('Image file not found') + f": '{filename}'")
-
- # Read the file data
- with open(full_path, 'rb') as f:
- data = f.read()
+ # Read out the file contents
+ # Note: This will check if the file exists, and raise an error if it does not
+ data = get_media_file_contents(filename)
# Return the base64-encoded data
return 'data:image/svg+xml;charset=utf-8;base64,' + base64.b64encode(data).decode(
@@ -323,8 +452,15 @@ def part_image(part: Part, preview: bool = False, thumbnail: bool = False, **kwa
Raises:
TypeError: If provided part is not a Part instance
"""
- if type(part) is not Part:
+ if not part or not isinstance(part, Part):
raise TypeError(_('part_image tag requires a Part instance'))
+
+ image_filename = InvenTree.helpers.image2name(part.image, preview, thumbnail)
+
+ if kwargs.get('check_exists'):
+ if not media_file_exists(image_filename):
+ raise FileNotFoundError(_('Image file not found') + f": '{image_filename}'")
+
return uploaded_image(
InvenTree.helpers.image2name(part.image, preview, thumbnail), **kwargs
)
@@ -350,7 +486,8 @@ def parameter(
raise TypeError("parameter tag requires a Model with 'parameters' attribute")
return (
- instance.parameters.prefetch_related('template')
+ instance.parameters
+ .prefetch_related('template')
.filter(template__name=parameter_name)
.first()
)
diff --git a/src/backend/InvenTree/report/test_tags.py b/src/backend/InvenTree/report/test_tags.py
index 337b46e6b2..abee2b09c8 100644
--- a/src/backend/InvenTree/report/test_tags.py
+++ b/src/backend/InvenTree/report/test_tags.py
@@ -14,7 +14,6 @@ from djmoney.money import Money
from PIL import Image
from common.models import InvenTreeSetting, Parameter, ParameterTemplate
-from InvenTree.config import get_testfolder_dir
from InvenTree.unit_test import InvenTreeTestCase
from part.models import Part # TODO fix import: PartParameter, PartParameterTemplate
from part.test_api import PartImageTestMixin
@@ -62,7 +61,15 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
self.debug_mode(b)
with self.assertRaises(FileNotFoundError):
- report_tags.asset('bad_file.txt')
+ report_tags.asset('bad_file.txt', raise_error=True)
+
+ # Test for missing file, no error
+ self.assertIsNone(report_tags.asset('missing.txt'))
+
+ self.assertIsNone(report_tags.asset(''))
+
+ with self.assertRaises(ValueError):
+ report_tags.asset('', raise_error=True)
# Create an asset file
asset_dir = settings.MEDIA_ROOT.joinpath('report', 'assets')
@@ -81,7 +88,28 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
self.debug_mode(False)
asset = report_tags.asset('test.txt')
- self.assertEqual(asset, f'file://{asset_dir}/test.txt')
+ self.assertEqual(asset, f'file://{settings.MEDIA_ROOT}/report/assets/test.txt')
+
+ # Test for attempted path traversal
+ with self.assertRaises(ValidationError):
+ report_tags.asset('../../../report/assets/test.txt')
+
+ def test_file_access(self):
+ """Tests for media and static file access."""
+ for fn in [None, '', '@@@@@@', 'fake_file.txt']:
+ self.assertFalse(report_tags.media_file_exists(fn))
+ self.assertFalse(report_tags.static_file_exists(fn))
+
+ with self.assertRaises(FileNotFoundError):
+ report_tags.get_media_file_contents('dummy_file.txt', raise_error=True)
+
+ with self.assertRaises(ValueError):
+ report_tags.get_static_file_contents(None, raise_error=True)
+
+ # Try again, without throwing an error
+ self.assertIsNone(
+ report_tags.get_media_file_contents('dummy_file.txt', raise_error=False)
+ )
def test_uploaded_image(self):
"""Tests for retrieving uploaded images."""
@@ -148,6 +176,10 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
)
self.assertTrue(img.startswith('data:image/png;charset=utf-8;base64,'))
+ # Attempted path traversal
+ with self.assertRaises(ValidationError):
+ report_tags.uploaded_image('../../../part/images/test.jpg')
+
def test_part_image(self):
"""Unit tests for the 'part_image' tag."""
with self.assertRaises(TypeError):
@@ -157,8 +189,10 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
self.create_test_image()
obj.refresh_from_db()
- report_tags.part_image(obj, preview=True)
- report_tags.part_image(obj, thumbnail=True)
+ r = report_tags.part_image(obj, preview=True)
+ self.assertIn('data:image/png;charset=utf-8;base64,', r)
+ r = report_tags.part_image(obj, thumbnail=True)
+ self.assertIn('data:image/png;charset=utf-8;base64,', r)
def test_company_image(self):
"""Unit tests for the 'company_image' tag."""
@@ -392,12 +426,16 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
def test_encode_svg_image(self):
"""Test the encode_svg_image template tag."""
# Generate smallest possible SVG for testing
- svg_path = get_testfolder_dir() / 'part_image_123abc.png'
+ # Store it in the media directory
+
+ img_path = 'part_image_123abc.png'
+ svg_path = settings.MEDIA_ROOT / img_path
+
with open(svg_path, 'w', encoding='utf8') as f:
f.write(' dict:
@@ -1592,8 +1660,6 @@ class StockTrackingList(
filter_backends = SEARCH_ORDER_FILTER
- filterset_fields = ['item', 'user']
-
ordering = '-date'
ordering_fields = ['date']
@@ -1610,11 +1676,7 @@ stock_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=StockLocation),
- name='api-location-metadata',
- ),
+ meta_path(StockLocation),
path('', StockLocationDetail.as_view(), name='api-location-detail'),
]),
),
@@ -1628,11 +1690,7 @@ stock_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=StockLocationType),
- name='api-location-type-metadata',
- ),
+ meta_path(StockLocationType),
path(
'',
StockLocationTypeDetail.as_view(),
@@ -1659,11 +1717,7 @@ stock_api_urls = [
path(
'/',
include([
- path(
- 'metadata/',
- MetadataView.as_view(model=StockItemTestResult),
- name='api-stock-test-result-metadata',
- ),
+ meta_path(StockItemTestResult),
path(
'',
StockItemTestResultDetail.as_view(),
@@ -1701,11 +1755,7 @@ stock_api_urls = [
include([
path('convert/', StockItemConvert.as_view(), name='api-stock-item-convert'),
path('install/', StockItemInstall.as_view(), name='api-stock-item-install'),
- path(
- 'metadata/',
- MetadataView.as_view(model=StockItem),
- name='api-stock-item-metadata',
- ),
+ meta_path(StockItem),
path(
'serialize/',
StockItemSerialize.as_view(),
diff --git a/src/backend/InvenTree/stock/filters.py b/src/backend/InvenTree/stock/filters.py
index 0baf125875..e10479b580 100644
--- a/src/backend/InvenTree/stock/filters.py
+++ b/src/backend/InvenTree/stock/filters.py
@@ -28,7 +28,8 @@ def annotate_location_items(filter: Optional[Q] = None):
return Coalesce(
Subquery(
- subquery.annotate(
+ subquery
+ .annotate(
total=Func(F('pk'), function='COUNT', output_field=IntegerField())
)
.values('total')
@@ -50,7 +51,8 @@ def annotate_sub_locations():
return Coalesce(
Subquery(
- subquery.annotate(
+ subquery
+ .annotate(
count=Func(F('pk'), function='COUNT', output_field=IntegerField())
)
.values('count')
diff --git a/src/backend/InvenTree/stock/generators.py b/src/backend/InvenTree/stock/generators.py
index 526617395e..ffefa04a5a 100644
--- a/src/backend/InvenTree/stock/generators.py
+++ b/src/backend/InvenTree/stock/generators.py
@@ -4,8 +4,7 @@ from inspect import signature
from typing import Optional
from django.core.exceptions import ValidationError
-
-from jinja2 import Template
+from django.template import Context, Template
import common.models
import InvenTree.exceptions
@@ -76,7 +75,7 @@ def generate_batch_code(**kwargs):
'STOCK_BATCH_CODE_TEMPLATE', ''
)
- return Template(batch_template).render(context)
+ return Template(batch_template).render(Context(context))
def generate_serial_number(part=None, quantity=1, **kwargs) -> Optional[str]:
diff --git a/src/backend/InvenTree/stock/migrations/0117_stockitemtracking_part_alter_stockitemtracking_item.py b/src/backend/InvenTree/stock/migrations/0117_stockitemtracking_part_alter_stockitemtracking_item.py
new file mode 100644
index 0000000000..9091c57a30
--- /dev/null
+++ b/src/backend/InvenTree/stock/migrations/0117_stockitemtracking_part_alter_stockitemtracking_item.py
@@ -0,0 +1,36 @@
+# Generated by Django 5.2.10 on 2026-02-05 12:17
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("part", "0146_auto_20251203_1241"),
+ ("stock", "0116_alter_stockitem_link"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="stockitemtracking",
+ name="part",
+ field=models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="stock_tracking_info",
+ to="part.part",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="stockitemtracking",
+ name="item",
+ field=models.ForeignKey(
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ related_name="tracking_info",
+ to="stock.stockitem",
+ ),
+ ),
+ ]
diff --git a/src/backend/InvenTree/stock/migrations/0118_auto_20260205_1218.py b/src/backend/InvenTree/stock/migrations/0118_auto_20260205_1218.py
new file mode 100644
index 0000000000..450ecf6b7b
--- /dev/null
+++ b/src/backend/InvenTree/stock/migrations/0118_auto_20260205_1218.py
@@ -0,0 +1,73 @@
+# Generated by Django 5.2.10 on 2026-02-05 12:18
+
+from django.db import migrations
+
+
+def add_part_links(apps, schema_editor):
+ """Add links to the Part model for all existing StockItemTracking entries."""
+
+ StockItemTracking = apps.get_model('stock', 'StockItemTracking')
+
+ history_entries = []
+
+ N = StockItemTracking.objects.count()
+
+ if N > 0:
+ print(f"\nUpdating {N} StockItemTracking entries with part links...")
+
+ for tracking in StockItemTracking.objects.filter(part__isnull=True).select_related('item__part'):
+
+ item = tracking.item
+
+ # No item link - skip
+ if item is None:
+ continue
+
+ part = item.part
+
+ # No part link - skip
+ if part is None:
+ continue
+
+ # Already linked to the correct part - skip
+ if tracking.part == part:
+ continue
+
+ tracking.part = part
+ history_entries.append(tracking)
+
+ # Process in batches to avoid issues with very large datasets
+ if len(history_entries) >= 100:
+ StockItemTracking.objects.bulk_update(history_entries, ['part'])
+ history_entries = []
+ print(".", end='', flush=True)
+
+ if len(history_entries) > 0:
+ StockItemTracking.objects.bulk_update(history_entries, ['part'])
+
+
+def remove_null_items(apps, schema_editor):
+ """Reverse migration - remove any StockItemTracking entries which have a null item link."""
+
+ StockItemTracking = apps.get_model('stock', 'StockItemTracking')
+
+ null_items = StockItemTracking.objects.filter(item__isnull=True)
+
+ count = null_items.count()
+
+ if count > 0:
+ null_items.delete()
+ print(f"\nDeleted {count} StockItemTracking entries with null item links")
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("stock", "0117_stockitemtracking_part_alter_stockitemtracking_item"),
+ ]
+
+ operations = [
+ migrations.RunPython(
+ add_part_links,
+ reverse_code=remove_null_items,
+ )
+ ]
diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py
index 07fef64c5c..a3406adb41 100644
--- a/src/backend/InvenTree/stock/models.py
+++ b/src/backend/InvenTree/stock/models.py
@@ -65,6 +65,8 @@ class StockLocationType(InvenTree.models.MetadataMixin, models.Model):
icon: icon class
"""
+ IMPORT_ID_FIELDS = ['name']
+
class Meta:
"""Metaclass defines extra model properties."""
@@ -120,6 +122,7 @@ class StockLocationReportContext(report.mixins.BaseReportContext):
class StockLocation(
InvenTree.models.PluginValidationMixin,
+ InvenTree.models.InvenTreeParameterMixin,
InvenTree.models.InvenTreeBarcodeMixin,
report.mixins.InvenTreeReportMixin,
InvenTree.models.PathStringMixin,
@@ -133,8 +136,8 @@ class StockLocation(
"""
ITEM_PARENT_KEY = 'location'
-
EXTRA_PATH_FIELDS = ['icon']
+ IMPORT_ID_FIELDS = ['pathstring', 'name']
objects = TreeManager()
@@ -433,6 +436,7 @@ class StockItem(
packaging: Description of how the StockItem is packaged (e.g. "reel", "loose", "tape" etc)
"""
+ IMPORT_ID_FIELDS = ['serial']
STATUS_CLASS = StockStatus
class Meta:
@@ -517,12 +521,14 @@ class StockItem(
status__in=StockStatusGroups.AVAILABLE_CODES,
)
- # A query filter which can be used to filter StockItem objects which have expired
- EXPIRED_FILTER = (
- IN_STOCK_FILTER
- & ~Q(expiry_date=None)
- & Q(expiry_date__lt=InvenTree.helpers.current_date())
- )
+ @classmethod
+ def get_expired_filter(cls):
+ """A query filter which can be used to filter StockItem objects which have expired."""
+ return (
+ cls.IN_STOCK_FILTER
+ & ~Q(expiry_date=None)
+ & Q(expiry_date__lt=InvenTree.helpers.current_date())
+ )
@classmethod
def _create_serial_numbers(cls, serials: list, **kwargs) -> QuerySet:
@@ -794,12 +800,28 @@ class StockItem(
try:
old = StockItem.objects.get(pk=self.pk)
+ old_custom_status = old.get_custom_status()
+ custom_status = self.get_custom_status()
deltas = {}
# Status changed?
if old.status != self.status:
- deltas['status'] = self.status
+ # Custom status changed?
+ # Matches custom status tracking behavior of StockChangeStatusSerializer
+ if old_custom_status != custom_status:
+ deltas['status'] = custom_status
+ deltas['status_logical'] = self.status
+ else:
+ deltas['status'] = self.status
+ deltas['status_logical'] = self.status
+
+ if old_custom_status:
+ deltas['old_status'] = old_custom_status
+ deltas['old_status_logical'] = old.status
+ else:
+ deltas['old_status'] = old.status
+ deltas['old_status_logical'] = old.status
if add_note and len(deltas) > 0:
self.add_tracking_entry(
@@ -1343,7 +1365,7 @@ class StockItem(
item.save(add_note=False)
code = StockHistoryCode.SENT_TO_CUSTOMER
- deltas = {}
+ deltas = {'quantity': float(quantity)}
if customer is not None:
deltas['customer'] = customer.pk
@@ -1424,7 +1446,11 @@ class StockItem(
# Split the stock item
item = self.splitStock(quantity, None, user)
- tracking_info = {}
+ tracking_info = {
+ 'quantity': float(quantity)
+ if quantity is not None
+ else float(item.quantity)
+ }
if location:
tracking_info['location'] = location.pk
@@ -1445,8 +1471,17 @@ class StockItem(
if status := kwargs.pop('status', None):
if not item.compare_status(status):
+ old_custom_status = item.get_custom_status()
+ old_status_logical = item.status
item.set_status(status)
- tracking_info['status'] = status
+ tracking_info['status'] = status # may be a custom value
+ tracking_info['status_logical'] = (
+ item.status
+ ) # always the logical value
+ tracking_info['old_status'] = (
+ old_custom_status if old_custom_status else old_status_logical
+ )
+ tracking_info['old_status_logical'] = old_status_logical
item.save()
@@ -1625,7 +1660,7 @@ class StockItem(
stock_item.location = None
stock_item.save(add_note=False)
- deltas = {'stockitem': self.pk}
+ deltas = {'stockitem': self.pk, 'quantity': float(quantity)}
if build is not None:
deltas['buildorder'] = build.pk
@@ -1640,7 +1675,7 @@ class StockItem(
StockHistoryCode.INSTALLED_CHILD_ITEM,
user,
notes=notes,
- deltas={'stockitem': stock_item.pk},
+ deltas={'stockitem': stock_item.pk, 'quantity': float(quantity)},
)
trigger_event(
@@ -1666,11 +1701,14 @@ class StockItem(
self.belongs_to.add_tracking_entry(
StockHistoryCode.REMOVED_CHILD_ITEM,
user,
- deltas={'stockitem': self.pk},
+ deltas={'stockitem': self.pk, 'quantity': float(self.quantity)},
notes=notes,
)
- tracking_info = {'stockitem': self.belongs_to.pk}
+ tracking_info = {
+ 'stockitem': self.belongs_to.pk,
+ 'quantity': float(self.quantity),
+ }
self.add_tracking_entry(
StockHistoryCode.REMOVED_FROM_ASSEMBLY,
@@ -1779,7 +1817,7 @@ class StockItem(
user (User): The user performing this action
deltas (dict, optional): A map of the changes made to the model. Defaults to None.
notes (str, optional): URL associated with this tracking entry. Defaults to ''.
- commit (boolm optional): If True, save the entry to the database. Defaults to True.
+ commit (bool, optional): If True, save the entry to the database. Defaults to True.
Returns:
StockItemTracking: The created tracking entry
@@ -1809,6 +1847,7 @@ class StockItem(
entry = StockItemTracking(
item=self,
+ part=self.part,
tracking_type=entry_type.value,
user=user,
date=InvenTree.helpers.current_time(),
@@ -1938,7 +1977,7 @@ class StockItem(
# Remove the equivalent number of items
self.take_stock(
- quantity, user, code=StockHistoryCode.STOCK_SERIZALIZED, notes=notes
+ quantity, user, code=StockHistoryCode.STOCK_SERIALIZED, notes=notes
)
return items
@@ -2149,7 +2188,10 @@ class StockItem(
user,
quantity=self.quantity,
notes=notes,
- deltas={'location': location.pk if location else None},
+ deltas={
+ 'location': location.pk if location else None,
+ 'quantity': self.quantity,
+ },
)
# Update the location of the item
@@ -2267,8 +2309,26 @@ class StockItem(
# Optional fields which can be supplied in a 'move' call
for field in StockItem.optional_transfer_fields():
if field in kwargs:
- setattr(new_stock, field, kwargs[field])
- deltas[field] = kwargs[field]
+ # handle specific case for status deltas
+ if field == 'status':
+ status = kwargs[field]
+ if not new_stock.compare_status(status):
+ old_custom_status = new_stock.get_custom_status()
+ old_status_logical = new_stock.status
+ new_stock.set_status(status)
+ deltas['status'] = status # may be a custom value
+ deltas['status_logical'] = (
+ new_stock.status
+ ) # always the logical value
+ deltas['old_status'] = (
+ old_custom_status
+ if old_custom_status
+ else old_status_logical
+ )
+ deltas['old_status_logical'] = old_status_logical
+ else:
+ setattr(new_stock, field, kwargs[field])
+ deltas[field] = kwargs[field]
new_stock.save(add_note=False)
@@ -2372,7 +2432,7 @@ class StockItem(
self.location = location
- tracking_info = {}
+ tracking_info = {'quantity': float(quantity)}
tracking_code = StockHistoryCode.STOCK_MOVE
@@ -2384,8 +2444,15 @@ class StockItem(
status = kwargs.pop('status', None) or kwargs.pop('status_custom_key', None)
if status and not self.compare_status(status):
+ old_custom_status = self.get_custom_status()
+ old_status_logical = self.status
self.set_status(status)
- tracking_info['status'] = status
+ tracking_info['status'] = status # may be a custom value
+ tracking_info['status_logical'] = self.status # always the logical value
+ tracking_info['old_status'] = (
+ old_custom_status if old_custom_status else old_status_logical
+ )
+ tracking_info['old_status_logical'] = old_status_logical
# Optional fields which can be supplied in a 'move' call
for field in StockItem.optional_transfer_fields():
@@ -2436,7 +2503,7 @@ class StockItem(
return False
- self.save()
+ self.save(add_note=False)
trigger_event(
StockEvents.ITEM_QUANTITY_UPDATED, id=self.id, quantity=float(self.quantity)
@@ -2469,8 +2536,15 @@ class StockItem(
status = kwargs.pop('status', None) or kwargs.pop('status_custom_key', None)
if status and not self.compare_status(status):
+ old_custom_status = self.get_custom_status()
+ old_status_logical = self.status
self.set_status(status)
- tracking_info['status'] = status
+ tracking_info['status'] = status # may be a custom value
+ tracking_info['status_logical'] = self.status # always the logical value
+ tracking_info['old_status'] = (
+ old_custom_status if old_custom_status else old_status_logical
+ )
+ tracking_info['old_status_logical'] = old_status_logical
if self.updateQuantity(count):
tracking_info['quantity'] = float(count)
@@ -2532,8 +2606,15 @@ class StockItem(
status = kwargs.pop('status', None) or kwargs.pop('status_custom_key', None)
if status and not self.compare_status(status):
+ old_custom_status = self.get_custom_status()
+ old_status_logical = self.status
self.set_status(status)
- tracking_info['status'] = status
+ tracking_info['status'] = status # may be a custom value
+ tracking_info['status_logical'] = self.status # always the logical value
+ tracking_info['old_status'] = (
+ old_custom_status if old_custom_status else old_status_logical
+ )
+ tracking_info['old_status_logical'] = old_status_logical
if self.updateQuantity(self.quantity + quantity):
tracking_info['added'] = float(quantity)
@@ -2586,8 +2667,15 @@ class StockItem(
status = kwargs.pop('status', None) or kwargs.pop('status_custom_key', None)
if status and not self.compare_status(status):
+ old_custom_status = self.get_custom_status()
+ old_status_logical = self.status
self.set_status(status)
- deltas['status'] = status
+ deltas['status'] = status # may be a custom value
+ deltas['status_logical'] = self.status # always the logical value
+ deltas['old_status'] = (
+ old_custom_status if old_custom_status else old_status_logical
+ )
+ deltas['old_status_logical'] = old_status_logical
if self.updateQuantity(self.quantity - quantity):
deltas['removed'] = float(quantity)
@@ -2797,21 +2885,18 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs):
class StockItemTracking(InvenTree.models.InvenTreeModel):
"""Stock tracking entry - used for tracking history of a particular StockItem.
- Note: 2021-05-11
- The legacy StockTrackingItem model contained very little information about the "history" of the item.
- In fact, only the "quantity" of the item was recorded at each interaction.
- Also, the "title" was translated at time of generation, and thus was not really translatable.
- The "new" system tracks all 'delta' changes to the model,
- and tracks change "type" which can then later be translated
-
-
Attributes:
item: ForeignKey reference to a particular StockItem
+ part: ForeignKey reference to the Part associated with this StockItem
date: Date that this tracking info was created
tracking_type: The type of tracking information
notes: Associated notes (input by user)
user: The user associated with this tracking info
deltas: The changes associated with this history item
+
+ Notes:
+ If the underlying stock item is deleted, the "item" field will be set to null, but the tracking information will be retained.
+ The tracking data will be removed if the associated part is deleted, as the tracking information is not relevant without the part context.
"""
class Meta:
@@ -2824,6 +2909,13 @@ class StockItemTracking(InvenTree.models.InvenTreeModel):
"""Return API url."""
return reverse('api-stock-tracking-list')
+ def save(self, *args, **kwargs):
+ """Ensure that the 'part' link is always correct."""
+ if self.item:
+ self.part = self.item.part
+
+ super().save(*args, **kwargs)
+
def get_absolute_url(self):
"""Return url for instance."""
return InvenTree.helpers.pui_url(f'/stock/item/{self.item.id}')
@@ -2838,7 +2930,19 @@ class StockItemTracking(InvenTree.models.InvenTreeModel):
tracking_type = models.IntegerField(default=StockHistoryCode.LEGACY)
item = models.ForeignKey(
- StockItem, on_delete=models.CASCADE, related_name='tracking_info'
+ StockItem,
+ on_delete=models.SET_NULL,
+ null=True,
+ blank=False,
+ related_name='tracking_info',
+ )
+
+ part = models.ForeignKey(
+ 'part.part',
+ on_delete=models.CASCADE,
+ related_name='stock_tracking_info',
+ null=True,
+ blank=True,
)
date = models.DateTimeField(auto_now_add=True, editable=False)
diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py
index f8d76e543a..ded3441338 100644
--- a/src/backend/InvenTree/stock/serializers.py
+++ b/src/backend/InvenTree/stock/serializers.py
@@ -413,6 +413,8 @@ class StockItemSerializer(
parent = serializers.PrimaryKeyRelatedField(
many=False,
read_only=True,
+ required=False,
+ allow_null=True,
label=_('Parent Item'),
help_text=_('Parent stock item'),
)
@@ -463,12 +465,16 @@ class StockItemSerializer(
status_custom_key = validated_data.pop('status_custom_key', None)
status = validated_data.pop('status', None)
- instance = super().update(instance, validated_data=validated_data)
-
if status_code := status_custom_key or status:
- if not instance.compare_status(status_code):
- instance.set_status(status_code)
- instance.save()
+ # avoid a second .save() call and perform both status updates at once (to support `old_status` in tracking event)
+ # by setting the values in validated_data as computed by set_status()
+ instance.set_status(status_code)
+ validated_data['status'] = instance.status
+ validated_data['status_custom_key'] = (
+ status_code # for compatibility with custom "leader/follower" concept in super().update()
+ )
+
+ instance = super().update(instance, validated_data=validated_data)
return instance
@@ -489,14 +495,13 @@ class StockItemSerializer(
),
'parent',
'part__category',
- 'part__pricing_data',
'supplier_part',
'supplier_part__manufacturer_part',
'customer',
'belongs_to',
'sales_order',
'consumed_by',
- ).select_related('part')
+ ).select_related('part', 'part__pricing_data')
# Annotate the queryset with the total allocated to sales orders
queryset = queryset.annotate(
@@ -513,7 +518,7 @@ class StockItemSerializer(
queryset = queryset.annotate(
expired=Case(
When(
- StockItem.EXPIRED_FILTER,
+ StockItem.get_expired_filter(),
then=Value(True, output_field=BooleanField()),
),
default=Value(False, output_field=BooleanField()),
@@ -1054,8 +1059,6 @@ class StockChangeStatusSerializer(serializers.Serializer):
transaction_notes = []
- deltas = {'status': status}
-
now = InvenTree.helpers.current_time()
# Instead of performing database updates for each item,
@@ -1073,9 +1076,22 @@ class StockChangeStatusSerializer(serializers.Serializer):
if status == custom_status or custom_status is None:
continue
+ deltas = {'status': status}
+
+ # before save, track old status logical
+ deltas['old_status_logical'] = item.status
+
+ if item.get_custom_status():
+ deltas['old_status'] = item.get_custom_status()
+ else:
+ deltas['old_status'] = item.status
+
item.set_status(status, custom_values=custom_status_codes)
item.save(add_note=False)
+ # after save, can track new status_logical
+ deltas['status_logical'] = item.status
+
# Create a new transaction note for each item
transaction_notes.append(
StockItemTracking(
@@ -1159,8 +1175,10 @@ class LocationSerializer(
'structural',
'external',
'location_type',
+ # Optional fields
'location_type_detail',
'tags',
+ 'parameters',
]
read_only_fields = ['barcode_hash', 'icon', 'level', 'pathstring']
@@ -1205,6 +1223,8 @@ class LocationSerializer(
filter_name='path_detail',
)
+ parameters = common.filters.enable_parameters_filter()
+
# explicitly set this field, so it gets included for AutoSchema
icon = serializers.CharField(read_only=True)
@@ -1230,6 +1250,8 @@ class StockTrackingSerializer(
'pk',
'item',
'item_detail',
+ 'part',
+ 'part_detail',
'date',
'deltas',
'label',
@@ -1238,13 +1260,21 @@ class StockTrackingSerializer(
'user',
'user_detail',
]
- read_only_fields = ['date', 'user', 'label', 'tracking_type']
+ read_only_fields = ['date', 'part', 'user', 'label', 'tracking_type']
label = serializers.CharField(read_only=True)
item_detail = enable_filter(
StockItemSerializer(source='item', many=False, read_only=True, allow_null=True),
- prefetch_fields=['item'],
+ prefetch_fields=['item', 'item__part'],
+ )
+
+ part_detail = enable_filter(
+ part_serializers.PartBriefSerializer(
+ source='part', many=False, read_only=True, allow_null=True
+ ),
+ default_include=False,
+ prefetch_fields=['part'],
)
user_detail = enable_filter(
diff --git a/src/backend/InvenTree/stock/status_codes.py b/src/backend/InvenTree/stock/status_codes.py
index 978bca0b0e..50cad87a90 100644
--- a/src/backend/InvenTree/stock/status_codes.py
+++ b/src/backend/InvenTree/stock/status_codes.py
@@ -53,7 +53,7 @@ class StockHistoryCode(StatusCode):
STOCK_COUNT = 10, _('Stock counted')
STOCK_ADD = 11, _('Stock manually added')
STOCK_REMOVE = 12, _('Stock manually removed')
- STOCK_SERIZALIZED = 13, _('Serialized stock items')
+ STOCK_SERIALIZED = 13, _('Serialized stock items')
RETURNED_TO_STOCK = 15, _('Returned to stock') # Stock item returned to stock
diff --git a/src/backend/InvenTree/stock/tasks.py b/src/backend/InvenTree/stock/tasks.py
index e3b4f5e4ab..d8b647152f 100644
--- a/src/backend/InvenTree/stock/tasks.py
+++ b/src/backend/InvenTree/stock/tasks.py
@@ -1,8 +1,13 @@
"""Background tasks for the stock app."""
+from datetime import datetime, timedelta
+
import structlog
from opentelemetry import trace
+from common.settings import get_global_setting
+from InvenTree.tasks import ScheduledTask, offload_task, scheduled_task
+
tracer = trace.get_tracer(__name__)
logger = structlog.get_logger('inventree')
@@ -43,7 +48,6 @@ def rebuild_stock_item_tree(tree_id: int, rebuild_on_fail: bool = True) -> bool:
"""
from InvenTree.exceptions import log_error
from InvenTree.sentry import report_exception
- from InvenTree.tasks import offload_task
from stock.models import StockItem
if tree_id:
@@ -65,3 +69,27 @@ def rebuild_stock_item_tree(tree_id: int, rebuild_on_fail: bool = True) -> bool:
# No tree_id provided, so rebuild the entire tree
StockItem.objects.rebuild()
return True
+
+
+@tracer.start_as_current_span('delete_old_stock_tracking')
+@scheduled_task(ScheduledTask.DAILY)
+def delete_old_stock_tracking():
+ """Remove old stock tracking entries before a certain date."""
+ from stock.models import StockItemTracking
+
+ if not get_global_setting('STOCK_TRACKING_DELETE_OLD_ENTRIES', False):
+ return
+
+ delete_n_days = int(get_global_setting('STOCK_TRACKING_DELETE_DAYS', 365))
+
+ threshold = datetime.now() - timedelta(days=delete_n_days)
+
+ old_entries = StockItemTracking.objects.filter(date__lte=threshold)
+
+ if old_entries.exists():
+ logger.info(
+ 'Deleting old stock tracking entries',
+ count=old_entries.count(),
+ threshold=threshold,
+ )
+ old_entries.delete()
diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py
index 7b267facb2..1434a0e3f0 100644
--- a/src/backend/InvenTree/stock/test_api.py
+++ b/src/backend/InvenTree/stock/test_api.py
@@ -68,6 +68,11 @@ class StockLocationTest(StockAPITestCase):
# Add some stock locations
StockLocation.objects.create(name='top', description='top category')
+ def test_ordering(self):
+ """Test ordering options for the StockLocation list endpoint."""
+ for ordering in ['name', 'pathstring', 'level', 'tree_id']:
+ self.run_ordering_test(self.list_url, ordering)
+
def test_list(self):
"""Test the StockLocationList API endpoint."""
test_cases = [
@@ -565,6 +570,86 @@ class StockItemListTest(StockAPITestCase):
# Return JSON data
return response.data
+ def test_ordering(self):
+ """Run ordering tests against the StockItem list endpoint."""
+ for ordering in ['part', 'location', 'stock', 'status', 'IPN', 'MPN', 'SKU']:
+ self.run_ordering_test(self.list_url, ordering)
+
+ def test_pagination(self):
+ """Test that pagination boundaries are observed correctly.
+
+ Ref: https://github.com/inventree/InvenTree/issues/11442
+ """
+ location = StockLocation.objects.first()
+ part = Part.objects.first()
+
+ items = []
+
+ # Delete all existing stock item objects
+ for item in StockItem.objects.all():
+ item.delete()
+
+ for idx in range(1000):
+ items.append(
+ StockItem(
+ part=part,
+ location=location,
+ quantity=idx % 10,
+ level=0,
+ lft=0,
+ rght=0,
+ tree_id=0,
+ )
+ )
+
+ if len(items) >= 100:
+ StockItem.objects.bulk_create(items)
+ items = []
+
+ self.assertEqual(StockItem.objects.count(), 1000)
+
+ url = reverse('api-stock-list')
+
+ # Keep track of the unique PKs we have seen in the results
+ unique_pks = set()
+
+ for idx in range(0, 100, 10):
+ data = self.get(url, {'limit': 10, 'offset': idx}).data
+ self.assertEqual(data['count'], 1000)
+ self.assertEqual(len(data['results']), 10)
+
+ for item in data['results']:
+ self.assertNotIn(
+ item['pk'],
+ unique_pks,
+ f'Duplicate PK {item["pk"]} found in paginated results @ page {idx // 10}',
+ )
+ unique_pks.add(item['pk'])
+
+ self.assertEqual(
+ len(unique_pks), 100, 'Expected to see 100 unique PKs in paginated results'
+ )
+
+ # Run same test again, with reverse ordering on part IPN
+ unique_pks = set()
+
+ for idx in range(0, 100, 10):
+ data = self.get(url, {'limit': 10, 'offset': idx, 'ordering': '-IPN'}).data
+ self.assertEqual(data['count'], 1000)
+ self.assertEqual(len(data['results']), 10)
+
+ for item in data['results']:
+ self.assertNotIn(
+ item['pk'],
+ unique_pks,
+ f'Duplicate PK {item["pk"]} found in paginated results @ page {idx // 10} with reverse ordering',
+ )
+ unique_pks.add(item['pk'])
+
+ self.assertEqual(
+ len(unique_pks), 100, 'Expected to see 100 unique PKs in paginated results'
+ )
+
def test_top_level_filtering(self):
"""Test filtering against "top level" stock location."""
# No filters, should return *all* items
@@ -867,9 +952,13 @@ class StockItemListTest(StockAPITestCase):
excluded_headers = ['metadata']
- filters = {}
+ filters = {
+ 'part_detail': True,
+ 'location_detail': True,
+ 'supplier_part_detail': True,
+ }
- with self.export_data(self.list_url, filters) as data_file:
+ with self.export_data(self.list_url, params=filters) as data_file:
self.process_csv(
data_file,
required_cols=required_headers,
@@ -881,7 +970,7 @@ class StockItemListTest(StockAPITestCase):
filters['location'] = 1
filters['cascade'] = True
- with self.export_data(self.list_url, filters) as data_file:
+ with self.export_data(self.list_url, params=filters) as data_file:
data = self.process_csv(data_file, required_rows=9)
for row in data:
@@ -909,6 +998,53 @@ class StockItemListTest(StockAPITestCase):
with self.export_data(self.list_url, {'part': 25}) as data_file:
self.process_csv(data_file, required_rows=items.count())
+ def test_large_export(self):
+ """Test export of very large dataset.
+
+ - Ensure that the time taken to export a large dataset is reasonable.
+ - Ensure that the number of DB queries is reasonable.
+ """
+ # Create a large number of stock items
+ locations = list(StockLocation.objects.all())
+ parts = list(Part.objects.filter(virtual=False))
+
+ idx = 0
+
+ N_LOCATIONS = len(locations)
+ N_PARTS = len(parts)
+
+ stock_items = []
+
+ while idx < 2500:
+ part = parts[idx % N_PARTS]
+ location = locations[idx % N_LOCATIONS]
+
+ item = StockItem(
+ part=part,
+ location=location,
+ quantity=10,
+ level=0,
+ tree_id=0,
+ lft=0,
+ rght=0,
+ )
+ stock_items.append(item)
+ idx += 1
+
+ StockItem.objects.bulk_create(stock_items)
+
+ self.assertGreaterEqual(StockItem.objects.count(), 2500)
+
+ # Note: While the export is quick on pgsql, it is still quite slow on sqlite3
+ with self.export_data(
+ self.list_url,
+ max_query_count=50,
+ max_query_time=12.0, # Test time increased due to worker variability
+ ) as data_file:
+ data = self.process_csv(data_file)
+
+ self.assertGreaterEqual(len(data), 2500)
+
def test_filter_by_allocated(self):
"""Test that we can filter by "allocated" status.
@@ -1122,7 +1258,7 @@ class CustomStockItemStatusTest(StockAPITestCase):
name='OK - advanced',
label='OK - adv.',
color='secondary',
- logical_key=10,
+ logical_key=StockStatus.OK.value,
model=ContentType.objects.get(model='stockitem'),
reference_status='StockStatus',
)
@@ -1131,14 +1267,55 @@ class CustomStockItemStatusTest(StockAPITestCase):
name='attention 2',
label='attention 2',
color='secondary',
- logical_key=50,
+ logical_key=StockStatus.ATTENTION.value,
model=ContentType.objects.get(model='stockitem'),
reference_status='StockStatus',
)
def test_custom_status(self):
"""Tests interaction with states."""
+ part = Part.objects.filter(virtual=False).first()
+
+ # Try creating a new stock item with an invalid status code
+ response = self.post(
+ reverse('api-stock-list'),
+ {'part': part.pk, 'quantity': 10, 'status_custom_key': 'xyz'},
+ )
+
+ data = response.data[0]
+
+ # An invalid status value has been set to the default value
+ self.assertEqual(data['status'], StockStatus.OK.value)
+
+ # Create a stock item with a non-default, built-in status value
+ response = self.post(
+ reverse('api-stock-list'),
+ {
+ 'part': part.pk,
+ 'quantity': 10,
+ 'status_custom_key': StockStatus.QUARANTINED.value,
+ },
+ )
+
+ data = response.data[0]
+
+ self.assertEqual(data['status'], StockStatus.QUARANTINED.value)
+ self.assertEqual(data['status_custom_key'], StockStatus.QUARANTINED.value)
+ self.assertEqual(data['status_text'], 'Quarantined')
+
+ # Create a stock item with a custom status value
+ response = self.post(
+ reverse('api-stock-list'),
+ {'part': part.pk, 'quantity': 10, 'status_custom_key': self.status2.key},
+ )
+
+ data = response.data[0]
+
+ self.assertEqual(data['status'], StockStatus.ATTENTION.value)
+ self.assertEqual(data['status_custom_key'], self.status2.key)
+
# Create a stock item with the custom status code via the API
+ # Note: We test with a string value here
response = self.post(
self.list_url,
{
@@ -1146,7 +1323,7 @@ class CustomStockItemStatusTest(StockAPITestCase):
'description': 'Test desc 1',
'quantity': 1,
'part': 1,
- 'status_custom_key': self.status.key,
+ 'status_custom_key': str(self.status.key),
},
expected_code=201,
)
@@ -1225,16 +1402,34 @@ class StockItemTest(StockAPITestCase):
StockLocation.objects.create(name='B', description='location b', parent=top)
StockLocation.objects.create(name='C', description='location c', parent=top)
+ # Create a custom status
+ self.inspect_custom_status = InvenTreeCustomUserStateModel.objects.create(
+ key=150,
+ name='INSPECT',
+ label='Incoming goods inspection',
+ color='warning',
+ logical_key=50,
+ model=ContentType.objects.get(model='stockitem'),
+ reference_status='StockStatus',
+ )
+
def test_create_default_location(self):
"""Test the default location functionality, if a 'location' is not specified in the creation request."""
# The part 'R_4K7_0603' (pk=4) has a default location specified
+ # Create a new StockItem instance
response = self.post(
self.list_url, data={'part': 4, 'quantity': 10}, expected_code=201
)
self.assertEqual(response.data[0]['location'], 2)
+ # Check that the item was associated with the correct user
+ item = StockItem.objects.get(pk=response.data[0]['pk'])
+ self.assertEqual(item.tracking_info_count, 1)
+ tracking = item.tracking_info.first()
+ self.assertEqual(tracking.user, self.user)
+
# What if we explicitly set the location to a different value?
response = self.post(
@@ -1730,6 +1925,15 @@ class StockItemTest(StockAPITestCase):
item.refresh_from_db()
self.assertEqual(item.status, StockStatus.DAMAGED.value)
self.assertEqual(item.tracking_info.count(), 2)
+ tracking = item.tracking_info.last()
+ self.assertEqual(tracking.deltas['old_status'], StockStatus.OK.value)
+ self.assertEqual(
+ tracking.deltas['old_status_logical'], StockStatus.OK.value
+ )
+ self.assertEqual(tracking.deltas['status'], StockStatus.DAMAGED.value)
+ self.assertEqual(
+ tracking.deltas['status_logical'], StockStatus.DAMAGED.value
+ )
# Same test, but with one item unchanged
items[0].set_status(StockStatus.ATTENTION.value)
@@ -1747,6 +1951,95 @@ class StockItemTest(StockAPITestCase):
tracking = item.tracking_info.last()
self.assertEqual(tracking.tracking_type, StockHistoryCode.EDITED.value)
+ def test_set_custom_status(self):
+ """Test API endpoint for setting StockItem custom status."""
+ url = reverse('api-stock-change-status')
+
+ prt = Part.objects.first()
+
+ # Number of items to create
+ N_ITEMS = 10
+
+ # Create a bunch of items
+ items = [
+ StockItem.objects.create(part=prt, quantity=10) for _ in range(N_ITEMS)
+ ]
+
+ for item in items:
+ item.refresh_from_db()
+ self.assertEqual(item.status, StockStatus.OK.value)
+ self.assertEqual(item.tracking_info.count(), 1)
+
+ # Test tracking with custom status
+ # *from* standard *to* custom
+ data = {
+ 'items': [item.pk for item in items],
+ 'status': self.inspect_custom_status.key,
+ }
+
+ self.post(url, data, expected_code=201)
+
+ for item in items:
+ item.refresh_from_db()
+ self.assertEqual(item.status, self.inspect_custom_status.logical_key)
+ self.assertEqual(item.get_custom_status(), self.inspect_custom_status.key)
+ tracking = item.tracking_info.last()
+ self.assertEqual(tracking.deltas['old_status'], StockStatus.OK.value)
+ self.assertEqual(
+ tracking.deltas['old_status_logical'], StockStatus.OK.value
+ )
+ self.assertEqual(tracking.deltas['status'], self.inspect_custom_status.key)
+ self.assertEqual(
+ tracking.deltas['status_logical'],
+ self.inspect_custom_status.logical_key,
+ )
+
+ # reverse case
+ # *from* custom *to* standard
+ data['status'] = StockStatus.OK.value
+ self.post(url, data, expected_code=201)
+ for item in items:
+ item.refresh_from_db()
+ self.assertEqual(item.status, StockStatus.OK.value)
+ self.assertIsNone(item.get_custom_status())
+ tracking = item.tracking_info.last()
+ self.assertEqual(
+ tracking.deltas['old_status'], self.inspect_custom_status.key
+ )
+ self.assertEqual(
+ tracking.deltas['old_status_logical'],
+ self.inspect_custom_status.logical_key,
+ )
+ self.assertEqual(tracking.deltas['status'], StockStatus.OK.value)
+ self.assertEqual(tracking.deltas['status_logical'], StockStatus.OK.value)
+
+ def test_bulk_batch_change(self):
+ """Test that we can bulk-change batch code for a set of stock items."""
+ url = reverse('api-stock-list')
+
+ # Find the first 10 stock items
+ items = StockItem.objects.all()[:10]
+ self.assertEqual(len(items), 10)
+
+ response = self.patch(
+ url,
+ data={'items': [item.pk for item in items], 'batch': 'NEW-BATCH-CODE'},
+ max_query_count=300,
+ )
+
+ data = response.data
+
+ self.assertEqual(data['success'], 'Updated 10 items')
+ self.assertEqual(len(data['items']), 10)
+
+ for item in data['items']:
+ self.assertEqual(item['batch'], 'NEW-BATCH-CODE')
+
+ # Check database items also
+ for item in items:
+ item.refresh_from_db()
+ self.assertEqual(item.batch, 'NEW-BATCH-CODE')
+
class StocktakeTest(StockAPITestCase):
"""Series of tests for the Stocktake API."""
@@ -2141,17 +2434,7 @@ class StockTestResultTest(StockAPITestCase):
self.delete(url, {}, expected_code=400)
# Now, let's delete all the newly created items with a single API request
- # However, we will provide incorrect filters
- response = self.delete(
- url, {'items': tests, 'filters': {'stock_item': 10}}, expected_code=400
- )
-
- self.assertEqual(StockItemTestResult.objects.count(), n + 50)
-
- # Try again, but with the correct filters this time
- response = self.delete(
- url, {'items': tests, 'filters': {'stock_item': 1}}, expected_code=200
- )
+ response = self.delete(url, {'items': tests}, expected_code=200)
self.assertEqual(StockItemTestResult.objects.count(), n)
@@ -2516,40 +2799,39 @@ class StockMetadataAPITest(InvenTreeAPITestCase):
roles = ['stock.change', 'stock_location.change']
- def metatester(self, apikey, model):
+ def metatester(self, raw_url: str, model):
"""Generic tester."""
modeldata = model.objects.first()
# Useless test unless a model object is found
self.assertIsNotNone(modeldata)
- url = reverse(apikey, kwargs={'pk': modeldata.pk})
+ url = raw_url.format(pk=modeldata.pk)
# Metadata is initially null
self.assertIsNone(modeldata.metadata)
- numstr = f'12{len(apikey)}'
+ numstr = f'12{len(raw_url)}'
+ target_key = f'abc-{numstr}'
+ target_value = f'xyz-{raw_url}-{numstr}'
- self.patch(
- url,
- {'metadata': {f'abc-{numstr}': f'xyz-{apikey}-{numstr}'}},
- expected_code=200,
- )
+ # Create / update metadata entry (first try via old addresses)
+ data = {'metadata': {target_key: target_value}}
+ rsp = self.patch(url, data, expected_code=301)
+ self.patch(rsp.url, data, expected_code=200)
- # Refresh
+ # Refresh and check that metadata has been updated
modeldata.refresh_from_db()
- self.assertEqual(
- modeldata.get_metadata(f'abc-{numstr}'), f'xyz-{apikey}-{numstr}'
- )
+ self.assertEqual(modeldata.get_metadata(target_key), target_value)
def test_metadata(self):
"""Test all endpoints."""
- for apikey, model in {
- 'api-location-metadata': StockLocation,
- 'api-stock-test-result-metadata': StockItemTestResult,
- 'api-stock-item-metadata': StockItem,
+ for raw_url, model in {
+ '/api/stock/location/{pk}/metadata/': StockLocation,
+ '/api/stock/test/{pk}/metadata/': StockItemTestResult,
+ '/api/stock/{pk}/metadata/': StockItem,
}.items():
- self.metatester(apikey, model)
+ self.metatester(raw_url, model)
class StockApiPerformanceTest(StockAPITestCase, InvenTreeAPIPerformanceTestCase):
diff --git a/src/backend/InvenTree/stock/tests.py b/src/backend/InvenTree/stock/tests.py
index 514e8f0ec3..9495432366 100644
--- a/src/backend/InvenTree/stock/tests.py
+++ b/src/backend/InvenTree/stock/tests.py
@@ -838,10 +838,17 @@ class StockBarcodeTest(StockTestBase):
# Render simple barcode data for the StockItem
barcode = item.barcode
- self.assertEqual(barcode, '{"stockitem": 1}')
+ self.assertEqual(barcode, 'INV-SI1')
def test_location_barcode_basics(self):
"""Simple tests for the StockLocation barcode integration."""
+ # Set the barcode plugin to use the legacy barcode format
+ from plugin.registry import registry
+
+ plugin = registry.get_plugin('inventreebarcode')
+
+ plugin.set_setting('INTERNAL_BARCODE_FORMAT', 'json')
+
self.assertEqual(StockLocation.barcode_model_type(), 'stocklocation')
loc = StockLocation.objects.get(pk=1)
@@ -849,6 +856,9 @@ class StockBarcodeTest(StockTestBase):
barcode = loc.format_barcode()
self.assertEqual('{"stocklocation": 1}', barcode)
+ # Revert the barcode format to the default
+ plugin.set_setting('INTERNAL_BARCODE_FORMAT', 'short')
+
class VariantTest(StockTestBase):
"""Tests for calculation stock counts against templates / variants."""
@@ -867,6 +877,16 @@ class VariantTest(StockTestBase):
self.assertEqual(green.stock_entries(include_variants=False).count(), 0)
self.assertEqual(green.stock_entries().count(), 3)
+ # Test with an "external" location
+ entry = green.stock_entries().first()
+ entry.location = StockLocation.objects.create(
+ name='External Location', description='An external location', external=True
+ )
+ entry.save()
+
+ self.assertEqual(green.stock_entries(include_external=True).count(), 3)
+ self.assertEqual(green.stock_entries(include_external=False).count(), 2)
+
def test_serial_numbers(self):
"""Test serial number functionality for variant / template parts."""
InvenTreeSetting.set_setting('SERIAL_NUMBER_GLOBALLY_UNIQUE', False, self.user)
diff --git a/src/backend/InvenTree/users/api.py b/src/backend/InvenTree/users/api.py
index 42201ed095..37434fbcff 100644
--- a/src/backend/InvenTree/users/api.py
+++ b/src/backend/InvenTree/users/api.py
@@ -367,49 +367,44 @@ class GetAuthToken(GenericAPIView):
- Existing tokens are *never* exposed again via the API
- Once the token is provided, it can be used for auth until it expires
"""
- if request.user.is_authenticated:
- user = request.user
- name = request.query_params.get('name', '')
+ if not request.user.is_authenticated:
+ raise exceptions.NotAuthenticated() # pragma: no cover
- name = ApiToken.sanitize_name(name)
+ user = request.user
+ name = request.query_params.get('name', '')
- today = datetime.date.today()
+ name = ApiToken.sanitize_name(name)
- # Find existing token, which has not expired
- token = ApiToken.objects.filter(
- user=user, name=name, revoked=False, expiry__gte=today
- ).first()
+ today = datetime.date.today()
- if not token:
- # User is authenticated, and requesting a token against the provided name.
- token = ApiToken.objects.create(user=request.user, name=name)
+ # Find existing token, which has not expired
+ token = ApiToken.objects.filter(
+ user=user, name=name, revoked=False, expiry__gte=today
+ ).first()
- logger.info(
- "Created new API token for user '%s' (name='%s')",
- user.username,
- name,
- )
+ if not token:
+ # User is authenticated, and requesting a token against the provided name.
+ token = ApiToken.objects.create(user=request.user, name=name)
+
+ logger.info(
+ "Created new API token for user '%s' (name='%s')", user.username, name
+ )
# Add some metadata about the request
- token.set_metadata('user_agent', request.headers.get('user-agent', ''))
- token.set_metadata('remote_addr', request.META.get('REMOTE_ADDR', ''))
- token.set_metadata('remote_host', request.META.get('REMOTE_HOST', ''))
- token.set_metadata('remote_user', request.META.get('REMOTE_USER', ''))
- token.set_metadata('server_name', request.META.get('SERVER_NAME', ''))
- token.set_metadata('server_port', request.META.get('SERVER_PORT', ''))
+ token.set_metadata('user_agent', request.headers.get('user-agent', ''))
+ token.set_metadata('remote_addr', request.META.get('REMOTE_ADDR', ''))
+ token.set_metadata('remote_host', request.META.get('REMOTE_HOST', ''))
+ token.set_metadata('remote_user', request.META.get('REMOTE_USER', ''))
+ token.set_metadata('server_name', request.META.get('SERVER_NAME', ''))
+ token.set_metadata('server_port', request.META.get('SERVER_PORT', ''))
- data = {'token': token.key, 'name': token.name, 'expiry': token.expiry}
+ data = {'token': token.key, 'name': token.name, 'expiry': token.expiry}
- # Ensure that the users session is logged in
- if not get_user(request).is_authenticated:
- login(
- request, user, backend='django.contrib.auth.backends.ModelBackend'
- )
+ # Ensure that the users session is logged in
+ if not get_user(request).is_authenticated:
+ login(request, user, backend='django.contrib.auth.backends.ModelBackend')
- return Response(data)
-
- else:
- raise exceptions.NotAuthenticated() # pragma: no cover
+ return Response(data)
class TokenMixin:
diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py
index 3ead74515d..a9df02432f 100644
--- a/src/backend/InvenTree/users/models.py
+++ b/src/backend/InvenTree/users/models.py
@@ -600,6 +600,10 @@ class UserProfile(InvenTree.models.MetadataMixin):
@receiver(post_save, sender=User)
def create_or_update_user_profile(sender, instance, created, **kwargs):
"""Create or update user profile when user is saved."""
+ # Disable profile creation if importing data from file
+ if isImportingData():
+ return
+
if created:
UserProfile.objects.create(user=instance)
instance.profile.save()
@@ -629,6 +633,10 @@ def validate_primary_group_on_delete(sender, instance, **kwargs):
@receiver(m2m_changed, sender=User.groups.through)
def validate_primary_group_on_group_change(sender, instance, action, **kwargs):
"""Validate primary_group on user profiles when a group is added or removed."""
+ # Disable user profile validation if importing data from file
+ if isImportingData():
+ return
+
if action in ['post_add', 'post_remove']:
profile = instance.profile
if profile.primary_group and profile.primary_group not in instance.groups.all():
diff --git a/src/backend/InvenTree/users/permissions.py b/src/backend/InvenTree/users/permissions.py
index 67b735ae4b..7c93f5ec97 100644
--- a/src/backend/InvenTree/users/permissions.py
+++ b/src/backend/InvenTree/users/permissions.py
@@ -130,7 +130,11 @@ def check_user_role(
def check_user_permission(
- user: User, model: models.Model, permission: str, allow_inactive: bool = False
+ user: User,
+ model: models.Model,
+ permission: str,
+ allow_inactive: bool = False,
+ groups: Optional[QuerySet] = None,
) -> bool:
"""Check if the user has a particular permission against a given model type.
@@ -139,6 +143,7 @@ def check_user_permission(
model: The model class to check (e.g. 'part')
permission: The permission to check (e.g. 'view' / 'delete')
allow_inactive: If False, disallow inactive users from having permissions
+ groups: Optional cached queryset of groups to check (defaults to user's groups)
Returns:
bool: True if the user has the specified permission
@@ -160,9 +165,11 @@ def check_user_permission(
if table_name in get_ruleset_ignore():
return True
+ groups = groups or prefetch_rule_sets(user)
+
for role, table_names in get_ruleset_models().items():
if table_name in table_names:
- if check_user_role(user, role, permission):
+ if check_user_role(user, role, permission, groups=groups):
return True
# Check for children models which inherits from parent role
@@ -172,7 +179,7 @@ def check_user_permission(
if parent_child_string == table_name:
# Check if parent role has change permission
- if check_user_role(user, parent, 'change'):
+ if check_user_role(user, parent, 'change', groups=groups):
return True
# Generate the permission name based on the model and permission
diff --git a/src/backend/InvenTree/users/ruleset.py b/src/backend/InvenTree/users/ruleset.py
index 7beb4f1eec..ed70b79b4d 100644
--- a/src/backend/InvenTree/users/ruleset.py
+++ b/src/backend/InvenTree/users/ruleset.py
@@ -74,6 +74,7 @@ def get_ruleset_models() -> dict:
'oauth2_provider_idtoken',
'oauth2_provider_accesstoken',
'oauth2_provider_refreshtoken',
+ 'oauth2_provider_devicegrant',
# Plugins
'plugin_pluginconfig',
'plugin_pluginsetting',
diff --git a/src/backend/requirements-3.14.txt b/src/backend/requirements-3.14.txt
new file mode 100644
index 0000000000..d270523e5e
--- /dev/null
+++ b/src/backend/requirements-3.14.txt
@@ -0,0 +1,2353 @@
+# This file was autogenerated by uv via the following command:
+# uv pip compile src/backend/requirements.in -o src/backend/requirements-3.14.txt --python-version=3.14 -c src/backend/requirements.txt
+asgiref==3.11.1 \
+ --hash=sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce \
+ --hash=sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133
+ # via
+ # -c src/backend/requirements.txt
+ # django
+ # django-allauth
+ # django-cors-headers
+ # django-structlog
+attrs==25.4.0 \
+ --hash=sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11 \
+ --hash=sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373
+ # via
+ # -c src/backend/requirements.txt
+ # jsonschema
+ # referencing
+babel==2.18.0 \
+ --hash=sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d \
+ --hash=sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35
+ # via
+ # -c src/backend/requirements.txt
+ # py-moneyed
+bcrypt==5.0.0 \
+ --hash=sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4 \
+ --hash=sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a \
+ --hash=sha256:0c8e093ea2532601a6f686edbc2c6b2ec24131ff5c52f7610dd64fa4553b5464 \
+ --hash=sha256:0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4 \
+ --hash=sha256:137c5156524328a24b9fac1cb5db0ba618bc97d11970b39184c1d87dc4bf1746 \
+ --hash=sha256:200af71bc25f22006f4069060c88ed36f8aa4ff7f53e67ff04d2ab3f1e79a5b2 \
+ --hash=sha256:212139484ab3207b1f0c00633d3be92fef3c5f0af17cad155679d03ff2ee1e41 \
+ --hash=sha256:2b732e7d388fa22d48920baa267ba5d97cca38070b69c0e2d37087b381c681fd \
+ --hash=sha256:35a77ec55b541e5e583eb3436ffbbf53b0ffa1fa16ca6782279daf95d146dcd9 \
+ --hash=sha256:38cac74101777a6a7d3b3e3cfefa57089b5ada650dce2baf0cbdd9d65db22a9e \
+ --hash=sha256:3abeb543874b2c0524ff40c57a4e14e5d3a66ff33fb423529c88f180fd756538 \
+ --hash=sha256:3ca8a166b1140436e058298a34d88032ab62f15aae1c598580333dc21d27ef10 \
+ --hash=sha256:3cf67a804fc66fc217e6914a5635000259fbbbb12e78a99488e4d5ba445a71eb \
+ --hash=sha256:4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef \
+ --hash=sha256:48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4 \
+ --hash=sha256:4bfd2a34de661f34d0bda43c3e4e79df586e4716ef401fe31ea39d69d581ef23 \
+ --hash=sha256:560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef \
+ --hash=sha256:5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75 \
+ --hash=sha256:5feebf85a9cefda32966d8171f5db7e3ba964b77fdfe31919622256f80f9cf42 \
+ --hash=sha256:611f0a17aa4a25a69362dcc299fda5c8a3d4f160e2abb3831041feb77393a14a \
+ --hash=sha256:61afc381250c3182d9078551e3ac3a41da14154fbff647ddf52a769f588c4172 \
+ --hash=sha256:64d7ce196203e468c457c37ec22390f1a61c85c6f0b8160fd752940ccfb3a683 \
+ --hash=sha256:64ee8434b0da054d830fa8e89e1c8bf30061d539044a39524ff7dec90481e5c2 \
+ --hash=sha256:6b8f520b61e8781efee73cba14e3e8c9556ccfb375623f4f97429544734545b4 \
+ --hash=sha256:741449132f64b3524e95cd30e5cd3343006ce146088f074f31ab26b94e6c75ba \
+ --hash=sha256:744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da \
+ --hash=sha256:79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493 \
+ --hash=sha256:7aeef54b60ceddb6f30ee3db090351ecf0d40ec6e2abf41430997407a46d2254 \
+ --hash=sha256:7edda91d5ab52b15636d9c30da87d2cc84f426c72b9dba7a9b4fe142ba11f534 \
+ --hash=sha256:7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f \
+ --hash=sha256:7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c \
+ --hash=sha256:801cad5ccb6b87d1b430f183269b94c24f248dddbbc5c1f78b6ed231743e001c \
+ --hash=sha256:83e787d7a84dbbfba6f250dd7a5efd689e935f03dd83b0f919d39349e1f23f83 \
+ --hash=sha256:89042e61b5e808b67daf24a434d89bab164d4de1746b37a8d173b6b14f3db9ff \
+ --hash=sha256:92864f54fb48b4c718fc92a32825d0e42265a627f956bc0361fe869f1adc3e7d \
+ --hash=sha256:9d52ed507c2488eddd6a95bccee4e808d3234fa78dd370e24bac65a21212b861 \
+ --hash=sha256:9fffdb387abe6aa775af36ef16f55e318dcda4194ddbf82007a6f21da29de8f5 \
+ --hash=sha256:a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9 \
+ --hash=sha256:a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b \
+ --hash=sha256:a71f70ee269671460b37a449f5ff26982a6f2ba493b3eabdd687b4bf35f875ac \
+ --hash=sha256:b17366316c654e1ad0306a6858e189fc835eca39f7eb2cafd6aaca8ce0c40a2e \
+ --hash=sha256:baade0a5657654c2984468efb7d6c110db87ea63ef5a4b54732e7e337253e44f \
+ --hash=sha256:c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb \
+ --hash=sha256:c58b56cdfb03202b3bcc9fd8daee8e8e9b6d7e3163aa97c631dfcfcc24d36c86 \
+ --hash=sha256:cde08734f12c6a4e28dc6755cd11d3bdfea608d93d958fffbe95a7026ebe4980 \
+ --hash=sha256:d79e5c65dcc9af213594d6f7f1fa2c98ad3fc10431e7aa53c176b441943efbdd \
+ --hash=sha256:d8d65b564ec849643d9f7ea05c6d9f0cd7ca23bdd4ac0c2dbef1104ab504543d \
+ --hash=sha256:db99dca3b1fdc3db87d7c57eac0c82281242d1eabf19dcb8a6b10eb29a2e72d1 \
+ --hash=sha256:dcd58e2b3a908b5ecc9b9df2f0085592506ac2d5110786018ee5e160f28e0911 \
+ --hash=sha256:dd19cf5184a90c873009244586396a6a884d591a5323f0e8a5922560718d4993 \
+ --hash=sha256:ddb4e1500f6efdd402218ffe34d040a1196c072e07929b9820f363a1fd1f4191 \
+ --hash=sha256:e3cf5b2560c7b5a142286f69bde914494b6d8f901aaa71e453078388a50881c4 \
+ --hash=sha256:ed2e1365e31fc73f1825fa830f1c8f8917ca1b3ca6185773b349c20fd606cec2 \
+ --hash=sha256:edfcdcedd0d0f05850c52ba3127b1fce70b9f89e0fe5ff16517df7e81fa3cbb8 \
+ --hash=sha256:f0ce778135f60799d89c9693b9b398819d15f1921ba15fe719acb3178215a7db \
+ --hash=sha256:f2347d3534e76bf50bca5500989d6c1d05ed64b440408057a37673282c654927 \
+ --hash=sha256:f3c08197f3039bec79cee59a606d62b96b16669cff3949f21e74796b6e3cd2be \
+ --hash=sha256:f632fd56fc4e61564f78b46a2269153122db34988e78b6be8b32d28507b7eaeb \
+ --hash=sha256:f6984a24db30548fd39a44360532898c33528b74aedf81c26cf29c51ee47057e \
+ --hash=sha256:f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf \
+ --hash=sha256:f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd \
+ --hash=sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822 \
+ --hash=sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b
+ # via
+ # -c src/backend/requirements.txt
+ # paramiko
+bleach[css]==6.3.0 \
+ --hash=sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22 \
+ --hash=sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6
+ # via
+ # -c src/backend/requirements.txt
+ # django-markdownify
+blessed==1.32.0 \
+ --hash=sha256:c6fdc18838491ebc7f0460234917eff4e172074934f5f80e82672417bd74be70 \
+ --hash=sha256:d4090e9908cf86bea15a5275845c8bfc69c4c34eb6d22de07c65d26f1e54a918
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+boto3==1.42.62 \
+ --hash=sha256:6b26ff56c458685caec3d42adde0549f6a55410e557e1f51bebde5c8abcf3037 \
+ --hash=sha256:eef0ee08f30e5ed16d8296719808801a827fa0f3126a3e2a9ef9be9eb5e6a313
+ # via
+ # -c src/backend/requirements.txt
+ # django-anymail
+ # django-storages
+botocore==1.42.62 \
+ --hash=sha256:86d327fded96775268ffe8d8bd6ed96c4a1db86cf24eb64ff85233db12dbc287 \
+ --hash=sha256:c210dc93b0b81bf72cfe745a7b1c8df765d04bd90b4ac6c8707fbb6714141dae
+ # via
+ # -c src/backend/requirements.txt
+ # boto3
+ # s3transfer
+brotli==1.2.0 \
+ --hash=sha256:022426c9e99fd65d9475dce5c195526f04bb8be8907607e27e747893f6ee3e24 \
+ --hash=sha256:072e7624b1fc4d601036ab3f4f27942ef772887e876beff0301d261210bca97f \
+ --hash=sha256:09ac247501d1909e9ee47d309be760c89c990defbb2e0240845c892ea5ff0de4 \
+ --hash=sha256:0bbd5b5ccd157ae7913750476d48099aaf507a79841c0d04a9db4415b14842de \
+ --hash=sha256:0cf8c3b8ba93d496b2fae778039e2f5ecc7cff99df84df337ca31d8f2252896c \
+ --hash=sha256:14ef29fc5f310d34fc7696426071067462c9292ed98b5ff5a27ac70a200e5470 \
+ --hash=sha256:15b33fe93cedc4caaff8a0bd1eb7e3dab1c61bb22a0bf5bdfdfd97cd7da79744 \
+ --hash=sha256:1b1d6a4efedd53671c793be6dd760fcf2107da3a52331ad9ea429edf0902f27a \
+ --hash=sha256:1b557b29782a643420e08d75aea889462a4a8796e9a6cf5621ab05a3f7da8ef2 \
+ --hash=sha256:1b71754d5b6eda54d16fbbed7fce2d8bc6c052a1b91a35c320247946ee103502 \
+ --hash=sha256:1ce223652fd4ed3eb2b7f78fbea31c52314baecfac68db44037bb4167062a937 \
+ --hash=sha256:1e68cdf321ad05797ee41d1d09169e09d40fdf51a725bb148bff892ce04583d7 \
+ --hash=sha256:260d3692396e1895c5034f204f0db022c056f9e2ac841593a4cf9426e2a3faca \
+ --hash=sha256:26e8d3ecb0ee458a9804f47f21b74845cc823fd1bb19f02272be70774f56e2a6 \
+ --hash=sha256:2881416badd2a88a7a14d981c103a52a23a276a553a8aacc1346c2ff47c8dc17 \
+ --hash=sha256:29b7e6716ee4ea0c59e3b241f682204105f7da084d6254ec61886508efeb43bc \
+ --hash=sha256:2a7f1d03727130fc875448b65b127a9ec5d06d19d0148e7554384229706f9d1b \
+ --hash=sha256:2d39b54b968f4b49b5e845758e202b1035f948b0561ff5e6385e855c96625971 \
+ --hash=sha256:2e1ad3fda65ae0d93fec742a128d72e145c9c7a99ee2fcd667785d99eb25a7fe \
+ --hash=sha256:3173e1e57cebb6d1de186e46b5680afbd82fd4301d7b2465beebe83ed317066d \
+ --hash=sha256:3219bd9e69868e57183316ee19c84e03e8f8b5a1d1f2667e1aa8c2f91cb061ac \
+ --hash=sha256:350c8348f0e76fff0a0fd6c26755d2653863279d086d3aa2c290a6a7251135dd \
+ --hash=sha256:35d382625778834a7f3061b15423919aa03e4f5da34ac8e02c074e4b75ab4f84 \
+ --hash=sha256:3b90b767916ac44e93a8e28ce6adf8d551e43affb512f2377c732d486ac6514e \
+ --hash=sha256:3e1b35d56856f3ed326b140d3c6d9db91740f22e14b06e840fe4bb1923439a18 \
+ --hash=sha256:3ebe801e0f4e56d17cd386ca6600573e3706ce1845376307f5d2cbd32149b69a \
+ --hash=sha256:3f3c908bcc404c90c77d5a073e55271a0a498f4e0756e48127c35d91cf155947 \
+ --hash=sha256:40d918bce2b427a0c4ba189df7a006ac0c7277c180aee4617d99e9ccaaf59e6a \
+ --hash=sha256:465a0d012b3d3e4f1d6146ea019b5c11e3e87f03d1676da1cc3833462e672fb0 \
+ --hash=sha256:4735a10f738cb5516905a121f32b24ce196ab82cfc1e4ba2e3ad1b371085fd46 \
+ --hash=sha256:4ecdb3b6dc36e6d6e14d3a1bdc6c1057c8cbf80db04031d566eb6080ce283a48 \
+ --hash=sha256:50b1b799f45da91292ffaa21a473ab3a3054fa78560e8ff67082a185274431c8 \
+ --hash=sha256:54a50a9dad16b32136b2241ddea9e4df159b41247b2ce6aac0b3276a66a8f1e5 \
+ --hash=sha256:5732eff8973dd995549a18ecbd8acd692ac611c5c0bb3f59fa3541ae27b33be3 \
+ --hash=sha256:598e88c736f63a0efec8363f9eb34e5b5536b7b6b1821e401afcb501d881f59a \
+ --hash=sha256:640fe199048f24c474ec6f3eae67c48d286de12911110437a36a87d7c89573a6 \
+ --hash=sha256:66c02c187ad250513c2f4fce973ef402d22f80e0adce734ee4e4efd657b6cb64 \
+ --hash=sha256:67a91c5187e1eec76a61625c77a6c8c785650f5b576ca732bd33ef58b0dff49c \
+ --hash=sha256:6be67c19e0b0c56365c6a76e393b932fb0e78b3b56b711d180dd7013cb1fd984 \
+ --hash=sha256:6c12dad5cd04530323e723787ff762bac749a7b256a5bece32b2243dd5c27b21 \
+ --hash=sha256:71a66c1c9be66595d628467401d5976158c97888c2c9379c034e1e2312c5b4f5 \
+ --hash=sha256:7274942e69b17f9cef76691bcf38f2b2d4c8a5f5dba6ec10958363dcb3308a0a \
+ --hash=sha256:7547369c4392b47d30a3467fe8c3330b4f2e0f7730e45e3103d7d636678a808b \
+ --hash=sha256:7a47ce5c2288702e09dc22a44d0ee6152f2c7eda97b3c8482d826a1f3cfc7da7 \
+ --hash=sha256:7a61c06b334bd99bc5ae84f1eeb36bfe01400264b3c352f968c6e30a10f9d08b \
+ --hash=sha256:7ad8cec81f34edf44a1c6a7edf28e7b7806dfb8886e371d95dcf789ccd4e4982 \
+ --hash=sha256:7e9053f5fb4e0dfab89243079b3e217f2aea4085e4d58c5c06115fc34823707f \
+ --hash=sha256:7fa18d65a213abcfbb2f6cafbb4c58863a8bd6f2103d65203c520ac117d1944b \
+ --hash=sha256:81da1b229b1889f25adadc929aeb9dbc4e922bd18561b65b08dd9343cfccca84 \
+ --hash=sha256:82676c2781ecf0ab23833796062786db04648b7aae8be139f6b8065e5e7b1518 \
+ --hash=sha256:832c115a020e463c2f67664560449a7bea26b0c1fdd690352addad6d0a08714d \
+ --hash=sha256:844a8ceb8483fefafc412f85c14f2aae2fb69567bf2a0de53cdb88b73e7c43ae \
+ --hash=sha256:865cedc7c7c303df5fad14a57bc5db1d4f4f9b2b4d0a7523ddd206f00c121a16 \
+ --hash=sha256:88ef7d55b7bcf3331572634c3fd0ed327d237ceb9be6066810d39020a3ebac7a \
+ --hash=sha256:898be2be399c221d2671d29eed26b6b2713a02c2119168ed914e7d00ceadb56f \
+ --hash=sha256:8d4f47f284bdd28629481c97b5f29ad67544fa258d9091a6ed1fda47c7347cd1 \
+ --hash=sha256:92edab1e2fd6cd5ca605f57d4545b6599ced5dea0fd90b2bcdf8b247a12bd190 \
+ --hash=sha256:9322b9f8656782414b37e6af884146869d46ab85158201d82bab9abbcb971dc7 \
+ --hash=sha256:95db242754c21a88a79e01504912e537808504465974ebb92931cfca2510469e \
+ --hash=sha256:963a08f3bebd8b75ac57661045402da15991468a621f014be54e50f53a58d19e \
+ --hash=sha256:96fbe82a58cdb2f872fa5d87dedc8477a12993626c446de794ea025bbda625ea \
+ --hash=sha256:99cfa69813d79492f0e5d52a20fd18395bc82e671d5d40bd5a91d13e75e468e8 \
+ --hash=sha256:9c79f57faa25d97900bfb119480806d783fba83cd09ee0b33c17623935b05fa3 \
+ --hash=sha256:9e5825ba2c9998375530504578fd4d5d1059d09621a02065d1b6bfc41a8e05ab \
+ --hash=sha256:9fe11467c42c133f38d42289d0861b6b4f9da31e8087ca2c0d7ebb4543625526 \
+ --hash=sha256:a1778532b978d2536e79c05dac2d8cd857f6c55cd0c95ace5b03740824e0e2f1 \
+ --hash=sha256:a387225a67f619bf16bd504c37655930f910eb03675730fc2ad69d3d8b5e7e92 \
+ --hash=sha256:a56ef534b66a749759ebd091c19c03ef81eb8cd96f0d1d16b59127eaf1b97a12 \
+ --hash=sha256:aa47441fa3026543513139cb8926a92a8e305ee9c71a6209ef7a97d91640ea03 \
+ --hash=sha256:ac27a70bda257ae3f380ec8310b0a06680236bea547756c277b5dfe55a2452a8 \
+ --hash=sha256:acec55bb7c90f1dfc476126f9711a8e81c9af7fb617409a9ee2953115343f08d \
+ --hash=sha256:adedc4a67e15327dfdd04884873c6d5a01d3e3b6f61406f99b1ed4865a2f6d28 \
+ --hash=sha256:af43b8711a8264bb4e7d6d9a6d004c3a2019c04c01127a868709ec29962b6036 \
+ --hash=sha256:b232029d100d393ae3c603c8ffd7e3fe6f798c5e28ddca5feabb8e8fdb732997 \
+ --hash=sha256:b35c13ce241abdd44cb8ca70683f20c0c079728a36a996297adb5334adfc1c44 \
+ --hash=sha256:b63daa43d82f0cdabf98dee215b375b4058cce72871fd07934f179885aad16e8 \
+ --hash=sha256:b908d1a7b28bc72dfb743be0d4d3f8931f8309f810af66c906ae6cd4127c93cb \
+ --hash=sha256:ba76177fd318ab7b3b9bf6522be5e84c2ae798754b6cc028665490f6e66b5533 \
+ --hash=sha256:bba6e7e6cfe1e6cb6eb0b7c2736a6059461de1fa2c0ad26cf845de6c078d16c8 \
+ --hash=sha256:c0d6770111d1879881432f81c369de5cde6e9467be7c682a983747ec800544e2 \
+ --hash=sha256:c16ab1ef7bb55651f5836e8e62db1f711d55b82ea08c3b8083ff037157171a69 \
+ --hash=sha256:c1702888c9f3383cc2f09eb3e88b8babf5965a54afb79649458ec7c3c7a63e96 \
+ --hash=sha256:c25332657dee6052ca470626f18349fc1fe8855a56218e19bd7a8c6ad4952c49 \
+ --hash=sha256:c8565e3cdc1808b1a34714b553b262c5de5fbda202285782173ec137fd13709f \
+ --hash=sha256:cf9cba6f5b78a2071ec6fb1e7bd39acf35071d90a81231d67e92d637776a6a63 \
+ --hash=sha256:d206a36b4140fbb5373bf1eb73fb9de589bb06afd0d22376de23c5e91d0ab35f \
+ --hash=sha256:d2d085ded05278d1c7f65560aae97b3160aeb2ea2c0b3e26204856beccb60888 \
+ --hash=sha256:d8c05b1dfb61af28ef37624385b0029df902ca896a639881f594060b30ffc9a7 \
+ --hash=sha256:e310f77e41941c13340a95976fe66a8a95b01e783d430eeaf7a2f87e0a57dd0a \
+ --hash=sha256:e7c0af964e0b4e3412a0ebf341ea26ec767fa0b4cf81abb5e897c9338b5ad6a3 \
+ --hash=sha256:e80a28f2b150774844c8b454dd288be90d76ba6109670fe33d7ff54d96eb5cb8 \
+ --hash=sha256:e813da3d2d865e9793ef681d3a6b66fa4b7c19244a45b817d0cceda67e615990 \
+ --hash=sha256:e85190da223337a6b7431d92c799fca3e2982abd44e7b8dec69938dcc81c8e9e \
+ --hash=sha256:e99befa0b48f3cd293dafeacdd0d191804d105d279e0b387a32054c1180f3161 \
+ --hash=sha256:eda5a6d042c698e28bda2507a89b16555b9aa954ef1d750e1c20473481aff675 \
+ --hash=sha256:ef87b8ab2704da227e83a246356a2b179ef826f550f794b2c52cddb4efbd0196 \
+ --hash=sha256:f16dace5e4d3596eaeb8af334b4d2c820d34b8278da633ce4a00020b2eac981c \
+ --hash=sha256:f8d635cafbbb0c61327f942df2e3f474dde1cff16c3cd0580564774eaba1ee13 \
+ --hash=sha256:fc1530af5c3c275b8524f2e24841cbe2599d74462455e9bae5109e9ff42e9361 \
+ --hash=sha256:ff09cd8c5eec3b9d02d2408db41be150d8891c5566addce57513bf546e3d6c6d
+ # via
+ # -c src/backend/requirements.txt
+ # fonttools
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
+ # via
+ # -c src/backend/requirements.txt
+ # requests
+ # sentry-sdk
+cffi==2.0.0 \
+ --hash=sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb \
+ --hash=sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b \
+ --hash=sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f \
+ --hash=sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9 \
+ --hash=sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44 \
+ --hash=sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2 \
+ --hash=sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c \
+ --hash=sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75 \
+ --hash=sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65 \
+ --hash=sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e \
+ --hash=sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a \
+ --hash=sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e \
+ --hash=sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25 \
+ --hash=sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a \
+ --hash=sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe \
+ --hash=sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b \
+ --hash=sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91 \
+ --hash=sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592 \
+ --hash=sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187 \
+ --hash=sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c \
+ --hash=sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1 \
+ --hash=sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94 \
+ --hash=sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba \
+ --hash=sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb \
+ --hash=sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165 \
+ --hash=sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529 \
+ --hash=sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca \
+ --hash=sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c \
+ --hash=sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6 \
+ --hash=sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c \
+ --hash=sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0 \
+ --hash=sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743 \
+ --hash=sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63 \
+ --hash=sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5 \
+ --hash=sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5 \
+ --hash=sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4 \
+ --hash=sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d \
+ --hash=sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b \
+ --hash=sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93 \
+ --hash=sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205 \
+ --hash=sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27 \
+ --hash=sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512 \
+ --hash=sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d \
+ --hash=sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c \
+ --hash=sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037 \
+ --hash=sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26 \
+ --hash=sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322 \
+ --hash=sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb \
+ --hash=sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c \
+ --hash=sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8 \
+ --hash=sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4 \
+ --hash=sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414 \
+ --hash=sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9 \
+ --hash=sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664 \
+ --hash=sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9 \
+ --hash=sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775 \
+ --hash=sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739 \
+ --hash=sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc \
+ --hash=sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062 \
+ --hash=sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe \
+ --hash=sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9 \
+ --hash=sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92 \
+ --hash=sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5 \
+ --hash=sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13 \
+ --hash=sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d \
+ --hash=sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26 \
+ --hash=sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f \
+ --hash=sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495 \
+ --hash=sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b \
+ --hash=sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6 \
+ --hash=sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c \
+ --hash=sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef \
+ --hash=sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5 \
+ --hash=sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18 \
+ --hash=sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad \
+ --hash=sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3 \
+ --hash=sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7 \
+ --hash=sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5 \
+ --hash=sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534 \
+ --hash=sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49 \
+ --hash=sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2 \
+ --hash=sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5 \
+ --hash=sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453 \
+ --hash=sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf
+ # via
+ # -c src/backend/requirements.txt
+ # cryptography
+ # pynacl
+ # weasyprint
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
+ # via
+ # -c src/backend/requirements.txt
+ # requests
+cryptography==46.0.5 \
+ --hash=sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72 \
+ --hash=sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235 \
+ --hash=sha256:1abfdb89b41c3be0365328a410baa9df3ff8a9110fb75e7b52e66803ddabc9a9 \
+ --hash=sha256:2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356 \
+ --hash=sha256:2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257 \
+ --hash=sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad \
+ --hash=sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4 \
+ --hash=sha256:3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c \
+ --hash=sha256:3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614 \
+ --hash=sha256:3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed \
+ --hash=sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31 \
+ --hash=sha256:420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229 \
+ --hash=sha256:47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0 \
+ --hash=sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731 \
+ --hash=sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b \
+ --hash=sha256:4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4 \
+ --hash=sha256:4e817a8920bfbcff8940ecfd60f23d01836408242b30f1a708d93198393a80b4 \
+ --hash=sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263 \
+ --hash=sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595 \
+ --hash=sha256:582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1 \
+ --hash=sha256:5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678 \
+ --hash=sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48 \
+ --hash=sha256:61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76 \
+ --hash=sha256:68f68d13f2e1cb95163fa3b4db4bf9a159a418f5f6e7242564fc75fcae667fd0 \
+ --hash=sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18 \
+ --hash=sha256:7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d \
+ --hash=sha256:803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d \
+ --hash=sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1 \
+ --hash=sha256:8293f3dea7fc929ef7240796ba231413afa7b68ce38fd21da2995549f5961981 \
+ --hash=sha256:8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7 \
+ --hash=sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82 \
+ --hash=sha256:94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2 \
+ --hash=sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4 \
+ --hash=sha256:a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663 \
+ --hash=sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c \
+ --hash=sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d \
+ --hash=sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a \
+ --hash=sha256:bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a \
+ --hash=sha256:bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d \
+ --hash=sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b \
+ --hash=sha256:c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a \
+ --hash=sha256:c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826 \
+ --hash=sha256:c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee \
+ --hash=sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9 \
+ --hash=sha256:d66e421495fdb797610a08f43b05269e0a5ea7f5e652a89bfd5a7d3c1dee3648 \
+ --hash=sha256:d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da \
+ --hash=sha256:e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2 \
+ --hash=sha256:f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2 \
+ --hash=sha256:fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # django-anymail
+ # djangorestframework-simplejwt
+ # fido2
+ # jwcrypto
+ # paramiko
+ # pyjwt
+cssselect2==0.9.0 \
+ --hash=sha256:6a99e5f91f9a016a304dd929b0966ca464bcfda15177b6fb4a118fc0fb5d9563 \
+ --hash=sha256:759aa22c216326356f65e62e791d66160a0f9c91d1424e8d8adc5e74dddfc6fb
+ # via
+ # -c src/backend/requirements.txt
+ # weasyprint
+defusedxml==0.7.1 \
+ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \
+ --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61
+ # via
+ # -c src/backend/requirements.txt
+ # python3-openid
+django==5.2.12 \
+ --hash=sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7 \
+ --hash=sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # django-allauth
+ # django-anymail
+ # django-cors-headers
+ # django-dbbackup
+ # django-error-report-2
+ # django-filter
+ # django-flags
+ # django-ical
+ # django-js-asset
+ # django-markdownify
+ # django-money
+ # django-oauth-toolkit
+ # django-otp
+ # django-picklefield
+ # django-q2
+ # django-recurrence
+ # django-redis
+ # django-sesame
+ # django-sql-utils
+ # django-sslserver
+ # django-stdimage
+ # django-storages
+ # django-structlog
+ # django-taggit
+ # django-xforwardedfor-middleware
+ # djangorestframework
+ # djangorestframework-simplejwt
+ # drf-spectacular
+django-allauth[headless, mfa, openid, saml, socialaccount]==65.14.3 \
+ --hash=sha256:1d8e1127bdffceb8001bdd9bafbf97661f81e92f4b7bd4f6e799167b0311286d \
+ --hash=sha256:548eef76ab85f6e48f46f98437abf22acf0e834f73e9915fb6cc3f31a0dcdf4d
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-anymail[amazon-ses, postal]==14.0 \
+ --hash=sha256:98e5575bcff231952a92117b7d0a4dd37fab582333a343de302d415a31dc72b1 \
+ --hash=sha256:ca42e52da62d2c96ce92412f9d68ef6d2067d96a384096b6e932d6a247e9fd61
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-cleanup==9.0.0 \
+ --hash=sha256:19f8b0e830233f9f0f683b17181f414672a0f48afe3ea3cc80ba47ae40ad880c \
+ --hash=sha256:bb9fb560aaf62959c81e31fa40885c36bbd5854d5aa21b90df2c7e4ba633531e
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-cors-headers==4.9.0 \
+ --hash=sha256:15c7f20727f90044dcee2216a9fd7303741a864865f0c3657e28b7056f61b449 \
+ --hash=sha256:fe5d7cb59fdc2c8c646ce84b727ac2bca8912a247e6e68e1fb507372178e59e8
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-dbbackup==5.2.0 \
+ --hash=sha256:540948869e44778b5b33333cbab0cfe44279defd47df635d309ede8666894370 \
+ --hash=sha256:72b11dd31758abcf8f2d405fd2efbc49c9624bc17196f8c68542d3dc8d8d53c3
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-error-report-2==0.4.2 \
+ --hash=sha256:1dd99c497af09b7ea99f5fbaf910501838150a9d5390796ea00e187bc62f6c1b \
+ --hash=sha256:603e1e3b24d01bbfeab6379af948893b2b034031c80fa8b45cf1c4735341c04b
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-filter==25.2 \
+ --hash=sha256:760e984a931f4468d096f5541787efb8998c61217b73006163bf2f9523fe8f23 \
+ --hash=sha256:9c0f8609057309bba611062fe1b720b4a873652541192d232dd28970383633e3
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-flags==5.2.0 \
+ --hash=sha256:a3aee5e0d11e24e35f5ae4a423d52cad721f639181c1b1251e0148d8530a3f81 \
+ --hash=sha256:aa22543410f68a4082c576f3be469ea67a51c933f8a43eb8b10f6236f158e17e
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-ical==1.9.2 \
+ --hash=sha256:44c9b6fa90d09f25e9ebaa91ed9eb007f079afbc23d6aac909cfc18188a8e90c \
+ --hash=sha256:74a16bca05735f91a00120cad7250f3c3aa292a9f698a6cfdc544a922c11de70
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-ipware==7.0.1 \
+ --hash=sha256:d9ec43d2bf7cdf216fed8d494a084deb5761a54860a53b2e74346a4f384cff47 \
+ --hash=sha256:db16bbee920f661ae7f678e4270460c85850f03c6761a4eaeb489bdc91f64709
+ # via
+ # -c src/backend/requirements.txt
+ # django-structlog
+django-js-asset==3.1.2 \
+ --hash=sha256:1fc7584199ed1941ed7c8e7b87ca5524bb0f2ba941561d2a104e88ee9f07bedd \
+ --hash=sha256:b5ffe376aebbd73b7af886d675ac9f43ca63b39540190fa8409c9f8e79145f68
+ # via
+ # -c src/backend/requirements.txt
+ # django-mptt
+django-mailbox==4.10.1 \
+ --hash=sha256:9060a4ddc81d16aa699e266649c12eaf4f29671b5266352e2fad3043a6832b52
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-maintenance-mode==0.22.0 \
+ --hash=sha256:502f04f845d6996e8add321186b3b9236c3702de7cb0ab14952890af6523b9e5 \
+ --hash=sha256:a9cf2ba79c9945bd67f98755a6cfd281869d39b3745bbb5d1f571d058657aa85
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-markdownify==0.9.6 \
+ --hash=sha256:9863b2bfa6d159ad1423dc93bf0d6eadc6413776de304049aa9fcfa5edd2ce1c \
+ --hash=sha256:edcf47b2026d55a8439049d35c8b54e11066a4856c4fad1060e139cb3d2eee52
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-money==3.6.0 \
+ --hash=sha256:94402f2831f2726b94ef2da35b4059441b4c0aedfc47b312472200d4ffdf8d73 \
+ --hash=sha256:a8d249bf3ce6ad7fb953530c920cc85ea7f1137c0fde747a74204ea24ec97ab1
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-mptt==0.18.0 \
+ --hash=sha256:bfa3f01627e3966a1df901aeca74570a3e933e66809ebf58d9df673e63627afb \
+ --hash=sha256:cf5661357ff22bc64e20d3341c26e538aa54583aea0763cfe6aaec0ab8e3a8ee
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-oauth-toolkit==3.2.0 \
+ --hash=sha256:bd2cd2719b010231a2f370f927dbcc740454fb1d0dd7e7f4138f36227363dc26 \
+ --hash=sha256:c36761ae6810083d95a652e9c820046cde0d45a2e2a5574bbe7202656ec20bb6
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-otp==1.3.0 \
+ --hash=sha256:5277731bc05b6cdbf96aa84ac46018e30ed5fb248086053b0146f925de059060 \
+ --hash=sha256:8f4156a3c14ce2aaa31379385eadf388925cd50fc4b5d20a3b944f454c98ff7c
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-picklefield==3.4.0 \
+ --hash=sha256:3a1f740536c0e60d0dba43aa89ccdbe86760d4c3f8ec47799eae122baa741d0a \
+ --hash=sha256:929bcfbae5b48bd22a52bc04521fdfdd152eee36abb9f20228f9480f9df65f45
+ # via
+ # -c src/backend/requirements.txt
+ # django-q2
+django-q-sentry==0.1.6 \
+ --hash=sha256:9b8b4d7fad253a7d9a47f2c2ab0d9dea83078b7ef45c8849dbb1e4176ef8d050
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-q2==1.9.0 \
+ --hash=sha256:4eded27644b0ffb291839c9f9c12fea6c0dec63ebd891fa6881b0b446098a49d \
+ --hash=sha256:ef7facca96fae9c11ddf2c5252d3817975c7a9a6d989fa0d65487d8823d57799
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-recurrence==1.14 \
+ --hash=sha256:154a6221bd6667c35250d9fa89bbc4792b3f1ec5dc8dff0f5872186b6df3cf76 \
+ --hash=sha256:3e7420a38c7fa2f5073598e2a4236c65a983213f30f4413618448b43514649cd
+ # via
+ # -c src/backend/requirements.txt
+ # django-ical
+django-redis==6.0.0 \
+ --hash=sha256:20bf0063a8abee567eb5f77f375143c32810c8700c0674ced34737f8de4e36c0 \
+ --hash=sha256:2d9cb12a20424a4c4dde082c6122f486628bae2d9c2bee4c0126a4de7fda00dd
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-sesame==3.2.3 \
+ --hash=sha256:09977a1c55bdbcce0a024c712c4d683e1a69543a217626ffa1d5f7ef7ebffc58 \
+ --hash=sha256:5da0210a57a8f48dd61a6c8125e61121403042ed000c96187e4188a8241496d6
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-sql-utils==0.7.0 \
+ --hash=sha256:9371ff28eaf326836a7c52887259123cdd3fbffb7b738e42ae1a21258be0feb6 \
+ --hash=sha256:fefc40c826896b60fcf33e35b6e30b523fc958955a16006438cd3ba6d795a532
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-sslserver==0.22 \
+ --hash=sha256:c598a363d2ccdc2421c08ddb3d8b0973f80e8e47a3a5b74e4a2896f21c2947c5
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-stdimage==6.0.2 \
+ --hash=sha256:880ab14828be56b53f711c3afae83c219ddd5d9af00850626736feb48382bf7f \
+ --hash=sha256:9a73f7da48c48074580e2b032d5bdb7164935dbe4b9dc4fb88a7e112f3d521c8
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-storages[s3, sftp]==1.14.6 \
+ --hash=sha256:11b7b6200e1cb5ffcd9962bd3673a39c7d6a6109e8096f0e03d46fab3d3aabd9 \
+ --hash=sha256:7a25ce8f4214f69ac9c7ce87e2603887f7ae99326c316bc8d2d75375e09341c9
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-structlog==10.0.0 \
+ --hash=sha256:4e3fa4a930697fb9b649470e389419bb73b916a1ecf4f4bf2f8727f5cbfdb002 \
+ --hash=sha256:4f9db3cb7b308df6aa4afe1353d9c19d5bac757022ddbbb5c24f3d0d6a91a240
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-taggit==6.1.0 \
+ --hash=sha256:ab776264bbc76cb3d7e49e1bf9054962457831bd21c3a42db9138b41956e4cf0 \
+ --hash=sha256:c4d1199e6df34125dd36db5eb0efe545b254dec3980ce5dd80e6bab3e78757c3
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+django-xforwardedfor-middleware==2.0 \
+ --hash=sha256:16fd1cb27f33a5541b6f3e0b43afb1b7334a76f27a1255b69e14ec5c440f0b24
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+djangorestframework==3.17.0 \
+ --hash=sha256:456fd992a33f9e64c9d0f47e85d9787db0efb44f894c1e513315b5e74765bd4c \
+ --hash=sha256:d84fe85f30b7ac6e8c0076ce9ff635e4eaedca5912f8d7d2926ce448c08533ba
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # djangorestframework-simplejwt
+ # drf-spectacular
+djangorestframework-simplejwt[crypto]==5.5.1 \
+ --hash=sha256:2c30f3707053d384e9f315d11c2daccfcb548d4faa453111ca19a542b732e469 \
+ --hash=sha256:e72c5572f51d7803021288e2057afcbd03f17fe11d484096f40a460abc76e87f
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+docutils==0.22.4 \
+ --hash=sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968 \
+ --hash=sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+drf-spectacular==0.29.0 \
+ --hash=sha256:0a069339ea390ce7f14a75e8b5af4a0860a46e833fd4af027411a3e94fc1a0cc \
+ --hash=sha256:d1ee7c9535d89848affb4427347f7c4a22c5d22530b8842ef133d7b72e19b41a
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+dulwich==1.1.0 \
+ --hash=sha256:06c18293fb2c715f035052f0c74f56e5ff52925ad4d0b5a0ebf16118daa5e340 \
+ --hash=sha256:0890fff677c617efbac0cd4584bec9753388e6cd6336e7131338ea034b47e899 \
+ --hash=sha256:1b1b9adaf82301fd7b360a5fa521cec1623cb9d77a0c5a09d04396637b39eb48 \
+ --hash=sha256:2f5a455e67f9ddd018299ce8dd05861a2696d35c6af91e9acdb4af0767bc0b8b \
+ --hash=sha256:2f6dd0c5fc45c84790d4a48d168d07f0aa817fcb879d2632e6cee603e98a843c \
+ --hash=sha256:333b0f93b289b14f98870317fb0583fdf73d5341f21fd09c694aa88bb06ad911 \
+ --hash=sha256:37be136c7a85a64ae0cf8030f4fb2fa4860cff653ad3bcf13c49bf59fea2020c \
+ --hash=sha256:3ba0cb28848dd8fd80d4389d1b83968da172376cea34f9bdb39043970fa1a045 \
+ --hash=sha256:49c39844b4abe53612d18add7762faf886ade70384a101912e0849f56f885913 \
+ --hash=sha256:518307ab080746ee9c32fc13e76ad4f7df8f7665bb85922e974037dd9415541a \
+ --hash=sha256:59e10ca543b752fa4b467a9ce420ad95b65e232f817f91809e64fe76eb8e27c6 \
+ --hash=sha256:5a662942f123614077f14bc31e66f6adce09561cc25da1ef716c13be8dba56c5 \
+ --hash=sha256:693c450a5d327a6a5276f5292d3dd0bc473066d2fd2a2d69a990d7738535deb6 \
+ --hash=sha256:6d5a0be4a84cc6ad23b6dcf2f9cbf2a0a65dd907612ad38312b2259ebe7bae56 \
+ --hash=sha256:6e318970e405987d10c1fd8d1e45f4e8c75874e771a5512f6fbb51b13d5a3108 \
+ --hash=sha256:8cf55f0de4cf90155aa3ab228c8ef9e7e10f7c785339f1688fb71f6adaae302c \
+ --hash=sha256:904f09ae3364dc8c026812b0478f2411a973f404aa2654ea18d9f340b3915872 \
+ --hash=sha256:941735c87b3657019d197bb72f0e9ec03cbdbf959dc0869e672f5c6871597442 \
+ --hash=sha256:9a32f92c2eb86c84a175261f8fb983b6765bb31618d79d0c0dd68fab6f6ca94a \
+ --hash=sha256:9aa855db9fee0a7065ae9ffb38e14e353876d82f17e33e1a1fb3830eb8d0cf43 \
+ --hash=sha256:9b1bbb785f29f9eb51cddb9d80f82dac03939b7444961283b09adac19a823e88 \
+ --hash=sha256:a05a1049b3928205672913f4c490cf7b08afaa3e7ee7e55e15476e696412672f \
+ --hash=sha256:a0f3421802225caedd11e95ce40f6a8d3c7a5df906489b6a5f49a20f88f62928 \
+ --hash=sha256:a1959be27d8201fcee8612da8afecd8e7992d8db8767dcef8704264db09db2ad \
+ --hash=sha256:b223d00cf564c99986945bd18a74e2e9ef85e713cfe5ad61d04184c386d52fed \
+ --hash=sha256:ba6f3f0807868f788b7f1d53b9ac0be3e425136b16563994f5ef6ecf5b7c7863 \
+ --hash=sha256:bcd67e7f9bdffb4b660330c4597d251cd33e74f5df6898a2c1e6a1730a62af06 \
+ --hash=sha256:be593608a57f5cfa2a1b9927c1b486c3007f5a6f34ff251feaeca3a6a43d4780 \
+ --hash=sha256:c9752d25f01e92587f8db52e50daf3e970deb49555340653ea44ba5e60f0f416 \
+ --hash=sha256:cb5e28210e34e6473d982cdf99e420dd2791e7af4d9be796fa760055951d82df \
+ --hash=sha256:d491e05d434a403f2ed7454002f39ce6fb9ae8de93bded368721bdb9a1f41778 \
+ --hash=sha256:dff1b67e0f76fcaae8f7345c05b1c4f00c11a6c42ace20864e80e7964af31827 \
+ --hash=sha256:e738163865dfccf155ef5fa3a2b2c849f38dadc6f009d2be355864233899bb4b \
+ --hash=sha256:eb5440145bb2bbab71cdfa149fd297a8b7d4db889ab90c58d7a07009a73c1d28 \
+ --hash=sha256:f8789e14981be2d33c3c36a14ec55ae06780c0a865e9df107016c4489a4a022a \
+ --hash=sha256:fc38cc6f60c5e475fa61dcd2b743113f35377602c1ba1c82264898d97a7d3c48
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+et-xmlfile==2.0.0 \
+ --hash=sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa \
+ --hash=sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54
+ # via
+ # -c src/backend/requirements.txt
+ # openpyxl
+feedparser==6.0.12 \
+ --hash=sha256:64f76ce90ae3e8ef5d1ede0f8d3b50ce26bcce71dd8ae5e82b1cd2d4a5f94228 \
+ --hash=sha256:6bbff10f5a52662c00a2e3f86a38928c37c48f77b3c511aedcd51de933549324
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+fido2==2.1.1 \
+ --hash=sha256:f1379f845870cc7fc64c7f07323c3ce41e8c96c37054e79e0acd5630b3fec5ac \
+ --hash=sha256:f85c16c8084abf6530b6c6ec3a0cf8575943321842e06916686943a8b784182c
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+flexcache==0.3 \
+ --hash=sha256:18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656 \
+ --hash=sha256:d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32
+ # via
+ # -c src/backend/requirements.txt
+ # pint
+flexparser==0.4 \
+ --hash=sha256:266d98905595be2ccc5da964fe0a2c3526fbbffdc45b65b3146d75db992ef6b2 \
+ --hash=sha256:3738b456192dcb3e15620f324c447721023c0293f6af9955b481e91d00179846
+ # via
+ # -c src/backend/requirements.txt
+ # pint
+fonttools[woff]==4.61.1 \
+ --hash=sha256:0de30bfe7745c0d1ffa2b0b7048fb7123ad0d71107e10ee090fa0b16b9452e87 \
+ --hash=sha256:10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796 \
+ --hash=sha256:11f35ad7805edba3aac1a3710d104592df59f4b957e30108ae0ba6c10b11dd75 \
+ --hash=sha256:15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d \
+ --hash=sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371 \
+ --hash=sha256:2180f14c141d2f0f3da43f3a81bc8aa4684860f6b0e6f9e165a4831f24e6a23b \
+ --hash=sha256:21e7c8d76f62ab13c9472ccf74515ca5b9a761d1bde3265152a6dc58700d895b \
+ --hash=sha256:41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2 \
+ --hash=sha256:41ed4b5ec103bd306bb68f81dc166e77409e5209443e5773cb4ed837bcc9b0d3 \
+ --hash=sha256:497c31ce314219888c0e2fce5ad9178ca83fe5230b01a5006726cdf3ac9f24d9 \
+ --hash=sha256:4c1b526c8d3f615a7b1867f38a9410849c8f4aef078535742198e942fba0e9bd \
+ --hash=sha256:4d7092bb38c53bbc78e9255a59158b150bcdc115a1e3b3ce0b5f267dc35dd63c \
+ --hash=sha256:4f5686e1fe5fce75d82d93c47a438a25bf0d1319d2843a926f741140b2b16e0c \
+ --hash=sha256:58b0ee0ab5b1fc9921eccfe11d1435added19d6494dde14e323f25ad2bc30c56 \
+ --hash=sha256:5ce02f38a754f207f2f06557523cd39a06438ba3aafc0639c477ac409fc64e37 \
+ --hash=sha256:5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0 \
+ --hash=sha256:5fe9fd43882620017add5eabb781ebfbc6998ee49b35bd7f8f79af1f9f99a958 \
+ --hash=sha256:64102ca87e84261419c3747a0d20f396eb024bdbeb04c2bfb37e2891f5fadcb5 \
+ --hash=sha256:664c5a68ec406f6b1547946683008576ef8b38275608e1cee6c061828171c118 \
+ --hash=sha256:6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69 \
+ --hash=sha256:75c1a6dfac6abd407634420c93864a1e274ebc1c7531346d9254c0d8f6ca00f9 \
+ --hash=sha256:75da8f28eff26defba42c52986de97b22106cb8f26515b7c22443ebc9c2d3261 \
+ --hash=sha256:77efb033d8d7ff233385f30c62c7c79271c8885d5c9657d967ede124671bbdfb \
+ --hash=sha256:78a7d3ab09dc47ac1a363a493e6112d8cabed7ba7caad5f54dbe2f08676d1b47 \
+ --hash=sha256:7c7db70d57e5e1089a274cbb2b1fd635c9a24de809a231b154965d415d6c6d24 \
+ --hash=sha256:8c56c488ab471628ff3bfa80964372fc13504ece601e0d97a78ee74126b2045c \
+ --hash=sha256:91669ccac46bbc1d09e9273546181919064e8df73488ea087dcac3e2968df9ba \
+ --hash=sha256:9b666a475a65f4e839d3d10473fad6d47e0a9db14a2f4a224029c5bfde58ad2c \
+ --hash=sha256:9cfef3ab326780c04d6646f68d4b4742aae222e8b8ea1d627c74e38afcbc9d91 \
+ --hash=sha256:a13fc8aeb24bad755eea8f7f9d409438eb94e82cf86b08fe77a03fbc8f6a96b1 \
+ --hash=sha256:a75c301f96db737e1c5ed5fd7d77d9c34466de16095a266509e13da09751bd19 \
+ --hash=sha256:a76d4cb80f41ba94a6691264be76435e5f72f2cb3cab0b092a6212855f71c2f6 \
+ --hash=sha256:aed04cabe26f30c1647ef0e8fbb207516fd40fe9472e9439695f5c6998e60ac5 \
+ --hash=sha256:b148b56f5de675ee16d45e769e69f87623a4944f7443850bf9a9376e628a89d2 \
+ --hash=sha256:b501c862d4901792adaec7c25b1ecc749e2662543f68bb194c42ba18d6eec98d \
+ --hash=sha256:b846a1fcf8beadeb9ea4f44ec5bdde393e2f1569e17d700bfc49cd69bde75881 \
+ --hash=sha256:b931ae8f62db78861b0ff1ac017851764602288575d65b8e8ff1963fed419063 \
+ --hash=sha256:c33ab3ca9d3ccd581d58e989d67554e42d8d4ded94ab3ade3508455fe70e65f7 \
+ --hash=sha256:c6604b735bb12fef8e0efd5578c9fb5d3d8532d5001ea13a19cddf295673ee09 \
+ --hash=sha256:d8db08051fc9e7d8bc622f2112511b8107d8f27cd89e2f64ec45e9825e8288da \
+ --hash=sha256:d9203500f7c63545b4ce3799319fe4d9feb1a1b89b28d3cb5abd11b9dd64147e \
+ --hash=sha256:dc492779501fa723b04d0ab1f5be046797fee17d27700476edc7ee9ae535a61e \
+ --hash=sha256:e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8 \
+ --hash=sha256:e76ce097e3c57c4bcb67c5aa24a0ecdbd9f74ea9219997a707a4061fbe2707aa \
+ --hash=sha256:eff1ac3cc66c2ac7cda1e64b4e2f3ffef474b7335f92fc3833fc632d595fcee6 \
+ --hash=sha256:f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e \
+ --hash=sha256:f79b168428351d11e10c5aeb61a74e1851ec221081299f4cf56036a95431c43a \
+ --hash=sha256:fa646ecec9528bef693415c79a86e733c70a4965dd938e9a226b0fc64c9d2e6c \
+ --hash=sha256:fe2efccb324948a11dd09d22136fe2ac8a97d6c1347cf0b58a911dcd529f66b7 \
+ --hash=sha256:fff4f534200a04b4a36e7ae3cb74493afe807b517a09e99cb4faa89a34ed6ecd
+ # via
+ # -c src/backend/requirements.txt
+ # weasyprint
+googleapis-common-protos==1.73.0 \
+ --hash=sha256:778d07cd4fbeff84c6f7c72102f0daf98fa2bfd3fa8bea426edc545588da0b5a \
+ --hash=sha256:dfdaaa2e860f242046be561e6d6cb5c5f1541ae02cfbcb034371aadb2942b4e8
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+grpcio==1.78.0 \
+ --hash=sha256:082653eecbdf290e6e3e2c276ab2c54b9e7c299e07f4221872380312d8cf395e \
+ --hash=sha256:10a9a644b5dd5aec3b82b5b0b90d41c0fa94c85ef42cb42cf78a23291ddb5e7d \
+ --hash=sha256:12a771591ae40bc65ba67048fa52ef4f0e6db8279e595fd349f9dfddeef571f9 \
+ --hash=sha256:185dea0d5260cbb2d224c507bf2a5444d5abbb1fa3594c1ed7e4c709d5eb8383 \
+ --hash=sha256:1afa62af6e23f88629f2b29ec9e52ec7c65a7176c1e0a83292b93c76ca882558 \
+ --hash=sha256:2045397e63a7a0ee7957c25f7dbb36ddc110e0cfb418403d110c0a7a68a844e9 \
+ --hash=sha256:207db540302c884b8848036b80db352a832b99dfdf41db1eb554c2c2c7800f65 \
+ --hash=sha256:271c73e6e5676afe4fc52907686670c7cea22ab2310b76a59b678403ed40d670 \
+ --hash=sha256:2777b783f6c13b92bd7b716667452c329eefd646bfb3f2e9dabea2e05dbd34f6 \
+ --hash=sha256:2bf5e2e163b356978b23652c4818ce4759d40f4712ee9ec5a83c4be6f8c23a3a \
+ --hash=sha256:35eb275bf1751d2ffbd8f57cdbc46058e857cf3971041521b78b7db94bdaf127 \
+ --hash=sha256:391e93548644e6b2726f1bb84ed60048d4bcc424ce5e4af0843d28ca0b754fec \
+ --hash=sha256:3c586ac70e855c721bda8f548d38c3ca66ac791dc49b66a8281a1f99db85e452 \
+ --hash=sha256:3f8904a8165ab21e07e58bf3e30a73f4dffc7a1e0dbc32d51c61b5360d26f43e \
+ --hash=sha256:459ab414b35f4496138d0ecd735fed26f1318af5e52cb1efbc82a09f0d5aa911 \
+ --hash=sha256:4c5533d03a6cbd7f56acfc9cfb44ea64f63d29091e40e44010d34178d392d7eb \
+ --hash=sha256:51b13f9aed9d59ee389ad666b8c2214cc87b5de258fa712f9ab05f922e3896c6 \
+ --hash=sha256:5361a0630a7fdb58a6a97638ab70e1dae2893c4d08d7aba64ded28bb9e7a29df \
+ --hash=sha256:5397fff416b79e4b284959642a4e95ac4b0f1ece82c9993658e0e477d40551ec \
+ --hash=sha256:57bab6deef2f4f1ca76cc04565df38dc5713ae6c17de690721bdf30cb1e0545c \
+ --hash=sha256:6092beabe1966a3229f599d7088b38dfc8ffa1608b5b5cdda31e591e6500f856 \
+ --hash=sha256:684083fd383e9dc04c794adb838d4faea08b291ce81f64ecd08e4577c7398adf \
+ --hash=sha256:735e38e176a88ce41840c21bb49098ab66177c64c82426e24e0082500cc68af5 \
+ --hash=sha256:7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5 \
+ --hash=sha256:748b6138585379c737adc08aeffd21222abbda1a86a0dca2a39682feb9196c20 \
+ --hash=sha256:74be1268d1439eaaf552c698cdb11cd594f0c49295ae6bb72c34ee31abbe611b \
+ --hash=sha256:7cc47943d524ee0096f973e1081cb8f4f17a4615f2116882a5f1416e4cfe92b5 \
+ --hash=sha256:859b13906ce098c0b493af92142ad051bf64c7870fa58a123911c88606714996 \
+ --hash=sha256:85f93781028ec63f383f6bc90db785a016319c561cc11151fbb7b34e0d012303 \
+ --hash=sha256:86ce2371bfd7f212cf60d8517e5e854475c2c43ce14aa910e136ace72c6db6c1 \
+ --hash=sha256:86f85dd7c947baa707078a236288a289044836d4b640962018ceb9cd1f899af5 \
+ --hash=sha256:8dfffba826efcf366b1e3ccc37e67afe676f290e13a3b48d31a46739f80a8724 \
+ --hash=sha256:8f2ac84905d12918e4e55a16da17939eb63e433dc11b677267c35568aa63fc84 \
+ --hash=sha256:94309f498bcc07e5a7d16089ab984d42ad96af1d94b5a4eb966a266d9fcabf68 \
+ --hash=sha256:94f95cf5d532d0e717eed4fc1810e8e6eded04621342ec54c89a7c2f14b581bf \
+ --hash=sha256:9566fe4ababbb2610c39190791e5b829869351d14369603702e890ef3ad2d06e \
+ --hash=sha256:9dca934f24c732750389ce49d638069c3892ad065df86cb465b3fa3012b70c9e \
+ --hash=sha256:a9f136fbafe7ccf4ac7e8e0c28b31066e810be52d6e344ef954a3a70234e1702 \
+ --hash=sha256:ab399ef5e3cd2a721b1038a0f3021001f19c5ab279f145e1146bb0b9f1b2b12c \
+ --hash=sha256:b0c689c02947d636bc7fab3e30cc3a3445cca99c834dfb77cd4a6cabfc1c5597 \
+ --hash=sha256:b2342d87af32790f934a79c3112641e7b27d63c261b8b4395350dad43eff1dc7 \
+ --hash=sha256:b58f37edab4a3881bc6c9bca52670610e0c9ca14e2ea3cf9debf185b870457fb \
+ --hash=sha256:bd8cb8026e5f5b50498a3c4f196f57f9db344dad829ffae16b82e4fdbaea2813 \
+ --hash=sha256:be63c88b32e6c0f1429f1398ca5c09bc64b0d80950c8bb7807d7d7fb36fb84c7 \
+ --hash=sha256:c3f293fdc675ccba4db5a561048cca627b5e7bd1c8a6973ffedabe7d116e22e2 \
+ --hash=sha256:c41bc64626db62e72afec66b0c8a0da76491510015417c127bfc53b2fe6d7f7f \
+ --hash=sha256:ce3a90455492bf8bfa38e56fbbe1dbd4f872a3d8eeaf7337dc3b1c8aa28c271b \
+ --hash=sha256:ce7599575eeb25c0f4dc1be59cada6219f3b56176f799627f44088b21381a28a \
+ --hash=sha256:dce09d6116df20a96acfdbf85e4866258c3758180e8c49845d6ba8248b6d0bbb \
+ --hash=sha256:de8cb00d1483a412a06394b8303feec5dcb3b55f81d83aa216dbb6a0b86a94f5 \
+ --hash=sha256:df2c8f3141f7cbd112a6ebbd760290b5849cda01884554f7c67acc14e7b1758a \
+ --hash=sha256:e87cbc002b6f440482b3519e36e1313eb5443e9e9e73d6a52d43bd2004fcfd8e \
+ --hash=sha256:e888474dee2f59ff68130f8a397792d8cb8e17e6b3434339657ba4ee90845a8c \
+ --hash=sha256:f12857d24d98441af6a1d5c87442d624411db486f7ba12550b07788f74b67b04 \
+ --hash=sha256:f2d4e43ee362adfc05994ed479334d5a451ab7bc3f3fee1b796b8ca66895acb4 \
+ --hash=sha256:f3d6379493e18ad4d39537a82371c5281e153e963cecb13f953ebac155756525 \
+ --hash=sha256:f8dff3d9777e5d2703a962ee5c286c239bf0ba173877cc68dc02c17d042e29de \
+ --hash=sha256:f9ab915a267fc47c7e88c387a3a28325b58c898e23d4995f765728f4e3dedb97 \
+ --hash=sha256:fbe6e89c7ffb48518384068321621b2a69cab509f58e40e4399fdd378fa6d074 \
+ --hash=sha256:fd5f135b1bd58ab088930b3c613455796dfa0393626a6972663ccdda5b4ac6ce \
+ --hash=sha256:ff870aebe9a93a85283837801d35cd5f8814fe2ad01e606861a7fb47c762a2b7
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # opentelemetry-exporter-otlp-proto-grpc
+gunicorn==25.1.0 \
+ --hash=sha256:1426611d959fa77e7de89f8c0f32eed6aa03ee735f98c01efba3e281b1c47616 \
+ --hash=sha256:d0b1236ccf27f72cfe14bce7caadf467186f19e865094ca84221424e839b8b8b
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+icalendar==7.0.3 \
+ --hash=sha256:8c9fea6d3a89671bba8b6938d8565b4d0ec465c6a2796ef0f92790dcb9e627cd \
+ --hash=sha256:95027ece087ab87184d765f03761f25875821f74cdd18d3b57e9c868216d8fde
+ # via
+ # -c src/backend/requirements.txt
+ # django-ical
+idna==3.11 \
+ --hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
+ --hash=sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902
+ # via
+ # -c src/backend/requirements.txt
+ # django-anymail
+ # requests
+importlib-metadata==8.7.1 \
+ --hash=sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb \
+ --hash=sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-api
+inflection==0.5.1 \
+ --hash=sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 \
+ --hash=sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2
+ # via
+ # -c src/backend/requirements.txt
+ # drf-spectacular
+invoke==2.2.1 \
+ --hash=sha256:2413bc441b376e5cd3f55bb5d364f973ad8bdd7bf87e53c79de3c11bf3feecc8 \
+ --hash=sha256:515bf49b4a48932b79b024590348da22f39c4942dff991ad1fb8b8baea1be707
+ # via
+ # -c src/backend/requirements.txt
+ # paramiko
+isodate==0.7.2 \
+ --hash=sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15 \
+ --hash=sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6
+ # via
+ # -c src/backend/requirements.txt
+ # python3-saml
+jinja2==3.1.6 \
+ --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
+ --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+jmespath==1.1.0 \
+ --hash=sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d \
+ --hash=sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64
+ # via
+ # -c src/backend/requirements.txt
+ # boto3
+ # botocore
+jsonschema==4.26.0 \
+ --hash=sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326 \
+ --hash=sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce
+ # via
+ # -c src/backend/requirements.txt
+ # drf-spectacular
+jsonschema-specifications==2025.9.1 \
+ --hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \
+ --hash=sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d
+ # via
+ # -c src/backend/requirements.txt
+ # jsonschema
+jwcrypto==1.5.6 \
+ --hash=sha256:150d2b0ebbdb8f40b77f543fb44ffd2baeff48788be71f67f03566692fd55789 \
+ --hash=sha256:771a87762a0c081ae6166958a954f80848820b2ab066937dc8b8379d65b1b039
+ # via
+ # -c src/backend/requirements.txt
+ # django-oauth-toolkit
+lxml==6.0.2 \
+ --hash=sha256:058027e261afed589eddcfe530fcc6f3402d7fd7e89bfd0532df82ebc1563dba \
+ --hash=sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8 \
+ --hash=sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0 \
+ --hash=sha256:08b9d5e803c2e4725ae9e8559ee880e5328ed61aa0935244e0515d7d9dbec0aa \
+ --hash=sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f \
+ --hash=sha256:0aa7070978f893954008ab73bb9e3c24a7c56c054e00566a21b553dc18105fca \
+ --hash=sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf \
+ --hash=sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607 \
+ --hash=sha256:17f68764f35fd78d7c4cc4ef209a184c38b65440378013d24b8aecd327c3e0c8 \
+ --hash=sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452 \
+ --hash=sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700 \
+ --hash=sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d \
+ --hash=sha256:1e786a464c191ca43b133906c6903a7e4d56bef376b75d97ccbb8ec5cf1f0a4b \
+ --hash=sha256:1ea99340b3c729beea786f78c38f60f4795622f36e305d9c9be402201efdc3b7 \
+ --hash=sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d \
+ --hash=sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6 \
+ --hash=sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a \
+ --hash=sha256:24a8e756c982c001ca8d59e87c80c4d9dcd4d9b44a4cbeb8d9be4482c514d41d \
+ --hash=sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca \
+ --hash=sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb \
+ --hash=sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed \
+ --hash=sha256:2613e67de13d619fd283d58bda40bff0ee07739f624ffee8b13b631abf33083d \
+ --hash=sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e \
+ --hash=sha256:2c8458c2cdd29589a8367c09c8f030f1d202be673f0ca224ec18590b3b9fb694 \
+ --hash=sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd \
+ --hash=sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659 \
+ --hash=sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c \
+ --hash=sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314 \
+ --hash=sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5 \
+ --hash=sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849 \
+ --hash=sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938 \
+ --hash=sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a \
+ --hash=sha256:3efe1b21c7801ffa29a1112fab3b0f643628c30472d507f39544fd48e9549e34 \
+ --hash=sha256:3fee0851639d06276e6b387f1c190eb9d7f06f7f53514e966b26bae46481ec90 \
+ --hash=sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6 \
+ --hash=sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba \
+ --hash=sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285 \
+ --hash=sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553 \
+ --hash=sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d \
+ --hash=sha256:452b899faa64f1805943ec1c0c9ebeaece01a1af83e130b69cdefeda180bb42c \
+ --hash=sha256:45f93e6f75123f88d7f0cfd90f2d05f441b808562bf0bc01070a00f53f5028b5 \
+ --hash=sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601 \
+ --hash=sha256:4ddb1049fa0579d0cbd00503ad8c58b9ab34d1254c77bc6a5576d96ec7853dba \
+ --hash=sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37 \
+ --hash=sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f \
+ --hash=sha256:5921d924aa5468c939d95c9814fa9f9b5935a6ff4e679e26aaf2951f74043512 \
+ --hash=sha256:59c45e125140b2c4b33920d21d83681940ca29f0b83f8629ea1a2196dc8cfe6a \
+ --hash=sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438 \
+ --hash=sha256:5d444858b9f07cefff6455b983aea9a67f7462ba1f6cbe4a21e8bf6791bf2153 \
+ --hash=sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9 \
+ --hash=sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d \
+ --hash=sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6 \
+ --hash=sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f \
+ --hash=sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534 \
+ --hash=sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46 \
+ --hash=sha256:66328dabea70b5ba7e53d94aa774b733cf66686535f3bc9250a7aab53a91caaf \
+ --hash=sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f \
+ --hash=sha256:6cdaefac66e8b8f30e37a9b4768a391e1f8a16a7526d5bc77a7928408ef68e93 \
+ --hash=sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8 \
+ --hash=sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f \
+ --hash=sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1 \
+ --hash=sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322 \
+ --hash=sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f \
+ --hash=sha256:71695772df6acea9f3c0e59e44ba8ac50c4f125217e84aab21074a1a55e7e5c9 \
+ --hash=sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f \
+ --hash=sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7 \
+ --hash=sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f \
+ --hash=sha256:817ef43a0c0b4a77bd166dc9a09a555394105ff3374777ad41f453526e37f9cb \
+ --hash=sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916 \
+ --hash=sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec \
+ --hash=sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9 \
+ --hash=sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d \
+ --hash=sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679 \
+ --hash=sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0 \
+ --hash=sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192 \
+ --hash=sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917 \
+ --hash=sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c \
+ --hash=sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d \
+ --hash=sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338 \
+ --hash=sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d \
+ --hash=sha256:995e783eb0374c120f528f807443ad5a83a656a8624c467ea73781fc5f8a8304 \
+ --hash=sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77 \
+ --hash=sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba \
+ --hash=sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456 \
+ --hash=sha256:a656ca105115f6b766bba324f23a67914d9c728dafec57638e2b92a9dcd76c62 \
+ --hash=sha256:a6b5b39cc7e2998f968f05309e666103b53e2edd01df8dc51b90d734c0825444 \
+ --hash=sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a \
+ --hash=sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f \
+ --hash=sha256:a8ffaeec5dfea5881d4c9d8913a32d10cfe3923495386106e4a24d45300ef79c \
+ --hash=sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d \
+ --hash=sha256:ac02dc29fd397608f8eb15ac1610ae2f2f0154b03f631e6d724d9e2ad4ee2c84 \
+ --hash=sha256:af85529ae8d2a453feee4c780d9406a5e3b17cee0dd75c18bd31adcd584debc3 \
+ --hash=sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe \
+ --hash=sha256:b2142a376b40b6736dfc214fd2902409e9e3857eff554fed2d3c60f097e62a62 \
+ --hash=sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8 \
+ --hash=sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178 \
+ --hash=sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0 \
+ --hash=sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7 \
+ --hash=sha256:b42f4d86b451c2f9d06ffb4f8bbc776e04df3ba070b9fe2657804b1b40277c48 \
+ --hash=sha256:b738f7e648735714bbb82bdfd030203360cfeab7f6e8a34772b3c8c8b820568c \
+ --hash=sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9 \
+ --hash=sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7 \
+ --hash=sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048 \
+ --hash=sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c \
+ --hash=sha256:bc456d04db0515ce3320d714a1eac7a97774ff0849e7718b492d957da4631dd4 \
+ --hash=sha256:bc532422ff26b304cfb62b328826bd995c96154ffd2bac4544f37dbb95ecaa8f \
+ --hash=sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b \
+ --hash=sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0 \
+ --hash=sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564 \
+ --hash=sha256:c54d83a2188a10ebdba573f16bd97135d06c9ef60c3dc495315c7a28c80a263f \
+ --hash=sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee \
+ --hash=sha256:cb233f9c95f83707dae461b12b720c1af9c28c2d19208e1be03387222151daf5 \
+ --hash=sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62 \
+ --hash=sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272 \
+ --hash=sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9 \
+ --hash=sha256:d4aec24d6b72ee457ec665344a29acb2d35937d5192faebe429ea02633151aad \
+ --hash=sha256:d6690ec5ec1cce0385cb20896b16be35247ac8c2046e493d03232f1c2414d321 \
+ --hash=sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a \
+ --hash=sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312 \
+ --hash=sha256:dacf3c64ef3f7440e3167aa4b49aa9e0fb99e0aa4f9ff03795640bf94531bcb0 \
+ --hash=sha256:daf42de090d59db025af61ce6bdb2521f0f102ea0e6ea310f13c17610a97da4c \
+ --hash=sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37 \
+ --hash=sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964 \
+ --hash=sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484 \
+ --hash=sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e \
+ --hash=sha256:e237b807d68a61fc3b1e845407e27e5eb8ef69bc93fe8505337c1acb4ee300b6 \
+ --hash=sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078 \
+ --hash=sha256:e748d4cf8fef2526bb2a589a417eba0c8674e29ffcb570ce2ceca44f1e567bf6 \
+ --hash=sha256:e77dd455b9a16bbd2a5036a63ddbd479c19572af81b624e79ef422f929eef388 \
+ --hash=sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924 \
+ --hash=sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2 \
+ --hash=sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df \
+ --hash=sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd \
+ --hash=sha256:f2a50c3c1d11cad0ebebbac357a97b26aa79d2bcaf46f256551152aa85d3a4d1 \
+ --hash=sha256:f2e3b1a6bb38de0bc713edd4d612969dd250ca8b724be8d460001a387507021c \
+ --hash=sha256:f952dacaa552f3bb8834908dddd500ba7d508e6ea6eb8c52eb2d28f48ca06a31 \
+ --hash=sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed \
+ --hash=sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2 \
+ --hash=sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092 \
+ --hash=sha256:fe659f6b5d10fb5a17f00a50eb903eb277a71ee35df4615db573c069bcf967ac
+ # via
+ # -c src/backend/requirements.txt
+ # python3-saml
+ # xmlsec
+markdown==3.10.2 \
+ --hash=sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950 \
+ --hash=sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36
+ # via
+ # -c src/backend/requirements.txt
+ # django-markdownify
+markupsafe==3.0.3 \
+ --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \
+ --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \
+ --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \
+ --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \
+ --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \
+ --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \
+ --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \
+ --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \
+ --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \
+ --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \
+ --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \
+ --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \
+ --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \
+ --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \
+ --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \
+ --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \
+ --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \
+ --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \
+ --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \
+ --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \
+ --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \
+ --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \
+ --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \
+ --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \
+ --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \
+ --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \
+ --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \
+ --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \
+ --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \
+ --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \
+ --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \
+ --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \
+ --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \
+ --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \
+ --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \
+ --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \
+ --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \
+ --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \
+ --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \
+ --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \
+ --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \
+ --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \
+ --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \
+ --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \
+ --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \
+ --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \
+ --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \
+ --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \
+ --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \
+ --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \
+ --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \
+ --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \
+ --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \
+ --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \
+ --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \
+ --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \
+ --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \
+ --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \
+ --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \
+ --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \
+ --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \
+ --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \
+ --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \
+ --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \
+ --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \
+ --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \
+ --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \
+ --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \
+ --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \
+ --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \
+ --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \
+ --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \
+ --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \
+ --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \
+ --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \
+ --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \
+ --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \
+ --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \
+ --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \
+ --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \
+ --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \
+ --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \
+ --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \
+ --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \
+ --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \
+ --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \
+ --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \
+ --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \
+ --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50
+ # via
+ # -c src/backend/requirements.txt
+ # jinja2
+oauthlib==3.3.1 \
+ --hash=sha256:0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9 \
+ --hash=sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+ # django-oauth-toolkit
+openpyxl==3.1.5 \
+ --hash=sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2 \
+ --hash=sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050
+ # via
+ # -c src/backend/requirements.txt
+ # tablib
+opentelemetry-api==1.40.0 \
+ --hash=sha256:159be641c0b04d11e9ecd576906462773eb97ae1b657730f0ecf64d32071569f \
+ --hash=sha256:82dd69331ae74b06f6a874704be0cfaa49a1650e1537d4a813b86ecef7d0ecf9
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+ # opentelemetry-instrumentation
+ # opentelemetry-instrumentation-dbapi
+ # opentelemetry-instrumentation-django
+ # opentelemetry-instrumentation-psycopg
+ # opentelemetry-instrumentation-pymysql
+ # opentelemetry-instrumentation-redis
+ # opentelemetry-instrumentation-requests
+ # opentelemetry-instrumentation-sqlite3
+ # opentelemetry-instrumentation-system-metrics
+ # opentelemetry-instrumentation-wsgi
+ # opentelemetry-sdk
+ # opentelemetry-semantic-conventions
+opentelemetry-exporter-otlp==1.40.0 \
+ --hash=sha256:48c87e539ec9afb30dc443775a1334cc5487de2f72a770a4c00b1610bf6c697d \
+ --hash=sha256:7caa0870b95e2fcb59d64e16e2b639ecffb07771b6cd0000b5d12e5e4fef765a
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-exporter-otlp-proto-common==1.40.0 \
+ --hash=sha256:1cbee86a4064790b362a86601ee7934f368b81cd4cc2f2e163902a6e7818a0fa \
+ --hash=sha256:7081ff453835a82417bf38dccf122c827c3cbc94f2079b03bba02a3165f25149
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+opentelemetry-exporter-otlp-proto-grpc==1.40.0 \
+ --hash=sha256:2aa0ca53483fe0cf6405087a7491472b70335bc5c7944378a0a8e72e86995c52 \
+ --hash=sha256:bd4015183e40b635b3dab8da528b27161ba83bf4ef545776b196f0fb4ec47740
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-exporter-otlp
+opentelemetry-exporter-otlp-proto-http==1.40.0 \
+ --hash=sha256:a8d1dab28f504c5d96577d6509f80a8150e44e8f45f82cdbe0e34c99ab040069 \
+ --hash=sha256:db48f5e0f33217588bbc00274a31517ba830da576e59503507c839b38fa0869c
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-exporter-otlp
+opentelemetry-instrumentation==0.61b0 \
+ --hash=sha256:92a93a280e69788e8f88391247cc530fd81f16f2b011979d4d6398f805cfbc63 \
+ --hash=sha256:cb21b48db738c9de196eba6b805b4ff9de3b7f187e4bbf9a466fa170514f1fc7
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation-dbapi
+ # opentelemetry-instrumentation-django
+ # opentelemetry-instrumentation-psycopg
+ # opentelemetry-instrumentation-pymysql
+ # opentelemetry-instrumentation-redis
+ # opentelemetry-instrumentation-requests
+ # opentelemetry-instrumentation-sqlite3
+ # opentelemetry-instrumentation-system-metrics
+ # opentelemetry-instrumentation-wsgi
+opentelemetry-instrumentation-dbapi==0.61b0 \
+ --hash=sha256:02fa800682c1de87dcad0e59f2092b3b6fb8b8ea0636518f989e1166b418dcb9 \
+ --hash=sha256:8f762c39c8edd20c6aef3282550a2cfbfec76c3f431bf5c36327dcf9ece2e5a0
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation-psycopg
+ # opentelemetry-instrumentation-pymysql
+ # opentelemetry-instrumentation-sqlite3
+opentelemetry-instrumentation-django==0.61b0 \
+ --hash=sha256:26c1b0b325a9783d4a2f4df660ba05cf929c3eda2ae9b07916b649bb44e1c5b6 \
+ --hash=sha256:9885154dc128578de0e6b5ce49e965c786f8ab071175bec005dcd454510be951
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-psycopg==0.61b0 \
+ --hash=sha256:74e9fed3802945f7ae335cffc30fd18cf58c34a4d0619315f799fa21eb5c74ff \
+ --hash=sha256:a3e242cad56c0ad4f4f872017c73ce7e6c7012081dda6bd0d776c127fedc358a
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-pymysql==0.61b0 \
+ --hash=sha256:00aca55c3fd767ebe484affa2f0c2f47edd4095038b509c6aca1a4cfed78af15 \
+ --hash=sha256:60ba66a806e4664308bd86fe45f329a6f3bb520c3e9759f68f379b7c9466047f
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-redis==0.61b0 \
+ --hash=sha256:8d4e850bbb5f8eeafa44c0eac3a007990c7125de187bc9c3659e29ff7e091172 \
+ --hash=sha256:ae0fbb56be9a641e621d55b02a7d62977a2c77c5ee760addd79b9b266e46e523
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-requests==0.61b0 \
+ --hash=sha256:15f879ce8fb206bd7e6fdc61663ea63481040a845218c0cf42902ce70bd7e9d9 \
+ --hash=sha256:cce19b379949fe637eb73ba39b02c57d2d0805447ca6d86534aa33fcb141f683
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-sqlite3==0.61b0 \
+ --hash=sha256:202a18e7f9d231bfa44771fdb068bff16f24a6fa5e424a0df4d9232b1a818693 \
+ --hash=sha256:96d4f0fa35ba7ee9aa683aa17726cb358c8029cc7b3cf55668ccc77254c29ca5
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-system-metrics==0.61b0 \
+ --hash=sha256:3eb55f9a058797cf915946cbb7445e00b31316ac3e55050475792edf3367c321 \
+ --hash=sha256:7d4fe3e0ce14e0e6eb18f5826100d6cc1af662e5a8ebc74e9b91fe23f192f3e8
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+opentelemetry-instrumentation-wsgi==0.61b0 \
+ --hash=sha256:380f2ae61714e5303275a80b2e14c58571573cd1fddf496d8c39fb9551c5e532 \
+ --hash=sha256:bd33b0824166f24134a3400648805e8d2e6a7951f070241294e8b8866611d7fa
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # opentelemetry-instrumentation-django
+opentelemetry-proto==1.40.0 \
+ --hash=sha256:03f639ca129ba513f5819810f5b1f42bcb371391405d99c168fe6937c62febcd \
+ --hash=sha256:266c4385d88923a23d63e353e9761af0f47a6ed0d486979777fe4de59dc9b25f
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-exporter-otlp-proto-common
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+opentelemetry-sdk==1.40.0 \
+ --hash=sha256:18e9f5ec20d859d268c7cb3c5198c8d105d073714db3de50b593b8c1345a48f2 \
+ --hash=sha256:787d2154a71f4b3d81f20524a8ce061b7db667d24e46753f32a7bc48f1c1f3f1
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+opentelemetry-semantic-conventions==0.61b0 \
+ --hash=sha256:072f65473c5d7c6dc0355b27d6c9d1a679d63b6d4b4b16a9773062cb7e31192a \
+ --hash=sha256:fa530a96be229795f8cef353739b618148b0fe2b4b3f005e60e262926c4d38e2
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation
+ # opentelemetry-instrumentation-dbapi
+ # opentelemetry-instrumentation-django
+ # opentelemetry-instrumentation-redis
+ # opentelemetry-instrumentation-requests
+ # opentelemetry-instrumentation-wsgi
+ # opentelemetry-sdk
+opentelemetry-util-http==0.61b0 \
+ --hash=sha256:1039cb891334ad2731affdf034d8fb8b48c239af9b6dd295e5fabd07f1c95572 \
+ --hash=sha256:8e715e848233e9527ea47e275659ea60a57a75edf5206a3b937e236a6da5fc33
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation-django
+ # opentelemetry-instrumentation-requests
+ # opentelemetry-instrumentation-wsgi
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
+ # via
+ # -c src/backend/requirements.txt
+ # gunicorn
+ # opentelemetry-instrumentation
+paramiko==4.0.0 \
+ --hash=sha256:0e20e00ac666503bf0b4eda3b6d833465a2b7aff2e2b3d79a8bba5ef144ee3b9 \
+ --hash=sha256:6a25f07b380cc9c9a88d2b920ad37167ac4667f8d9886ccebd8f90f654b5d69f
+ # via
+ # -c src/backend/requirements.txt
+ # django-storages
+pdf2image==1.17.0 \
+ --hash=sha256:eaa959bc116b420dd7ec415fcae49b98100dda3dd18cd2fdfa86d09f112f6d57 \
+ --hash=sha256:ecdd58d7afb810dffe21ef2b1bbc057ef434dabbac6c33778a38a3f7744a27e2
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+pillow==12.1.1 \
+ --hash=sha256:02f84dfad02693676692746df05b89cf25597560db2857363a208e393429f5e9 \
+ --hash=sha256:0330d233c1a0ead844fc097a7d16c0abff4c12e856c0b325f231820fee1f39da \
+ --hash=sha256:03edcc34d688572014ff223c125a3f77fb08091e4607e7745002fc214070b35f \
+ --hash=sha256:097690ba1f2efdeb165a20469d59d8bb03c55fb6621eb2041a060ae8ea3e9642 \
+ --hash=sha256:178aa072084bd88ec759052feca8e56cbb14a60b39322b99a049e58090479713 \
+ --hash=sha256:18e5bddd742a44b7e6b1e773ab5db102bd7a94c32555ba656e76d319d19c3850 \
+ --hash=sha256:1a9b0ee305220b392e1124a764ee4265bd063e54a751a6b62eff69992f457fa9 \
+ --hash=sha256:1f1625b72740fdda5d77b4def688eb8fd6490975d06b909fd19f13f391e077e0 \
+ --hash=sha256:1f1be78ce9466a7ee64bfda57bdba0f7cc499d9794d518b854816c41bf0aa4e9 \
+ --hash=sha256:1f90cff8aa76835cba5769f0b3121a22bd4eb9e6884cfe338216e557a9a548b8 \
+ --hash=sha256:21329ec8c96c6e979cd0dfd29406c40c1d52521a90544463057d2aaa937d66a6 \
+ --hash=sha256:2815a87ab27848db0321fb78c7f0b2c8649dee134b7f2b80c6a45c6831d75ccd \
+ --hash=sha256:2c1fc0f2ca5f96a3c8407e41cca26a16e46b21060fe6d5b099d2cb01412222f5 \
+ --hash=sha256:2e0c664be47252947d870ac0d327fea7e63985a08794758aa8af5b6cb6ec0c9c \
+ --hash=sha256:339ffdcb7cbeaa08221cd401d517d4b1fe7a9ed5d400e4a8039719238620ca35 \
+ --hash=sha256:344cf1e3dab3be4b1fa08e449323d98a2a3f819ad20f4b22e77a0ede31f0faa1 \
+ --hash=sha256:36341d06738a9f66c8287cf8b876d24b18db9bd8740fa0672c74e259ad408cff \
+ --hash=sha256:365b10bb9417dd4498c0e3b128018c4a624dc11c7b97d8cc54effe3b096f4c38 \
+ --hash=sha256:3a5cbdcddad0af3da87cb16b60d23648bc3b51967eb07223e9fed77a82b457c4 \
+ --hash=sha256:417423db963cb4be8bac3fc1204fe61610f6abeed1580a7a2cbb2fbda20f12af \
+ --hash=sha256:42fc1f4677106188ad9a55562bbade416f8b55456f522430fadab3cef7cd4e60 \
+ --hash=sha256:44ce27545b6efcf0fdbdceb31c9a5bdea9333e664cda58a7e674bb74608b3986 \
+ --hash=sha256:472a8d7ded663e6162dafdf20015c486a7009483ca671cece7a9279b512fcb13 \
+ --hash=sha256:47b94983da0c642de92ced1702c5b6c292a84bd3a8e1d1702ff923f183594717 \
+ --hash=sha256:495c302af3aad1ca67420ddd5c7bd480c8867ad173528767d906428057a11f0e \
+ --hash=sha256:4ceb838d4bd9dab43e06c363cab2eebf63846d6a4aeaea283bbdfd8f1a8ed58b \
+ --hash=sha256:50480dcd74fa63b8e78235957d302d98d98d82ccbfac4c7e12108ba9ecbdba15 \
+ --hash=sha256:518a48c2aab7ce596d3bf79d0e275661b846e86e4d0e7dec34712c30fe07f02a \
+ --hash=sha256:559b38da23606e68681337ad74622c4dbba02254fc9cb4488a305dd5975c7eeb \
+ --hash=sha256:578510d88c6229d735855e1f278aa305270438d36a05031dfaae5067cc8eb04d \
+ --hash=sha256:597bd9c8419bc7c6af5604e55847789b69123bbe25d65cc6ad3012b4f3c98d8b \
+ --hash=sha256:5a8eb7ed8d4198bccbd07058416eeec51686b498e784eda166395a23eb99138e \
+ --hash=sha256:5c0dd1636633e7e6a0afe7bf6a51a14992b7f8e60de5789018ebbdfae55b040a \
+ --hash=sha256:5cb1785d97b0c3d1d1a16bc1d710c4a0049daefc4935f3a8f31f827f4d3d2e7f \
+ --hash=sha256:5d1f9575a12bed9e9eedd9a4972834b08c97a352bd17955ccdebfeca5913fa0a \
+ --hash=sha256:5d8c41325b382c07799a3682c1c258469ea2ff97103c53717b7893862d0c98ce \
+ --hash=sha256:5dae5f21afb91322f2ff791895ddd8889e5e947ff59f71b46041c8ce6db790bc \
+ --hash=sha256:600fd103672b925fe62ed08e0d874ea34d692474df6f4bf7ebe148b30f89f39f \
+ --hash=sha256:6408a7b064595afcab0a49393a413732a35788f2a5092fdc6266952ed67de586 \
+ --hash=sha256:652a2c9ccfb556235b2b501a3a7cf3742148cd22e04b5625c5fe057ea3e3191f \
+ --hash=sha256:665e1b916b043cef294bc54d47bf02d87e13f769bc4bc5fa225a24b3a6c5aca9 \
+ --hash=sha256:691ab2ac363b8217f7d31b3497108fb1f50faab2f75dfb03284ec2f217e87bf8 \
+ --hash=sha256:6c52f062424c523d6c4db85518774cc3d50f5539dd6eed32b8f6229b26f24d40 \
+ --hash=sha256:6c6db3b84c87d48d0088943bf33440e0c42370b99b1c2a7989216f7b42eede60 \
+ --hash=sha256:7311c0a0dcadb89b36b7025dfd8326ecfa36964e29913074d47382706e516a7c \
+ --hash=sha256:7aac39bcf8d4770d089588a2e1dd111cbaa42df5a94be3114222057d68336bd0 \
+ --hash=sha256:7b03048319bfc6170e93bd60728a1af51d3dd7704935feb228c4d4faab35d334 \
+ --hash=sha256:7e7976bf1910a8116b523b9f9f58bf410f3e8aa330cd9a2bb2953f9266ab49af \
+ --hash=sha256:8089c852a56c2966cf18835db62d9b34fef7ba74c726ad943928d494fa7f4735 \
+ --hash=sha256:86172b0831b82ce4f7877f280055892b31179e1576aa00d0df3bb1bbf8c3e524 \
+ --hash=sha256:89b54027a766529136a06cfebeecb3a04900397a3590fd252160b888479517bf \
+ --hash=sha256:89c7e895002bbe49cdc5426150377cbbc04767d7547ed145473f496dfa40408b \
+ --hash=sha256:8b7e5304e34942bf62e15184219a7b5ad4ff7f3bb5cca4d984f37df1a0e1aee2 \
+ --hash=sha256:8fd420ef0c52c88b5a035a0886f367748c72147b2b8f384c9d12656678dfdfa9 \
+ --hash=sha256:98edb152429ab62a1818039744d8fbb3ccab98a7c29fc3d5fcef158f3f1f68b7 \
+ --hash=sha256:99c1506ea77c11531d75e3a412832a13a71c7ebc8192ab9e4b2e355555920e3e \
+ --hash=sha256:9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4 \
+ --hash=sha256:9f51079765661884a486727f0729d29054242f74b46186026582b4e4769918e4 \
+ --hash=sha256:a003d7422449f6d1e3a34e3dd4110c22148336918ddbfc6a32581cd54b2e0b2b \
+ --hash=sha256:a0b1cd6232e2b618adcc54d9882e4e662a089d5768cd188f7c245b4c8c44a397 \
+ --hash=sha256:a285e3eb7a5a45a2ff504e31f4a8d1b12ef62e84e5411c6804a42197c1cf586c \
+ --hash=sha256:a37691702ed687799de29a518d63d4682d9016932db66d4e90c345831b02fb4e \
+ --hash=sha256:a550ae29b95c6dc13cf69e2c9dc5747f814c54eeb2e32d683e5e93af56caa029 \
+ --hash=sha256:ab174cd7d29a62dd139c44bf74b698039328f45cb03b4596c43473a46656b2f3 \
+ --hash=sha256:ab323b787d6e18b3d91a72fc99b1a2c28651e4358749842b8f8dfacd28ef2052 \
+ --hash=sha256:adebb5bee0f0af4909c30db0d890c773d1a92ffe83da908e2e9e720f8edf3984 \
+ --hash=sha256:aee2810642b2898bb187ced9b349e95d2a7272930796e022efaf12e99dccd293 \
+ --hash=sha256:af9a332e572978f0218686636610555ae3defd1633597be015ed50289a03c523 \
+ --hash=sha256:b574c51cf7d5d62e9be37ba446224b59a2da26dc4c1bb2ecbe936a4fb1a7cb7f \
+ --hash=sha256:b66e95d05ba806247aaa1561f080abc7975daf715c30780ff92a20e4ec546e1b \
+ --hash=sha256:b81b5e3511211631b3f672a595e3221252c90af017e399056d0faabb9538aa80 \
+ --hash=sha256:b957b71c6b2387610f556a7eb0828afbe40b4a98036fc0d2acfa5a44a0c2036f \
+ --hash=sha256:bb66b7cc26f50977108790e2456b7921e773f23db5630261102233eb355a3b79 \
+ --hash=sha256:c6008de247150668a705a6338156efb92334113421ceecf7438a12c9a12dab23 \
+ --hash=sha256:c7697918b5be27424e9ce568193efd13d925c4481dd364e43f5dff72d33e10f8 \
+ --hash=sha256:cb9bb857b2d057c6dfc72ac5f3b44836924ba15721882ef103cecb40d002d80e \
+ --hash=sha256:cc7d296b5ea4d29e6570dabeaed58d31c3fea35a633a69679fb03d7664f43fb3 \
+ --hash=sha256:d242e8ac078781f1de88bf823d70c1a9b3c7950a44cdf4b7c012e22ccbcd8e4e \
+ --hash=sha256:d2912fd8114fc5545aa3a4b5576512f64c55a03f3ebcca4c10194d593d43ea36 \
+ --hash=sha256:d470ab1178551dd17fdba0fef463359c41aaa613cdcd7ff8373f54be629f9f8f \
+ --hash=sha256:d4ce8e329c93845720cd2014659ca67eac35f6433fd3050393d85f3ecef0dad5 \
+ --hash=sha256:d6e4571eedf43af33d0fc233a382a76e849badbccdf1ac438841308652a08e1f \
+ --hash=sha256:e65498daf4b583091ccbb2556c7000abf0f3349fcd57ef7adc9a84a394ed29f6 \
+ --hash=sha256:e879bb6cd5c73848ef3b2b48b8af9ff08c5b71ecda8048b7dd22d8a33f60be32 \
+ --hash=sha256:e9e8064fb1cc019296958595f6db671fba95209e3ceb0c4734c9baf97de04b20 \
+ --hash=sha256:f7ed2c6543bad5a7d5530eb9e78c53132f93dfa44a28492db88b41cdab885202 \
+ --hash=sha256:f95c00d5d6700b2b890479664a06e754974848afaae5e21beb4d83c106923fd0 \
+ --hash=sha256:f975aa7ef9684ce7e2c18a3aa8f8e2106ce1e46b94ab713d156b2898811651d3 \
+ --hash=sha256:fbfa2a7c10cc2623f412753cddf391c7f971c52ca40a3f65dc5039b2939e8563 \
+ --hash=sha256:fc354a04072b765eccf2204f588a7a532c9511e8b9c7f900e1b64e3e33487090 \
+ --hash=sha256:fc44ef1f3de4f45b50ccf9136999d71abb99dca7706bc75d222ed350b9fd2289
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # django-stdimage
+ # pdf2image
+ # python-barcode
+ # qrcode
+ # weasyprint
+pint==0.25.2 \
+ --hash=sha256:85a45d1da8fe9c9f7477fed8aef59ad2b939af3d6611507e1a9cbdacdcd3450a \
+ --hash=sha256:ca35ab1d8eeeb6f7d9942b3cb5f34ca42b61cdd5fb3eae79531553dcca04dda7
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+pip-licenses==5.5.1 \
+ --hash=sha256:7df370e6e5024a3f7449abf8e4321ef868ba9a795698ad24ab6851f3e7fc65a7 \
+ --hash=sha256:ed5e229a93760e529cfa7edaec6630b5a2cd3874c1bddb8019e5f18a723fdead
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+platformdirs==4.9.4 \
+ --hash=sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934 \
+ --hash=sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
+ # via
+ # -c src/backend/requirements.txt
+ # pint
+ppf-datamatrix==0.2 \
+ --hash=sha256:819be65eae444b760e178d5761853f78f8e5fca14fec2809b5e3369978fa9244 \
+ --hash=sha256:8f034d9c90e408f60f8b10a273baab81014c9a81c983dc1ebdc31d4ca5ac5582
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+prettytable==3.17.0 \
+ --hash=sha256:59f2590776527f3c9e8cf9fe7b66dd215837cca96a9c39567414cbc632e8ddb0 \
+ --hash=sha256:aad69b294ddbe3e1f95ef8886a060ed1666a0b83018bbf56295f6f226c43d287
+ # via
+ # -c src/backend/requirements.txt
+ # pip-licenses
+protobuf==6.33.5 \
+ --hash=sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c \
+ --hash=sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02 \
+ --hash=sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c \
+ --hash=sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd \
+ --hash=sha256:8f04fa32763dcdb4973d537d6b54e615cc61108c7cb38fe59310c3192d29510a \
+ --hash=sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190 \
+ --hash=sha256:a3157e62729aafb8df6da2c03aa5c0937c7266c626ce11a278b6eb7963c4e37c \
+ --hash=sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5 \
+ --hash=sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0 \
+ --hash=sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b
+ # via
+ # -c src/backend/requirements.txt
+ # googleapis-common-protos
+ # opentelemetry-proto
+psutil==7.2.2 \
+ --hash=sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372 \
+ --hash=sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9 \
+ --hash=sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841 \
+ --hash=sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63 \
+ --hash=sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979 \
+ --hash=sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a \
+ --hash=sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b \
+ --hash=sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9 \
+ --hash=sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee \
+ --hash=sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312 \
+ --hash=sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b \
+ --hash=sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9 \
+ --hash=sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e \
+ --hash=sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc \
+ --hash=sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1 \
+ --hash=sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf \
+ --hash=sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea \
+ --hash=sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988 \
+ --hash=sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486 \
+ --hash=sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00 \
+ --hash=sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation-system-metrics
+py-moneyed==3.0 \
+ --hash=sha256:4906f0f02cf2b91edba2e156f2d4e9a78f224059ab8c8fa2ff26230c75d894e8 \
+ --hash=sha256:9583a14f99c05b46196193d8185206e9b73c8439fc8a5eee9cfc7e733676d9bb
+ # via
+ # -c src/backend/requirements.txt
+ # django-money
+pycparser==3.0 \
+ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
+ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
+ # via
+ # -c src/backend/requirements.txt
+ # cffi
+pydyf==0.12.1 \
+ --hash=sha256:ea25b4e1fe7911195cb57067560daaa266639184e8335365cc3ee5214e7eaadc \
+ --hash=sha256:fbd7e759541ac725c29c506612003de393249b94310ea78ae44cb1d04b220095
+ # via
+ # -c src/backend/requirements.txt
+ # weasyprint
+pyjwt[crypto]==2.12.1 \
+ --hash=sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c \
+ --hash=sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+ # djangorestframework-simplejwt
+pynacl==1.6.2 \
+ --hash=sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c \
+ --hash=sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574 \
+ --hash=sha256:22de65bb9010a725b0dac248f353bb072969c94fa8d6b1f34b87d7953cf7bbe4 \
+ --hash=sha256:26bfcd00dcf2cf160f122186af731ae30ab120c18e8375684ec2670dccd28130 \
+ --hash=sha256:2fef529ef3ee487ad8113d287a593fa26f48ee3620d92ecc6f1d09ea38e0709b \
+ --hash=sha256:320ef68a41c87547c91a8b58903c9caa641ab01e8512ce291085b5fe2fcb7590 \
+ --hash=sha256:3bffb6d0f6becacb6526f8f42adfb5efb26337056ee0831fb9a7044d1a964444 \
+ --hash=sha256:44081faff368d6c5553ccf55322ef2819abb40e25afaec7e740f159f74813634 \
+ --hash=sha256:46065496ab748469cdd999246d17e301b2c24ae2fdf739132e580a0e94c94a87 \
+ --hash=sha256:5811c72b473b2f38f7e2a3dc4f8642e3a3e9b5e7317266e4ced1fba85cae41aa \
+ --hash=sha256:622d7b07cc5c02c666795792931b50c91f3ce3c2649762efb1ef0d5684c81594 \
+ --hash=sha256:62985f233210dee6548c223301b6c25440852e13d59a8b81490203c3227c5ba0 \
+ --hash=sha256:68be3a09455743ff9505491220b64440ced8973fe930f270c8e07ccfa25b1f9e \
+ --hash=sha256:834a43af110f743a754448463e8fd61259cd4ab5bbedcf70f9dabad1d28a394c \
+ --hash=sha256:8845c0631c0be43abdd865511c41eab235e0be69c81dc66a50911594198679b0 \
+ --hash=sha256:8a66d6fb6ae7661c58995f9c6435bda2b1e68b54b598a6a10247bfcdadac996c \
+ --hash=sha256:8b097553b380236d51ed11356c953bf8ce36a29a3e596e934ecabe76c985a577 \
+ --hash=sha256:a84bf1c20339d06dc0c85d9aea9637a24f718f375d861b2668b2f9f96fa51145 \
+ --hash=sha256:a9f9932d8d2811ce1a8ffa79dcbdf3970e7355b5c8eb0c1a881a57e7f7d96e88 \
+ --hash=sha256:bc4a36b28dd72fb4845e5d8f9760610588a96d5a51f01d84d8c6ff9849968c14 \
+ --hash=sha256:c8a231e36ec2cab018c4ad4358c386e36eede0319a0c41fed24f840b1dac59f6 \
+ --hash=sha256:c949ea47e4206af7c8f604b8278093b674f7c79ed0d4719cc836902bf4517465 \
+ --hash=sha256:d071c6a9a4c94d79eb665db4ce5cedc537faf74f2355e4d502591d850d3913c0 \
+ --hash=sha256:d29bfe37e20e015a7d8b23cfc8bd6aa7909c92a1b8f41ee416bbb3e79ef182b2 \
+ --hash=sha256:fe9847ca47d287af41e82be1dd5e23023d3c31a951da134121ab02e42ac218c9
+ # via
+ # -c src/backend/requirements.txt
+ # paramiko
+pypdf==6.9.1 \
+ --hash=sha256:ae052407d33d34de0c86c5c729be6d51010bf36e03035a8f23ab449bca52377d \
+ --hash=sha256:f35a6a022348fae47e092a908339a8f3dc993510c026bb39a96718fc7185e89f
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+pyphen==0.17.2 \
+ --hash=sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd \
+ --hash=sha256:f60647a9c9b30ec6c59910097af82bc5dd2d36576b918e44148d8b07ef3b4aa3
+ # via
+ # -c src/backend/requirements.txt
+ # weasyprint
+python-barcode[images]==0.16.1 \
+ --hash=sha256:5776567478c9a0dae473374bb86631ba0b5ea99aaf302763b364e367ac51f367 \
+ --hash=sha256:665ed09516b0088b5593061c5ac8662caa0b08d56bdad328388b1cab39939ac5
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+python-dateutil==2.9.0.post0 \
+ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
+ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
+ # via
+ # -c src/backend/requirements.txt
+ # botocore
+ # django-recurrence
+ # icalendar
+python-dotenv==1.2.2 \
+ --hash=sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a \
+ --hash=sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+python-fsutil==0.16.0 \
+ --hash=sha256:a60e16bad77e3f00c3dca95433209c823bc45e0ae4158e52969002f3c7957a18 \
+ --hash=sha256:dc957a3541215baa935f66f6f15ceb9a8b7f803919c3d99fa57c818fc545f288
+ # via
+ # -c src/backend/requirements.txt
+ # django-maintenance-mode
+python-ipware==3.0.0 \
+ --hash=sha256:9117b1c4dddcb5d5ca49e6a9617de2fc66aec2ef35394563ac4eecabdf58c062 \
+ --hash=sha256:fc936e6e7ec9fcc107f9315df40658f468ac72f739482a707181742882e36b60
+ # via
+ # -c src/backend/requirements.txt
+ # django-ipware
+python3-openid==3.2.0 \
+ --hash=sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf \
+ --hash=sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+python3-saml==1.16.0 \
+ --hash=sha256:20b97d11b04f01ee22e98f4a38242e2fea2e28fbc7fbc9bdd57cab5ac7fc2d0d \
+ --hash=sha256:97c9669aecabc283c6e5fb4eb264f446b6e006f5267d01c9734f9d8bffdac133 \
+ --hash=sha256:c49097863c278ff669a337a96c46dc1f25d16307b4bb2679d2d1733cc4f5176a
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+pyyaml==6.0.3 \
+ --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \
+ --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \
+ --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \
+ --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \
+ --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \
+ --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \
+ --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \
+ --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \
+ --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \
+ --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \
+ --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \
+ --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \
+ --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \
+ --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \
+ --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \
+ --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \
+ --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \
+ --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \
+ --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \
+ --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \
+ --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \
+ --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \
+ --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \
+ --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \
+ --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \
+ --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \
+ --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \
+ --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \
+ --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \
+ --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \
+ --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \
+ --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \
+ --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \
+ --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \
+ --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \
+ --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \
+ --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \
+ --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \
+ --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \
+ --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \
+ --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \
+ --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \
+ --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \
+ --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \
+ --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \
+ --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \
+ --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \
+ --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \
+ --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \
+ --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \
+ --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \
+ --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \
+ --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \
+ --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \
+ --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \
+ --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \
+ --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \
+ --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \
+ --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \
+ --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \
+ --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \
+ --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \
+ --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \
+ --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \
+ --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \
+ --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \
+ --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \
+ --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \
+ --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \
+ --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \
+ --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \
+ --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \
+ --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # drf-spectacular
+ # tablib
+qrcode[pil]==8.2 \
+ --hash=sha256:16e64e0716c14960108e85d853062c9e8bba5ca8252c0b4d0231b9df4060ff4f \
+ --hash=sha256:35c3f2a4172b33136ab9f6b3ef1c00260dd2f66f858f24d88418a015f446506c
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # django-allauth
+rapidfuzz==3.14.3 \
+ --hash=sha256:010e12e2411a4854b0434f920e72b717c43f8ec48d57e7affe5c42ecfa05dd0e \
+ --hash=sha256:02821366d928e68ddcb567fed8723dad7ea3a979fada6283e6914d5858674850 \
+ --hash=sha256:07aa0b5d8863e3151e05026a28e0d924accf0a7a3b605da978f0359bb804df43 \
+ --hash=sha256:0e38828d1381a0cceb8a4831212b2f673d46f5129a1897b0451c883eaf4a1747 \
+ --hash=sha256:152555187360978119e98ce3e8263d70dd0c40c7541193fc302e9b7125cf8f58 \
+ --hash=sha256:1704fc70d214294e554a2421b473779bcdeef715881c5e927dc0f11e1692a0ff \
+ --hash=sha256:1b7ef2f4b8583a744338a18f12c69693c194fb6777c0e9ada98cd4d9e8f09d10 \
+ --hash=sha256:1b86daa7419b5e8b180690efd1fdbac43ff19230803282521c5b5a9c83977655 \
+ --hash=sha256:1d83b8b712fa37e06d59f29a4b49e2e9e8635e908fbc21552fe4d1163db9d2a1 \
+ --hash=sha256:1e6eefec45625c634926a9fd46c9e4f31118ac8f3156fff9494422cee45207e6 \
+ --hash=sha256:1ec0c8c0c3d4f97ced46b2e191e883f8c82dbbf6d5ebc1842366d7eff13cd5a6 \
+ --hash=sha256:1f1925619627f8798f8c3a391d81071336942e5fe8467bc3c567f982e7ce2897 \
+ --hash=sha256:1faa0f8f76ba75fd7b142c984947c280ef6558b5067af2ae9b8729b0a0f99ede \
+ --hash=sha256:2491937177868bc4b1e469087601d53f925e8d270ccc21e07404b4b5814b7b5f \
+ --hash=sha256:2dc37bc20272f388b8c3a4eba4febc6e77e50a8f450c472def4751e7678f55e4 \
+ --hash=sha256:32eeafa3abce138bb725550c0e228fc7eaeec7059aa8093d9cbbec2b58c2371a \
+ --hash=sha256:33a325ed0e8e1aa20c3e75f8ab057a7b248fdea7843c2a19ade0008906c14af0 \
+ --hash=sha256:33da4bbaf44e9755b0ce192597f3bde7372fe2e381ab305f41b707a95ac57aa7 \
+ --hash=sha256:37d3c653af15cd88592633e942f5407cb4c64184efab163c40fcebad05f25141 \
+ --hash=sha256:3fecce764cf5a991ee2195a844196da840aba72029b2612f95ac68a8b74946bf \
+ --hash=sha256:43d0305c36f504232f18ea04e55f2059bb89f169d3119c4ea96a0e15b59e2a91 \
+ --hash=sha256:43e38c1305cffae8472572a0584d4ffc2f130865586a81038ca3965301f7c97c \
+ --hash=sha256:442125473b247227d3f2de807a11da6c08ccf536572d1be943f8e262bae7e4ea \
+ --hash=sha256:442cba39957a008dfc5bdef21a9c3f4379e30ffb4e41b8555dbaf4887eca9300 \
+ --hash=sha256:489ce98a895c98cad284f0a47960c3e264c724cb4cfd47a1430fa091c0c25204 \
+ --hash=sha256:4ad73afb688b36864a8d9b7344a9cf6da186c471e5790cbf541a635ee0f457f2 \
+ --hash=sha256:4b39921df948388a863f0e267edf2c36302983459b021ab928d4b801cbe6a421 \
+ --hash=sha256:4e49c9e992bc5fc873bd0fff7ef16a4405130ec42f2ce3d2b735ba5d3d4eb70f \
+ --hash=sha256:52619d25a09546b8db078981ca88939d72caa6b8701edd8b22e16482a38e799f \
+ --hash=sha256:54fa03062124e73086dae66a3451c553c1e20a39c077fd704dc7154092c34c63 \
+ --hash=sha256:56fefb4382bb12250f164250240b9dd7772e41c5c8ae976fd598a32292449cc5 \
+ --hash=sha256:576e4b9012a67e0bf54fccb69a7b6c94d4e86a9540a62f1a5144977359133583 \
+ --hash=sha256:57f878330c8d361b2ce76cebb8e3e1dc827293b6abf404e67d53260d27b5d941 \
+ --hash=sha256:5cfc3d57abd83c734d1714ec39c88a34dd69c85474918ebc21296f1e61eb5ca8 \
+ --hash=sha256:656e52b054d5b5c2524169240e50cfa080b04b1c613c5f90a2465e84888d6f15 \
+ --hash=sha256:685c93ea961d135893b5984a5a9851637d23767feabe414ec974f43babbd8226 \
+ --hash=sha256:6a014ba09657abfcfeed64b7d09407acb29af436d7fc075b23a298a7e4a6b41c \
+ --hash=sha256:6c5f545f454871e6af05753a0172849c82feaf0f521c5ca62ba09e1b382d6382 \
+ --hash=sha256:6de00eb84c71476af7d3110cf25d8fe7c792d7f5fa86764ef0b4ca97e78ca3ed \
+ --hash=sha256:73b07566bc7e010e7b5bd490fb04bb312e820970180df6b5655e9e6224c137db \
+ --hash=sha256:769f31c60cd79420188fcdb3c823227fc4a6deb35cafec9d14045c7f6743acae \
+ --hash=sha256:7ba009977601d8b0828bfac9a110b195b3e4e79b350dcfa48c11269a9f1918a0 \
+ --hash=sha256:7ccbf68100c170e9a0581accbe9291850936711548c6688ce3bfb897b8c589ad \
+ --hash=sha256:7cf174b52cb3ef5d49e45d0a1133b7e7d0ecf770ed01f97ae9962c5c91d97d23 \
+ --hash=sha256:7d9af908c2f371bfb9c985bd134e295038e3031e666e4b2ade1e7cb7f5af2f1a \
+ --hash=sha256:834d1e818005ed0d4ae38f6b87b86fad9b0a74085467ece0727d20e15077c094 \
+ --hash=sha256:8383b6d0d92f6cd008f3c9216535be215a064b2cc890398a678b56e6d280cb63 \
+ --hash=sha256:89acb8cbb52904f763e5ac238083b9fc193bed8d1f03c80568b20e4cef43a519 \
+ --hash=sha256:948b00e8476a91f510dd1ec07272efc7d78c275d83b630455559671d4e33b678 \
+ --hash=sha256:9ec02e62ae765a318d6de38df609c57fc6dacc65c0ed1fd489036834fd8a620c \
+ --hash=sha256:a0a28add871425c2fe94358c6300bbeb0bc2ed828ca003420ac6825408f5a424 \
+ --hash=sha256:a2135b138bcdcb4c3742d417f215ac2d8c2b87bde15b0feede231ae95f09ec41 \
+ --hash=sha256:adb44d996fc610c7da8c5048775b21db60dd63b1548f078e95858c05c86876a3 \
+ --hash=sha256:b5100fd6bcee4d27f28f4e0a1c6b5127bc8ba7c2a9959cad9eab0bf4a7ab3329 \
+ --hash=sha256:b9fcd4d751a4fffa17aed1dde41647923c72c74af02459ad1222e3b0022da3a1 \
+ --hash=sha256:beda6aa9bc44d1d81242e7b291b446be352d3451f8217fcb068fc2933927d53b \
+ --hash=sha256:c5fb2d978a601820d2cfd111e2c221a9a7bfdf84b41a3ccbb96ceef29f2f1ac7 \
+ --hash=sha256:c71ce6d4231e5ef2e33caa952bfe671cb9fd42e2afb11952df9fad41d5c821f9 \
+ --hash=sha256:c7bd1816db05d6c5ffb3a4df0a2b7b56fb8c81ef584d08e37058afa217da91b1 \
+ --hash=sha256:c7e40c0a0af02ad6e57e89f62bef8604f55a04ecae90b0ceeda591bbf5923317 \
+ --hash=sha256:cc594bbcd3c62f647dfac66800f307beaee56b22aaba1c005e9c4c40ed733923 \
+ --hash=sha256:cc65e72790ddfd310c2c8912b45106e3800fefe160b0c2ef4d6b6fec4e826457 \
+ --hash=sha256:cec3c0da88562727dd5a5a364bd9efeb535400ff0bfb1443156dd139a1dd7b50 \
+ --hash=sha256:cfe8df315ab4e6db4e1be72c5170f8e66021acde22cd2f9d04d2058a9fd8162e \
+ --hash=sha256:d1fa009f8b1100e4880868137e7bf0501422898f7674f2adcd85d5a67f041296 \
+ --hash=sha256:d7843a1abf0091773a530636fdd2a49a41bcae22f9910b86b4f903e76ddc82dc \
+ --hash=sha256:da2a007434323904719158e50f3076a4dadb176ce43df28ed14610c773cc9825 \
+ --hash=sha256:dbcb726064b12f356bf10fffdb6db4b6dce5390b23627c08652b3f6e49aa56ae \
+ --hash=sha256:dc8c07801df5206b81ed6bd6c35cb520cf9b6c64b9b0d19d699f8633dc942897 \
+ --hash=sha256:dea2d113e260a5da0c4003e0a5e9fdf24a9dc2bb9eaa43abd030a1e46ce7837d \
+ --hash=sha256:dea97ac3ca18cd3ba8f3d04b5c1fe4aa60e58e8d9b7793d3bd595fdb04128d7a \
+ --hash=sha256:dee362e7e79bae940a5e2b3f6d09c6554db6a4e301cc68343886c08be99844f1 \
+ --hash=sha256:e195a77d06c03c98b3fc06b8a28576ba824392ce40de8c708f96ce04849a052e \
+ --hash=sha256:e6b5e3036976f0fde888687d91be86d81f9ac5f7b02e218913c38285b756be6c \
+ --hash=sha256:e6c31a4aa68cfa75d7eede8b0ed24b9e458447db604c2db53f358be9843d81d3 \
+ --hash=sha256:e805e52322ae29aa945baf7168b6c898120fbc16d2b8f940b658a5e9e3999253 \
+ --hash=sha256:ea188aa00e9bcae8c8411f006a5f2f06c4607a02f24eab0d8dc58566aa911f35 \
+ --hash=sha256:ecd7453e02cf072258c3a6b8e930230d789d5d46cc849503729f9ce475d0e785 \
+ --hash=sha256:ef6bf930b947bd0735c550683939a032090f1d688dfd8861d6b45307b96fd5c5 \
+ --hash=sha256:f3d15d8527e2b293e38ce6e437631af0708df29eafd7c9fc48210854c94472f9 \
+ --hash=sha256:f3eb0ff3b75d6fdccd40b55e7414bb859a1cda77c52762c9c82b85569f5088e7 \
+ --hash=sha256:fa7c8f26f009f8c673fbfb443792f0cf8cf50c4e18121ff1e285b5e08a94fbdb \
+ --hash=sha256:fce3152f94afcfd12f3dd8cf51e48fa606e3cb56719bccebe3b401f43d0714f9
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+redis==7.3.0 \
+ --hash=sha256:4d1b768aafcf41b01022410b3cc4f15a07d9b3d6fe0c66fc967da2c88e551034 \
+ --hash=sha256:9d4fcb002a12a5e3c3fbe005d59c48a2cc231f87fbb2f6b70c2d89bb64fec364
+ # via
+ # -c src/backend/requirements.txt
+ # django-redis
+referencing==0.37.0 \
+ --hash=sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 \
+ --hash=sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8
+ # via
+ # -c src/backend/requirements.txt
+ # jsonschema
+ # jsonschema-specifications
+requests==2.32.5 \
+ --hash=sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 \
+ --hash=sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf
+ # via
+ # -c src/backend/requirements.txt
+ # django-allauth
+ # django-anymail
+ # django-oauth-toolkit
+ # opentelemetry-exporter-otlp-proto-http
+rpds-py==0.30.0 \
+ --hash=sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f \
+ --hash=sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136 \
+ --hash=sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 \
+ --hash=sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7 \
+ --hash=sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65 \
+ --hash=sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4 \
+ --hash=sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 \
+ --hash=sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf \
+ --hash=sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4 \
+ --hash=sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2 \
+ --hash=sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c \
+ --hash=sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4 \
+ --hash=sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3 \
+ --hash=sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6 \
+ --hash=sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7 \
+ --hash=sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89 \
+ --hash=sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85 \
+ --hash=sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6 \
+ --hash=sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa \
+ --hash=sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb \
+ --hash=sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6 \
+ --hash=sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87 \
+ --hash=sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856 \
+ --hash=sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4 \
+ --hash=sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f \
+ --hash=sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53 \
+ --hash=sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229 \
+ --hash=sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad \
+ --hash=sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23 \
+ --hash=sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db \
+ --hash=sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038 \
+ --hash=sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27 \
+ --hash=sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 \
+ --hash=sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18 \
+ --hash=sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083 \
+ --hash=sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c \
+ --hash=sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738 \
+ --hash=sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898 \
+ --hash=sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e \
+ --hash=sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7 \
+ --hash=sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08 \
+ --hash=sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6 \
+ --hash=sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551 \
+ --hash=sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e \
+ --hash=sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288 \
+ --hash=sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df \
+ --hash=sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0 \
+ --hash=sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2 \
+ --hash=sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05 \
+ --hash=sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0 \
+ --hash=sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464 \
+ --hash=sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5 \
+ --hash=sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404 \
+ --hash=sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7 \
+ --hash=sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139 \
+ --hash=sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394 \
+ --hash=sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb \
+ --hash=sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15 \
+ --hash=sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff \
+ --hash=sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed \
+ --hash=sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6 \
+ --hash=sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e \
+ --hash=sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95 \
+ --hash=sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d \
+ --hash=sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950 \
+ --hash=sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3 \
+ --hash=sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5 \
+ --hash=sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97 \
+ --hash=sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e \
+ --hash=sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e \
+ --hash=sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b \
+ --hash=sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd \
+ --hash=sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad \
+ --hash=sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8 \
+ --hash=sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425 \
+ --hash=sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221 \
+ --hash=sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d \
+ --hash=sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825 \
+ --hash=sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51 \
+ --hash=sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e \
+ --hash=sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f \
+ --hash=sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8 \
+ --hash=sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f \
+ --hash=sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d \
+ --hash=sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07 \
+ --hash=sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877 \
+ --hash=sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31 \
+ --hash=sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58 \
+ --hash=sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94 \
+ --hash=sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28 \
+ --hash=sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000 \
+ --hash=sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1 \
+ --hash=sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1 \
+ --hash=sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7 \
+ --hash=sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7 \
+ --hash=sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40 \
+ --hash=sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d \
+ --hash=sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0 \
+ --hash=sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84 \
+ --hash=sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f \
+ --hash=sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a \
+ --hash=sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7 \
+ --hash=sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419 \
+ --hash=sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8 \
+ --hash=sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a \
+ --hash=sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9 \
+ --hash=sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be \
+ --hash=sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed \
+ --hash=sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a \
+ --hash=sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d \
+ --hash=sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324 \
+ --hash=sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f \
+ --hash=sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2 \
+ --hash=sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f \
+ --hash=sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5
+ # via
+ # -c src/backend/requirements.txt
+ # jsonschema
+ # referencing
+s3transfer==0.16.0 \
+ --hash=sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe \
+ --hash=sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920
+ # via
+ # -c src/backend/requirements.txt
+ # boto3
+sentry-sdk==2.54.0 \
+ --hash=sha256:2620c2575128d009b11b20f7feb81e4e4e8ae08ec1d36cbc845705060b45cc1b \
+ --hash=sha256:fd74e0e281dcda63afff095d23ebcd6e97006102cdc8e78a29f19ecdf796a0de
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # django-q-sentry
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+sgmllib3k==1.0.0 \
+ --hash=sha256:7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9
+ # via
+ # -c src/backend/requirements.txt
+ # feedparser
+six==1.17.0 \
+ --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
+ --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
+ # via
+ # -c src/backend/requirements.txt
+ # python-dateutil
+sqlparse==0.5.5 \
+ --hash=sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba \
+ --hash=sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e
+ # via
+ # -c src/backend/requirements.txt
+ # django
+ # django-sql-utils
+structlog==25.5.0 \
+ --hash=sha256:098522a3bebed9153d4570c6d0288abf80a031dfdb2048d59a49e9dc2190fc98 \
+ --hash=sha256:a8453e9b9e636ec59bd9e79bbd4a72f025981b3ba0f5837aebf48f02f37a7f9f
+ # via
+ # -c src/backend/requirements.txt
+ # django-structlog
+tablib[xls, xlsx, yaml]==3.9.0 \
+ --hash=sha256:1b6abd8edb0f35601e04c6161d79660fdcde4abb4a54f66cc9f9054bd55d5fe2 \
+ --hash=sha256:eda17cd0d4dda614efc0e710227654c60ddbeb1ca92cdcfc5c3bd1fc5f5a6e4a
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+tinycss2==1.4.0 \
+ --hash=sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7 \
+ --hash=sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289
+ # via
+ # -c src/backend/requirements.txt
+ # bleach
+ # cssselect2
+ # weasyprint
+tinyhtml5==2.1.0 \
+ --hash=sha256:60a50ec3d938a37e491efa01af895853060943dcebb5627de5b10d188b338a67 \
+ --hash=sha256:6e11cfff38515834268daf89d5f85bbde0b6dd02e8d9e212d1385c2289b89f0a
+ # via
+ # -c src/backend/requirements.txt
+ # weasyprint
+typing-extensions==4.15.0 \
+ --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
+ --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
+ # via
+ # -c src/backend/requirements.txt
+ # flexcache
+ # flexparser
+ # grpcio
+ # jwcrypto
+ # opentelemetry-api
+ # opentelemetry-exporter-otlp-proto-grpc
+ # opentelemetry-exporter-otlp-proto-http
+ # opentelemetry-sdk
+ # opentelemetry-semantic-conventions
+ # pint
+ # py-moneyed
+tzdata==2025.3 \
+ --hash=sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1 \
+ --hash=sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7
+ # via
+ # -c src/backend/requirements.txt
+ # icalendar
+uritemplate==4.2.0 \
+ --hash=sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e \
+ --hash=sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686
+ # via
+ # -c src/backend/requirements.txt
+ # drf-spectacular
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
+ # via
+ # -c src/backend/requirements.txt
+ # botocore
+ # django-anymail
+ # dulwich
+ # requests
+ # sentry-sdk
+wcwidth==0.6.0 \
+ --hash=sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad \
+ --hash=sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159
+ # via
+ # -c src/backend/requirements.txt
+ # blessed
+ # prettytable
+weasyprint==66.0 \
+ --hash=sha256:82b0783b726fcd318e2c977dcdddca76515b30044bc7a830cc4fbe717582a6d0 \
+ --hash=sha256:da71dc87dc129ac9cffdc65e5477e90365ab9dbae45c744014ec1d06303dde40
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+webencodings==0.5.1 \
+ --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
+ --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
+ # via
+ # -c src/backend/requirements.txt
+ # bleach
+ # cssselect2
+ # tinycss2
+ # tinyhtml5
+whitenoise==6.12.0 \
+ --hash=sha256:f723ebb76a112e98816ff80fcea0a6c9b8ecde835f8ddda25df7a30a3c2db6ad \
+ --hash=sha256:fc5e8c572e33ebf24795b47b6a7da8da3c00cff2349f5b04c02f28d0cc5a3cc2
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+wrapt==1.17.3 \
+ --hash=sha256:02b551d101f31694fc785e58e0720ef7d9a10c4e62c1c9358ce6f63f23e30a56 \
+ --hash=sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828 \
+ --hash=sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f \
+ --hash=sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396 \
+ --hash=sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77 \
+ --hash=sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d \
+ --hash=sha256:0f5f51a6466667a5a356e6381d362d259125b57f059103dd9fdc8c0cf1d14139 \
+ --hash=sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7 \
+ --hash=sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb \
+ --hash=sha256:1f23fa283f51c890eda8e34e4937079114c74b4c81d2b2f1f1d94948f5cc3d7f \
+ --hash=sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f \
+ --hash=sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067 \
+ --hash=sha256:24c2ed34dc222ed754247a2702b1e1e89fdbaa4016f324b4b8f1a802d4ffe87f \
+ --hash=sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7 \
+ --hash=sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b \
+ --hash=sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc \
+ --hash=sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05 \
+ --hash=sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd \
+ --hash=sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7 \
+ --hash=sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9 \
+ --hash=sha256:3e62d15d3cfa26e3d0788094de7b64efa75f3a53875cdbccdf78547aed547a81 \
+ --hash=sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977 \
+ --hash=sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa \
+ --hash=sha256:46acc57b331e0b3bcb3e1ca3b421d65637915cfcd65eb783cb2f78a511193f9b \
+ --hash=sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe \
+ --hash=sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58 \
+ --hash=sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8 \
+ --hash=sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77 \
+ --hash=sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85 \
+ --hash=sha256:55cbbc356c2842f39bcc553cf695932e8b30e30e797f961860afb308e6b1bb7c \
+ --hash=sha256:59923aa12d0157f6b82d686c3fd8e1166fa8cdfb3e17b42ce3b6147ff81528df \
+ --hash=sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454 \
+ --hash=sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a \
+ --hash=sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e \
+ --hash=sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c \
+ --hash=sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6 \
+ --hash=sha256:656873859b3b50eeebe6db8b1455e99d90c26ab058db8e427046dbc35c3140a5 \
+ --hash=sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9 \
+ --hash=sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd \
+ --hash=sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277 \
+ --hash=sha256:70d86fa5197b8947a2fa70260b48e400bf2ccacdcab97bb7de47e3d1e6312225 \
+ --hash=sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22 \
+ --hash=sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116 \
+ --hash=sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16 \
+ --hash=sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc \
+ --hash=sha256:758895b01d546812d1f42204bd443b8c433c44d090248bf22689df673ccafe00 \
+ --hash=sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2 \
+ --hash=sha256:7e18f01b0c3e4a07fe6dfdb00e29049ba17eadbc5e7609a2a3a4af83ab7d710a \
+ --hash=sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804 \
+ --hash=sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04 \
+ --hash=sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1 \
+ --hash=sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba \
+ --hash=sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390 \
+ --hash=sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0 \
+ --hash=sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d \
+ --hash=sha256:a9a2203361a6e6404f80b99234fe7fb37d1fc73487b5a78dc1aa5b97201e0f22 \
+ --hash=sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0 \
+ --hash=sha256:ad85e269fe54d506b240d2d7b9f5f2057c2aa9a2ea5b32c66f8902f768117ed2 \
+ --hash=sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18 \
+ --hash=sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6 \
+ --hash=sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311 \
+ --hash=sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89 \
+ --hash=sha256:caea3e9c79d5f0d2c6d9ab96111601797ea5da8e6d0723f77eabb0d4068d2b2f \
+ --hash=sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39 \
+ --hash=sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4 \
+ --hash=sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5 \
+ --hash=sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa \
+ --hash=sha256:df7d30371a2accfe4013e90445f6388c570f103d61019b6b7c57e0265250072a \
+ --hash=sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050 \
+ --hash=sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6 \
+ --hash=sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235 \
+ --hash=sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056 \
+ --hash=sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2 \
+ --hash=sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418 \
+ --hash=sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c \
+ --hash=sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a \
+ --hash=sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6 \
+ --hash=sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0 \
+ --hash=sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775 \
+ --hash=sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10 \
+ --hash=sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c
+ # via
+ # -c src/backend/requirements.txt
+ # opentelemetry-instrumentation
+ # opentelemetry-instrumentation-dbapi
+ # opentelemetry-instrumentation-redis
+xlrd==2.0.2 \
+ --hash=sha256:08b5e25de58f21ce71dc7db3b3b8106c1fa776f3024c54e45b45b374e89234c9 \
+ --hash=sha256:ea762c3d29f4cca48d82df517b6d89fbce4db3107f9d78713e48cd321d5c9aa9
+ # via
+ # -c src/backend/requirements.txt
+ # tablib
+xlwt==1.3.0 \
+ --hash=sha256:a082260524678ba48a297d922cc385f58278b8aa68741596a87de01a9c628b2e \
+ --hash=sha256:c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88
+ # via
+ # -c src/backend/requirements.txt
+ # tablib
+xmlsec==1.3.17 \
+ --hash=sha256:00d43d4f68ac6b11f6e1e69bcb389495f54da77bf1168b4de08f4a7785e47bbb \
+ --hash=sha256:040f28a7aacfdb467df46d423e4af05569e9376bc8c7f6416b0761e16a0e3d0b \
+ --hash=sha256:1a0b9a1dcda547e0340eefa6f4a04b87dbd9e40cd514487f347934f94fd559ab \
+ --hash=sha256:26cc3d81437b51839946d2e93d09371dfd73ed2831dc7e37eff0fb52fc33747c \
+ --hash=sha256:2aa5081e1e05dcb6029660ddad795c7daebb3c5771001f60850ab24a16a9cf5e \
+ --hash=sha256:320bf7162e2c442638233da9826af1476049999da1b474b5fe07c60952610131 \
+ --hash=sha256:393eb5cc6b8d6e67c04fd64979ec30d766b3d226550b208803cd410d4b416d91 \
+ --hash=sha256:3a53c14d4bc40b0f0fcc6d7908b88f3cbbcf36e25c392f796d88aee7dee5beea \
+ --hash=sha256:3a6ced8c7744e896cb5a9fd0156d204df3143a62bae11be91cab8e9743d40eec \
+ --hash=sha256:3d1fc1fbe2e8585a3f468cf4154d0ec36cd95a15e68429ad8cc8ccd7c04e84ae \
+ --hash=sha256:40fcb197bdb76301c82b10096c67cc44a6e887317b5b914dbbd166339d36fce4 \
+ --hash=sha256:46fc9c80e8898ad212b6ad389469bb82d1ab89b90555db42e3e73235b143739d \
+ --hash=sha256:4f2bf6bbf04f8a912483d268b4c2727d400d1806d054624da13bee4b9f6fa28a \
+ --hash=sha256:5319d0bdaf9e597a0ba8dfb3840c4ae57e51f462e7620953f32b07df6267f2ba \
+ --hash=sha256:5346616e1fe1015f7800698c15225c7902f45db199e217af2039a21989aff7e9 \
+ --hash=sha256:5616ad5016794b0dd41d03eef5b721e31bb306353226b25fc88fedb7d4f7c37e \
+ --hash=sha256:593264c192d1836162d75478c8b1cb5874f3b69dcc5bdfac642a0933abefa93a \
+ --hash=sha256:5c3008b32a15d24b6c9da39bf6ede8dc3122570a640a73795d763aea55a2193e \
+ --hash=sha256:5c6d4b2ece9d109591d08128a1656b458e24d9eba6c02c32e93573e14eee2447 \
+ --hash=sha256:5d0e69291f90b28e9442d8e0e69d3e06cede8a3c44e856413fd284de81ce2888 \
+ --hash=sha256:64c1184d51c8a67e3d1eb3ac477e307a07e2b40fd03cd0c8084b147ea0f342db \
+ --hash=sha256:66fe5aaccf68fb85fe0b64277e3f594d6b01ddefb98ef1ceb0a666652d6ec580 \
+ --hash=sha256:672e41dc7962da4ce84b67aa1c3a008338e3b88332f5484b9911b91cee0997ed \
+ --hash=sha256:67717fe5151df68987a1387cba11ba28ce19b3bb9a2d10d650277cd910e510e7 \
+ --hash=sha256:6cbf8a556c74451a7455d506ce3edc81c7cd0f60895ef7792c77dc97434a8e82 \
+ --hash=sha256:6d1e9ff3398e87e3abb2ab8f1576c0761e5c5c18b086b41f2b39a3eb6b2f7e11 \
+ --hash=sha256:728058a1623a620811a3cdf2dd4894b5d9413ede20c8ddddf98fdea5eafe9529 \
+ --hash=sha256:72fc6d336dd68d62822c6536ff4b2453fda94ea652eddb4a958ac97b16ac7001 \
+ --hash=sha256:79b471fdd1d3a92b80907828eaa809f6e34023583488b1b8dc3f951529e7a2f8 \
+ --hash=sha256:7a9f7f7c9ded817f8476b5d6762a831034a8c54783f6175a928f61d57bec78cb \
+ --hash=sha256:80fff2251d0e73714435b5860ce200990dffe85466dd91d08d75c4d64ee9967d \
+ --hash=sha256:9877303e8c72d7aa2467d1af12e56d67b8fb50d324eda5848e0ec5ee2176aac5 \
+ --hash=sha256:99b5b4b6fe232f2234bcec2bdd533b7ab7030b3ce6cfb8bd7153bf02441c8520 \
+ --hash=sha256:9bb6faa4ae0268204cfa6b0c0de1c9121eb606eea8c66c7d7ce62e89a17f9efa \
+ --hash=sha256:a1ef656421d01851618d0fe5518e57469159c14a48e05125f7bd3225631952f9 \
+ --hash=sha256:a3961102a6ba8250670814bd1086139fb918e03bf146ef85dc8b6084a9b027d1 \
+ --hash=sha256:a603584ceee175036e1bccdbe65d551c0fff67343fd506bfa6cec52bc64d9a75 \
+ --hash=sha256:abd585642d1fb169dd014e1037dcebe21d12a06e71b6d8f0e37650a81d57d1f1 \
+ --hash=sha256:ac68a6ac9c0e74f6f3e476f5ac2271b1df7b349a4021b6b2cdfe32cc8fa4beec \
+ --hash=sha256:ac92a5d0104640e0ff6fd9ef82441005e08fef460fccd790240d3e39abd69ad3 \
+ --hash=sha256:ae88c3aaab5704adfdbce913b3a18db1eb96c49c970657cc01c0d1c420ffdec3 \
+ --hash=sha256:b3f306f5aef47336b8299d8dbee31fa0b2eba4579f9f41396070f7a97d0dcd49 \
+ --hash=sha256:b4be73fbde421d6188300e02ad92d2d5435c708a35ede8124ebdf6b00330d7cb \
+ --hash=sha256:bc8d0a75a43a45349b37186ecce5ae028325ede47cbc217802ff3ef4db3f3cb9 \
+ --hash=sha256:c4533780d91f547b841f2522a419da9f2cee2f906dbd4aa58083bc944526a45c \
+ --hash=sha256:d360d4adfb53d3adeca398c225cb7e2a73a2246414455937082a1fa19bd8572b \
+ --hash=sha256:d4a7ee007c6b55f7621330aee8330ef2dafa4225fce554064571ca826beafe7e \
+ --hash=sha256:d586bb09f146235f82de624ff05fbca76f8aadc627eb9a072df1899317a1a9eb \
+ --hash=sha256:d862f023f56a49c06576be41dfaf213c9ac77e7a344e7f204278c365bb36d00e \
+ --hash=sha256:df4a8d7fef3ffe90e572400d47392ea480120e339c292f802830ed09d449e622 \
+ --hash=sha256:e2bf1d07c4f97afeb957f626b8c3ebb8cef300efa0cb95599e936c69a66a1b17 \
+ --hash=sha256:ea2d65749c4c6a35a3ba138debda2f910713a9f4f06b4647510c184c284d7c62 \
+ --hash=sha256:ed63cbd87dd69ebcf3a9f82d87b67818c9a7d656325dd4fb34d6c4dfbaa84017 \
+ --hash=sha256:eee89c268a35f8a08a8e9abef6f466b97577e94f5cac8bf32c25e97cd5020097 \
+ --hash=sha256:f3fac9ae679f66585925cc00c5f6839ae36c1d03157619571dee18acc05b9c01
+ # via
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements.in
+ # python3-saml
+zipp==3.23.0 \
+ --hash=sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e \
+ --hash=sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166
+ # via
+ # -c src/backend/requirements.txt
+ # importlib-metadata
+zopfli==0.4.1 \
+ --hash=sha256:02086247dd12fda929f9bfe8b3962b6bcdbfc8c82e99255aebcf367867cf0760 \
+ --hash=sha256:07a5cdc5d1aaa6c288c5d9f5a5383042ba743641abf8e2fd898dcad622d8a38e \
+ --hash=sha256:27823dc1161a4031d1c25925fd45d9868ec0cbc7692341830a7dcfa25063662c \
+ --hash=sha256:2f992ac7d83cbddd889e1813ace576cbc91a05d5d7a0a21b366e2e5f492e7707 \
+ --hash=sha256:4238d4d746d1095e29c9125490985e0c12ffd3654f54a24af551e2391e936d54 \
+ --hash=sha256:5a4c22b6161f47f5bd34637dbaee6735abd287cd64e0d1ce28ef1871bf625f4b \
+ --hash=sha256:84a31ba9edc921b1d3a4449929394a993888f32d70de3a3617800c428a947b9b \
+ --hash=sha256:a899eca405662a23ae75054affa3517a060362eae1185d3d791c86a50153c4dd \
+ --hash=sha256:a93c2ecafff372de6c0aa2212eff18a75f6c71a100372fee7b4b129cc0b6f9a7 \
+ --hash=sha256:cb136a74d14a4ecfae29cb0fdecece58a6c115abc9a74c12bc6ac62e80f229d7 \
+ --hash=sha256:d7bcee1b189d64ec33d1e05cfa1b6a1268c29329c382f6ca1bd6245b04925c57 \
+ --hash=sha256:fdfb7ce9f5de37a5b2f75dd2642fd7717956ef2a72e0387302a36d382440db07
+ # via
+ # -c src/backend/requirements.txt
+ # fonttools
diff --git a/src/backend/requirements-dev-3.14.txt b/src/backend/requirements-dev-3.14.txt
new file mode 100644
index 0000000000..6f40cc293f
--- /dev/null
+++ b/src/backend/requirements-dev-3.14.txt
@@ -0,0 +1,729 @@
+# This file was autogenerated by uv via the following command:
+# uv pip compile src/backend/requirements-dev.in -o src/backend/requirements-dev-3.14.txt -c src/backend/requirements-3.14.txt --python-version=3.14 -c src/backend/requirements.txt
+asgiref==3.11.1 \
+ --hash=sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce \
+ --hash=sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # django
+build==1.4.0 \
+ --hash=sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596 \
+ --hash=sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936
+ # via pip-tools
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # requests
+cffi==2.0.0 \
+ --hash=sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb \
+ --hash=sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b \
+ --hash=sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f \
+ --hash=sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9 \
+ --hash=sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44 \
+ --hash=sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2 \
+ --hash=sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c \
+ --hash=sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75 \
+ --hash=sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65 \
+ --hash=sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e \
+ --hash=sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a \
+ --hash=sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e \
+ --hash=sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25 \
+ --hash=sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a \
+ --hash=sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe \
+ --hash=sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b \
+ --hash=sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91 \
+ --hash=sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592 \
+ --hash=sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187 \
+ --hash=sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c \
+ --hash=sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1 \
+ --hash=sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94 \
+ --hash=sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba \
+ --hash=sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb \
+ --hash=sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165 \
+ --hash=sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529 \
+ --hash=sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca \
+ --hash=sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c \
+ --hash=sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6 \
+ --hash=sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c \
+ --hash=sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0 \
+ --hash=sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743 \
+ --hash=sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63 \
+ --hash=sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5 \
+ --hash=sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5 \
+ --hash=sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4 \
+ --hash=sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d \
+ --hash=sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b \
+ --hash=sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93 \
+ --hash=sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205 \
+ --hash=sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27 \
+ --hash=sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512 \
+ --hash=sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d \
+ --hash=sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c \
+ --hash=sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037 \
+ --hash=sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26 \
+ --hash=sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322 \
+ --hash=sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb \
+ --hash=sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c \
+ --hash=sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8 \
+ --hash=sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4 \
+ --hash=sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414 \
+ --hash=sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9 \
+ --hash=sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664 \
+ --hash=sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9 \
+ --hash=sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775 \
+ --hash=sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739 \
+ --hash=sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc \
+ --hash=sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062 \
+ --hash=sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe \
+ --hash=sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9 \
+ --hash=sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92 \
+ --hash=sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5 \
+ --hash=sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13 \
+ --hash=sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d \
+ --hash=sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26 \
+ --hash=sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f \
+ --hash=sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495 \
+ --hash=sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b \
+ --hash=sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6 \
+ --hash=sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c \
+ --hash=sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef \
+ --hash=sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5 \
+ --hash=sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18 \
+ --hash=sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad \
+ --hash=sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3 \
+ --hash=sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7 \
+ --hash=sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5 \
+ --hash=sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534 \
+ --hash=sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49 \
+ --hash=sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2 \
+ --hash=sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5 \
+ --hash=sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453 \
+ --hash=sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # cryptography
+ # pytest-codspeed
+cfgv==3.5.0 \
+ --hash=sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0 \
+ --hash=sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132
+ # via pre-commit
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # pdfminer-six
+ # requests
+click==8.3.1 \
+ --hash=sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a \
+ --hash=sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6
+ # via pip-tools
+coverage[toml]==7.13.4 \
+ --hash=sha256:01d4cbc3c283a17fc1e42d614a119f7f438eabb593391283adca8dc86eff1246 \
+ --hash=sha256:02231499b08dabbe2b96612993e5fc34217cdae907a51b906ac7fca8027a4459 \
+ --hash=sha256:0dd7ab8278f0d58a0128ba2fca25824321f05d059c1441800e934ff2efa52129 \
+ --hash=sha256:0e086334e8537ddd17e5f16a344777c1ab8194986ec533711cbe6c41cde841b6 \
+ --hash=sha256:0fc31c787a84f8cd6027eba44010517020e0d18487064cd3d8968941856d1415 \
+ --hash=sha256:14375934243ee05f56c45393fe2ce81fe5cc503c07cee2bdf1725fb8bef3ffaf \
+ --hash=sha256:1731dc33dc276dafc410a885cbf5992f1ff171393e48a21453b78727d090de80 \
+ --hash=sha256:19bc3c88078789f8ef36acb014d7241961dbf883fd2533d18cb1e7a5b4e28b11 \
+ --hash=sha256:1af1641e57cf7ba1bd67d677c9abdbcd6cc2ab7da3bca7fa1e2b7e50e65f2ad0 \
+ --hash=sha256:1d4be36a5114c499f9f1f9195e95ebf979460dbe2d88e6816ea202010ba1c34b \
+ --hash=sha256:200dea7d1e8095cc6e98cdabe3fd1d21ab17d3cee6dab00cadbb2fe35d9c15b9 \
+ --hash=sha256:23e3f687cf945070d1c90f85db66d11e3025665d8dafa831301a0e0038f3db9b \
+ --hash=sha256:2421d591f8ca05b308cf0092807308b2facbefe54af7c02ac22548b88b95c98f \
+ --hash=sha256:245e37f664d89861cf2329c9afa2c1fe9e6d4e1a09d872c947e70718aeeac505 \
+ --hash=sha256:25381386e80ae727608e662474db537d4df1ecd42379b5ba33c84633a2b36d47 \
+ --hash=sha256:25a41c3104d08edb094d9db0d905ca54d0cd41c928bb6be3c4c799a54753af55 \
+ --hash=sha256:296f8b0af861d3970c2a4d8c91d48eb4dd4771bcef9baedec6a9b515d7de3def \
+ --hash=sha256:29e3220258d682b6226a9b0925bc563ed9a1ebcff3cad30f043eceea7eaf2689 \
+ --hash=sha256:2a09cfa6a5862bc2fc6ca7c3def5b2926194a56b8ab78ffcf617d28911123012 \
+ --hash=sha256:2b0f6ccf3dbe577170bebfce1318707d0e8c3650003cb4b3a9dd744575daa8b5 \
+ --hash=sha256:2c048ea43875fbf8b45d476ad79f179809c590ec7b79e2035c662e7afa3192e3 \
+ --hash=sha256:2cb0f1e000ebc419632bbe04366a8990b6e32c4e0b51543a6484ffe15eaeda95 \
+ --hash=sha256:2fa8d5f8de70688a28240de9e139fa16b153cc3cbb01c5f16d88d6505ebdadf9 \
+ --hash=sha256:300deaee342f90696ed186e3a00c71b5b3d27bffe9e827677954f4ee56969601 \
+ --hash=sha256:30b8d0512f2dc8c8747557e8fb459d6176a2c9e5731e2b74d311c03b78451997 \
+ --hash=sha256:33901f604424145c6e9c2398684b92e176c0b12df77d52db81c20abd48c3794c \
+ --hash=sha256:3599eb3992d814d23b35c536c28df1a882caa950f8f507cef23d1cbf334995ac \
+ --hash=sha256:391ee8f19bef69210978363ca930f7328081c6a0152f1166c91f0b5fdd2a773c \
+ --hash=sha256:3998e5a32e62fdf410c0dbd3115df86297995d6e3429af80b8798aad894ca7aa \
+ --hash=sha256:3c06f0f1337c667b971ca2f975523347e63ec5e500b9aa5882d91931cd3ef750 \
+ --hash=sha256:40aa8808140e55dc022b15d8aa7f651b6b3d68b365ea0398f1441e0b04d859c3 \
+ --hash=sha256:40d74da8e6c4b9ac18b15331c4b5ebc35a17069410cad462ad4f40dcd2d50c0d \
+ --hash=sha256:4223b4230a376138939a9173f1bdd6521994f2aff8047fae100d6d94d50c5a12 \
+ --hash=sha256:48685fee12c2eb3b27c62f2658e7ea21e9c3239cba5a8a242801a0a3f6a8c62a \
+ --hash=sha256:4c7d3cc01e7350f2f0f6f7036caaf5673fb56b6998889ccfe9e1c1fe75a9c932 \
+ --hash=sha256:4e83efc079eb39480e6346a15a1bcb3e9b04759c5202d157e1dd4303cd619356 \
+ --hash=sha256:4fc7fa81bbaf5a02801b65346c8b3e657f1d93763e58c0abdf7c992addd81a92 \
+ --hash=sha256:53d133df809c743eb8bce33b24bcababb371f4441340578cd406e084d94a6148 \
+ --hash=sha256:590c0ed4bf8e85f745e6b805b2e1c457b2e33d5255dd9729743165253bc9ad39 \
+ --hash=sha256:5b856a8ccf749480024ff3bd7310adaef57bf31fd17e1bfc404b7940b6986634 \
+ --hash=sha256:65dfcbe305c3dfe658492df2d85259e0d79ead4177f9ae724b6fb245198f55d6 \
+ --hash=sha256:6f01afcff62bf9a08fb32b2c1d6e924236c0383c02c790732b6537269e466a72 \
+ --hash=sha256:6fdef321fdfbb30a197efa02d48fcd9981f0d8ad2ae8903ac318adc653f5df98 \
+ --hash=sha256:71ca20079dd8f27fcf808817e281e90220475cd75115162218d0e27549f95fef \
+ --hash=sha256:725d985c5ab621268b2edb8e50dfe57633dc69bda071abc470fed55a14935fd3 \
+ --hash=sha256:75eab1ebe4f2f64d9509b984f9314d4aa788540368218b858dad56dc8f3e5eb9 \
+ --hash=sha256:75fcd519f2a5765db3f0e391eb3b7d150cce1a771bf4c9f861aeab86c767a3c0 \
+ --hash=sha256:76451d1978b95ba6507a039090ba076105c87cc76fc3efd5d35d72093964d49a \
+ --hash=sha256:784fc3cf8be001197b652d51d3fd259b1e2262888693a4636e18879f613a62a9 \
+ --hash=sha256:78cdf0d578b15148b009ccf18c686aa4f719d887e76e6b40c38ffb61d264a552 \
+ --hash=sha256:79be69cf7f3bf9b0deeeb062eab7ac7f36cd4cc4c4dd694bd28921ba4d8596cc \
+ --hash=sha256:79e73a76b854d9c6088fe5d8b2ebe745f8681c55f7397c3c0a016192d681045f \
+ --hash=sha256:7b322db1284a2ed3aa28ffd8ebe3db91c929b7a333c0820abec3d838ef5b3525 \
+ --hash=sha256:7d41eead3cc673cbd38a4417deb7fd0b4ca26954ff7dc6078e33f6ff97bed940 \
+ --hash=sha256:7eda778067ad7ffccd23ecffce537dface96212576a07924cbf0d8799d2ded5a \
+ --hash=sha256:7f57b33491e281e962021de110b451ab8a24182589be17e12a22c79047935e23 \
+ --hash=sha256:8041b6c5bfdc03257666e9881d33b1abc88daccaf73f7b6340fb7946655cd10f \
+ --hash=sha256:8248977c2e33aecb2ced42fef99f2d319e9904a36e55a8a68b69207fb7e43edc \
+ --hash=sha256:845f352911777a8e722bfce168958214951e07e47e5d5d9744109fa5fe77f79b \
+ --hash=sha256:85480adfb35ffc32d40918aad81b89c69c9cc5661a9b8a81476d3e645321a056 \
+ --hash=sha256:8e264226ec98e01a8e1054314af91ee6cde0eacac4f465cc93b03dbe0bce2fd7 \
+ --hash=sha256:8e798c266c378da2bd819b0677df41ab46d78065fb2a399558f3f6cae78b2fbb \
+ --hash=sha256:9181a3ccead280b828fae232df12b16652702b49d41e99d657f46cc7b1f6ec7a \
+ --hash=sha256:9351229c8c8407645840edcc277f4a2d44814d1bc34a2128c11c2a031d45a5dd \
+ --hash=sha256:93550784d9281e374fb5a12bf1324cc8a963fd63b2d2f223503ef0fd4aa339ea \
+ --hash=sha256:9401ebc7ef522f01d01d45532c68c5ac40fb27113019b6b7d8b208f6e9baa126 \
+ --hash=sha256:94eb63f9b363180aff17de3e7c8760c3ba94664ea2695c52f10111244d16a299 \
+ --hash=sha256:9d107aff57a83222ddbd8d9ee705ede2af2cc926608b57abed8ef96b50b7e8f9 \
+ --hash=sha256:a32ebc02a1805adf637fc8dec324b5cdacd2e493515424f70ee33799573d661b \
+ --hash=sha256:a3aa4e7b9e416774b21797365b358a6e827ffadaaca81b69ee02946852449f00 \
+ --hash=sha256:a6f94a7d00eb18f1b6d403c91a88fd58cfc92d4b16080dfdb774afc8294469bf \
+ --hash=sha256:aa3feb8db2e87ff5e6d00d7e1480ae241876286691265657b500886c98f38bda \
+ --hash=sha256:ad27098a189e5838900ce4c2a99f2fe42a0bf0c2093c17c69b45a71579e8d4a2 \
+ --hash=sha256:ae4578f8528569d3cf303fef2ea569c7f4c4059a38c8667ccef15c6e1f118aa5 \
+ --hash=sha256:b1ec7b6b6e93255f952e27ab58fbc68dcc468844b16ecbee881aeb29b6ab4d8d \
+ --hash=sha256:b507778ae8a4c915436ed5c2e05b4a6cecfa70f734e19c22a005152a11c7b6a9 \
+ --hash=sha256:b66a2da594b6068b48b2692f043f35d4d3693fb639d5ea8b39533c2ad9ac3ab9 \
+ --hash=sha256:b720ce6a88a2755f7c697c23268ddc47a571b88052e6b155224347389fdf6a3b \
+ --hash=sha256:b7b38448866e83176e28086674fe7368ab8590e4610fb662b44e345b86d63ffa \
+ --hash=sha256:b8eb931ee8e6d8243e253e5ed7336deea6904369d2fd8ae6e43f68abbf167092 \
+ --hash=sha256:bb28c0f2cf2782508a40cec377935829d5fcc3ad9a3681375af4e84eb34b6b58 \
+ --hash=sha256:bd60d4fe2f6fa7dff9223ca1bbc9f05d2b6697bc5961072e5d3b952d46e1b1ea \
+ --hash=sha256:c35eb28c1d085eb7d8c9b3296567a1bebe03ce72962e932431b9a61f28facf26 \
+ --hash=sha256:c4240e7eded42d131a2d2c4dec70374b781b043ddc79a9de4d55ca71f8e98aea \
+ --hash=sha256:caa421e2684e382c5d8973ac55e4f36bed6821a9bad5c953494de960c74595c9 \
+ --hash=sha256:d490ba50c3f35dd7c17953c68f3270e7ccd1c6642e2d2afe2d8e720b98f5a053 \
+ --hash=sha256:d65b2d373032411e86960604dc4edac91fdfb5dca539461cf2cbe78327d1e64f \
+ --hash=sha256:dae88bc0fc77edaa65c14be099bd57ee140cf507e6bfdeea7938457ab387efb0 \
+ --hash=sha256:de6defc1c9badbf8b9e67ae90fd00519186d6ab64e5cc5f3d21359c2a9b2c1d3 \
+ --hash=sha256:e101609bcbbfb04605ea1027b10dc3735c094d12d40826a60f897b98b1c30256 \
+ --hash=sha256:e24f9156097ff9dc286f2f913df3a7f63c0e333dcafa3c196f2c18b4175ca09a \
+ --hash=sha256:e2f25215f1a359ab17320b47bcdaca3e6e6356652e8256f2441e4ef972052903 \
+ --hash=sha256:e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91 \
+ --hash=sha256:e6f70dec1cc557e52df5306d051ef56003f74d56e9c4dd7ddb07e07ef32a84dd \
+ --hash=sha256:e856bf6616714c3a9fbc270ab54103f4e685ba236fa98c054e8f87f266c93505 \
+ --hash=sha256:e87f6c587c3f34356c3759f0420693e35e7eb0e2e41e4c011cb6ec6ecbbf1db7 \
+ --hash=sha256:eb30bf180de3f632cd043322dad5751390e5385108b2807368997d1a92a509d0 \
+ --hash=sha256:eb88b316ec33760714a4720feb2816a3a59180fd58c1985012054fa7aebee4c2 \
+ --hash=sha256:eb9078108fbf0bcdde37c3f4779303673c2fa1fe8f7956e68d447d0dd426d38a \
+ --hash=sha256:ecae9737b72408d6a950f7e525f30aca12d4bd8dd95e37342e5beb3a2a8c4f71 \
+ --hash=sha256:ee756f00726693e5ba94d6df2bdfd64d4852d23b09bb0bc700e3b30e6f333985 \
+ --hash=sha256:f4594c67d8a7c89cf922d9df0438c7c7bb022ad506eddb0fdb2863359ff78242 \
+ --hash=sha256:f53d492307962561ac7de4cd1de3e363589b000ab69617c6156a16ba7237998d \
+ --hash=sha256:fb07dc5da7e849e2ad31a5d74e9bece81f30ecf5a42909d0a695f8bd1874d6af \
+ --hash=sha256:fb26a934946a6afe0e326aebe0730cdff393a8bc0bbb65a2f41e30feddca399c \
+ --hash=sha256:fdfc1e28e7c7cdce44985b3043bc13bbd9c747520f94a4d7164af8260b3d91f0
+ # via -r src/backend/requirements-dev.in
+cryptography==46.0.5 \
+ --hash=sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72 \
+ --hash=sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235 \
+ --hash=sha256:1abfdb89b41c3be0365328a410baa9df3ff8a9110fb75e7b52e66803ddabc9a9 \
+ --hash=sha256:2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356 \
+ --hash=sha256:2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257 \
+ --hash=sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad \
+ --hash=sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4 \
+ --hash=sha256:3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c \
+ --hash=sha256:3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614 \
+ --hash=sha256:3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed \
+ --hash=sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31 \
+ --hash=sha256:420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229 \
+ --hash=sha256:47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0 \
+ --hash=sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731 \
+ --hash=sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b \
+ --hash=sha256:4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4 \
+ --hash=sha256:4e817a8920bfbcff8940ecfd60f23d01836408242b30f1a708d93198393a80b4 \
+ --hash=sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263 \
+ --hash=sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595 \
+ --hash=sha256:582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1 \
+ --hash=sha256:5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678 \
+ --hash=sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48 \
+ --hash=sha256:61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76 \
+ --hash=sha256:68f68d13f2e1cb95163fa3b4db4bf9a159a418f5f6e7242564fc75fcae667fd0 \
+ --hash=sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18 \
+ --hash=sha256:7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d \
+ --hash=sha256:803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d \
+ --hash=sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1 \
+ --hash=sha256:8293f3dea7fc929ef7240796ba231413afa7b68ce38fd21da2995549f5961981 \
+ --hash=sha256:8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7 \
+ --hash=sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82 \
+ --hash=sha256:94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2 \
+ --hash=sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4 \
+ --hash=sha256:a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663 \
+ --hash=sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c \
+ --hash=sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d \
+ --hash=sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a \
+ --hash=sha256:bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a \
+ --hash=sha256:bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d \
+ --hash=sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b \
+ --hash=sha256:c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a \
+ --hash=sha256:c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826 \
+ --hash=sha256:c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee \
+ --hash=sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9 \
+ --hash=sha256:d66e421495fdb797610a08f43b05269e0a5ea7f5e652a89bfd5a7d3c1dee3648 \
+ --hash=sha256:d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da \
+ --hash=sha256:e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2 \
+ --hash=sha256:f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2 \
+ --hash=sha256:fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # pdfminer-six
+distlib==0.4.0 \
+ --hash=sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16 \
+ --hash=sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d
+ # via virtualenv
+django==5.2.12 \
+ --hash=sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7 \
+ --hash=sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # django-silk
+ # django-slowtests
+ # django-stubs
+ # django-stubs-ext
+django-querycount==0.8.3 \
+ --hash=sha256:0782484e8a1bd29498fa0195a67106e47cdcc98fafe80cebb1991964077cb694
+ # via -r src/backend/requirements-dev.in
+django-silk==5.4.3 \
+ --hash=sha256:bedb17c8fd9c029a7746cb947864f5c9ea943ae33d6a9581e60f67c45e4490ad \
+ --hash=sha256:f7920ae91a34716654296140b2cbf449e9798237a0c6eb7cf2cd79c2cfb39321
+ # via -r src/backend/requirements-dev.in
+django-slowtests==1.1.1 \
+ --hash=sha256:3c6936d420c9df444ac03625b41d97de043c662bbde61fbcd33e4cd407d0c247
+ # via -r src/backend/requirements-dev.in
+django-stubs==5.2.9 \
+ --hash=sha256:2317a7130afdaa76f6ff7f623650d7f3bf1b6c86a60f95840e14e6ec6de1a7cd \
+ --hash=sha256:c192257120b08785cfe6f2f1c91f1797aceae8e9daa689c336e52c91e8f6a493
+ # via -r src/backend/requirements-dev.in
+django-stubs-ext==5.2.9 \
+ --hash=sha256:230c51575551b0165be40177f0f6805f1e3ebf799b835c85f5d64c371ca6cf71 \
+ --hash=sha256:6db4054d1580657b979b7d391474719f1a978773e66c7070a5e246cd445a25a9
+ # via django-stubs
+django-test-migrations==1.5.0 \
+ --hash=sha256:1cbff04b1e82c5564a6f635284907b381cc11a2ff883adff46776d9126824f07 \
+ --hash=sha256:96a08f085fc8bfaa53d44618341d82a2d22fd194c821cd81b147b66f0bec0da8
+ # via -r src/backend/requirements-dev.in
+django-types==0.23.0 \
+ --hash=sha256:0727b13ae810c4b1f14eeac9872834ac928c99dc76584ea7c23afc4461e049dd \
+ --hash=sha256:f97fb746166fb15a5f40e470a1fd7a58226349aac9e0a9cb8ae81deb14d94fd0
+ # via -r src/backend/requirements-dev.in
+filelock==3.25.0 \
+ --hash=sha256:5ccf8069f7948f494968fc0713c10e5c182a9c9d9eef3a636307a20c2490f047 \
+ --hash=sha256:8f00faf3abf9dc730a1ffe9c354ae5c04e079ab7d3a683b7c32da5dd05f26af3
+ # via
+ # python-discovery
+ # virtualenv
+gprof2dot==2025.4.14 \
+ --hash=sha256:0742e4c0b4409a5e8777e739388a11e1ed3750be86895655312ea7c20bd0090e \
+ --hash=sha256:35743e2d2ca027bf48fa7cba37021aaf4a27beeae1ae8e05a50b55f1f921a6ce
+ # via django-silk
+identify==2.6.17 \
+ --hash=sha256:be5f8412d5ed4b20f2bd41a65f920990bdccaa6a4a18a08f1eefdcd0bdd885f0 \
+ --hash=sha256:f816b0b596b204c9fdf076ded172322f2723cf958d02f9c3587504834c8ff04d
+ # via pre-commit
+idna==3.11 \
+ --hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
+ --hash=sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # requests
+iniconfig==2.3.0 \
+ --hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \
+ --hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
+ # via pytest
+isort==8.0.1 \
+ --hash=sha256:171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d \
+ --hash=sha256:28b89bc70f751b559aeca209e6120393d43fbe2490de0559662be7a9787e3d75
+ # via -r src/backend/requirements-dev.in
+markdown-it-py==4.0.0 \
+ --hash=sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147 \
+ --hash=sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3
+ # via rich
+mdurl==0.1.2 \
+ --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
+ --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
+ # via markdown-it-py
+nodeenv==1.10.0 \
+ --hash=sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827 \
+ --hash=sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb
+ # via pre-commit
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # build
+ # pytest
+ # wheel
+pdfminer-six==20260107 \
+ --hash=sha256:366585ba97e80dffa8f00cebe303d2f381884d8637af4ce422f1df3ef38111a9 \
+ --hash=sha256:96bfd431e3577a55a0efd25676968ca4ce8fd5b53f14565f85716ff363889602
+ # via -r src/backend/requirements-dev.in
+pip==26.0.1 \
+ --hash=sha256:bdb1b08f4274833d62c1aa29e20907365a2ceb950410df15fc9521bad440122b \
+ --hash=sha256:c4037d8a277c89b320abe636d59f91e6d0922d08a05b60e85e53b296613346d8
+ # via pip-tools
+pip-tools==7.5.3 \
+ --hash=sha256:3aac0c473240ae90db7213c033401f345b05197293ccbdd2704e52e7a783785e \
+ --hash=sha256:8fa364779ebc010cbfe17cb9de404457ac733e100840423f28f6955de7742d41
+ # via -r src/backend/requirements-dev.in
+platformdirs==4.9.4 \
+ --hash=sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934 \
+ --hash=sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # python-discovery
+ # virtualenv
+pluggy==1.6.0 \
+ --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \
+ --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746
+ # via pytest
+pre-commit==4.5.1 \
+ --hash=sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77 \
+ --hash=sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61
+ # via -r src/backend/requirements-dev.in
+pycparser==3.0 \
+ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
+ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # cffi
+pygments==2.19.2 \
+ --hash=sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887 \
+ --hash=sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b
+ # via
+ # pytest
+ # rich
+pyproject-hooks==1.2.0 \
+ --hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
+ --hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
+ # via
+ # build
+ # pip-tools
+pytest==9.0.2 \
+ --hash=sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b \
+ --hash=sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11
+ # via
+ # pytest-codspeed
+ # pytest-django
+pytest-codspeed==4.3.0 \
+ --hash=sha256:05baff2a61dc9f3e92b92b9c2ab5fb45d9b802438f5373073f5766a91319ed7a \
+ --hash=sha256:10d19b48c9dc35b227a7ac863d4b3c58132256c2ba1aae3220aaddbf6f3f5f9a \
+ --hash=sha256:34f2fd8497456eefbd325673f677ea80d93bb1bc08a578c1fa43a09cec3d1879 \
+ --hash=sha256:5230d9d65f39063a313ed1820df775166227ec5c20a1122968f85653d5efee48 \
+ --hash=sha256:527a3a02eaa3e4d4583adc4ba2327eef79628f3e1c682a4b959439551a72588e \
+ --hash=sha256:619120775e92a3f43fb4ff4c256a251b1554c904d95e2154a382484283f0388a \
+ --hash=sha256:6ac31ae566bf047e91c79b6d12d9a31efedad556ff9258294d6ecebeacb92fa4 \
+ --hash=sha256:878aad5e4bb7b401ad8d82f3af5186030cd2bd0d0446782e10dabb9db8827466 \
+ --hash=sha256:9858c2a6e1f391d5696757e7b6e9484749a7376c46f8b4dd9aebf093479a9667 \
+ --hash=sha256:a2f5bb6d8898bea7db45e3c8b916ee48e36905b929477bb511b79c5a3ccacda4 \
+ --hash=sha256:b2acecc4126658abebc683b38121adec405a46e18a619d49d6154c6e60c5deb2 \
+ --hash=sha256:bec30f4fc9c4973143cd80f0d33fa780e9fa3e01e4dbe8cedf229e72f1212c62 \
+ --hash=sha256:dbeff1eb2f2e36df088658b556fa993e6937bf64ffb07406de4db16fd2b26874 \
+ --hash=sha256:df0d1f6ea594f29b745c634d66d5f5f1caa1c3abd2af82fea49d656038e8fc77 \
+ --hash=sha256:df6a36a2a9da1406bc50428437f657f0bd8c842ae54bee5fb3ad30e01d50c0f5 \
+ --hash=sha256:e6584e641cadf27d894ae90b87c50377232a97cbfd76ee0c7ecd0c056fa3f7f4
+ # via -r src/backend/requirements-dev.in
+pytest-django==4.12.0 \
+ --hash=sha256:3ff300c49f8350ba2953b90297d23bf5f589db69545f56f1ec5f8cff5da83e85 \
+ --hash=sha256:df94ec819a83c8979c8f6de13d9cdfbe76e8c21d39473cfe2b40c9fc9be3c758
+ # via -r src/backend/requirements-dev.in
+python-discovery==1.1.0 \
+ --hash=sha256:447941ba1aed8cc2ab7ee3cb91be5fc137c5bdbb05b7e6ea62fbdcb66e50b268 \
+ --hash=sha256:a162893b8809727f54594a99ad2179d2ede4bf953e12d4c7abc3cc9cdbd1437b
+ # via virtualenv
+pyyaml==6.0.3 \
+ --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \
+ --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \
+ --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \
+ --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \
+ --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \
+ --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \
+ --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \
+ --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \
+ --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \
+ --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \
+ --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \
+ --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \
+ --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \
+ --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \
+ --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \
+ --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \
+ --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \
+ --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \
+ --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \
+ --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \
+ --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \
+ --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \
+ --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \
+ --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \
+ --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \
+ --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \
+ --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \
+ --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \
+ --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \
+ --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \
+ --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \
+ --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \
+ --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \
+ --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \
+ --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \
+ --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \
+ --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \
+ --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \
+ --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \
+ --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \
+ --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \
+ --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \
+ --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \
+ --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \
+ --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \
+ --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \
+ --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \
+ --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \
+ --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \
+ --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \
+ --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \
+ --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \
+ --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \
+ --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \
+ --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \
+ --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \
+ --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \
+ --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \
+ --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \
+ --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \
+ --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \
+ --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \
+ --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \
+ --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \
+ --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \
+ --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \
+ --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \
+ --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \
+ --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \
+ --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \
+ --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \
+ --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \
+ --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # pre-commit
+requests==2.32.5 \
+ --hash=sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 \
+ --hash=sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # requests-mock
+requests-mock==1.12.1 \
+ --hash=sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 \
+ --hash=sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401
+ # via -r src/backend/requirements-dev.in
+rich==14.3.3 \
+ --hash=sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d \
+ --hash=sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b
+ # via pytest-codspeed
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # -r src/backend/requirements-dev.in
+ # pip-tools
+sqlparse==0.5.5 \
+ --hash=sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba \
+ --hash=sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # django
+ # django-silk
+ty==0.0.1a21 \
+ --hash=sha256:0efba2e52b58f536f4198ba5c4a36cac2ba67d83ec6f429ebc7704233bcda4c3 \
+ --hash=sha256:1474d883129bb63da3b2380fc7ead824cd3baf6a9551e6aa476ffefc58057af3 \
+ --hash=sha256:1f276ceab23a1410aec09508248c76ae0989c67fb7a0c287e0d4564994295531 \
+ --hash=sha256:218d53e7919e885bd98e9196d9cb952d82178b299aa36da6f7f39333eb7400ed \
+ --hash=sha256:21f708d02b6588323ffdbfdba38830dd0ecfd626db50aa6006b296b5470e52f9 \
+ --hash=sha256:334d2a212ebf42a0e55d57561926af7679fe1e878175e11dcb81ad8df892844e \
+ --hash=sha256:3c3bc66fcae41eff133cfe326dd65d82567a2fb5d4efe2128773b10ec2766819 \
+ --hash=sha256:5dfc73299d441cc6454e36ed0a976877415024143dfca6592dc36f7701424383 \
+ --hash=sha256:7505aeb8bf2a62f00f12cfa496f6c965074d75c8126268776565284c8a12d5dd \
+ --hash=sha256:84243455f295ed850bd53f7089819321807d4e6ee3b1cbff6086137ae0259466 \
+ --hash=sha256:87a200c21e02962e8a27374d9d152582331d57d709672431be58f4f898bf6cad \
+ --hash=sha256:9463cac96b8f1bb5ba740fe1d42cd6bd152b43c5b159b2f07f8fd629bcdded34 \
+ --hash=sha256:a8c769987d00fbc33054ff7e342633f475ea10dc43bc60fb9fb056159d48cb90 \
+ --hash=sha256:ba13d03b9e095216ceb4e4d554a308517f28ab0a6e4dcd07cfe94563e4c2c489 \
+ --hash=sha256:be8f457d7841b7ead2a3f6b65ba668abc172a1150a0f1f6c0958af3725dbb61a \
+ --hash=sha256:cc0880ec344fbdf736b05d8d0da01f0caaaa02409bd9a24b68d18d0127a79b0e \
+ --hash=sha256:e941e9a9d1e54b03eeaf9c3197c26a19cf76009fd5e41e16e5657c1c827bd6d3 \
+ --hash=sha256:ecf41706b803827b0de8717f32a434dad1e67be9f4b8caf403e12013179ea06a
+ # via -r src/backend/requirements-dev.in
+types-psycopg2==2.9.21.20260223 \
+ --hash=sha256:78ed70de2e56bc6b5c26c8c1da8e9af54e49fdc3c94d1504609f3519e2b84f02 \
+ --hash=sha256:c6228ade72d813b0624f4c03feeb89471950ac27cd0506b5debed6f053086bc8
+ # via django-types
+types-pyyaml==6.0.12.20250915 \
+ --hash=sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3 \
+ --hash=sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6
+ # via django-stubs
+typing-extensions==4.15.0 \
+ --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
+ --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # django-stubs
+ # django-stubs-ext
+ # django-test-migrations
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
+ # via
+ # -c src/backend/requirements-3.14.txt
+ # -c src/backend/requirements.txt
+ # requests
+virtualenv==21.1.0 \
+ --hash=sha256:164f5e14c5587d170cf98e60378eb91ea35bf037be313811905d3a24ea33cc07 \
+ --hash=sha256:1990a0188c8f16b6b9cf65c9183049007375b26aad415514d377ccacf1e4fb44
+ # via pre-commit
+wheel==0.46.3 \
+ --hash=sha256:4b399d56c9d9338230118d705d9737a2a468ccca63d5e813e2a4fc7815d8bc4d \
+ --hash=sha256:e3e79874b07d776c40bd6033f8ddf76a7dad46a7b8aa1b2787a83083519a1803
+ # via pip-tools
diff --git a/src/backend/requirements-dev.in b/src/backend/requirements-dev.in
index a149abf7b0..577e64539f 100644
--- a/src/backend/requirements-dev.in
+++ b/src/backend/requirements-dev.in
@@ -1,5 +1,4 @@
# Dev requirements for InvenTree
--c requirements.txt
coverage[toml] # Unit test coverage
django-querycount # Display number of URL queries for requests
django-silk # API query profiling
diff --git a/src/backend/requirements-dev.txt b/src/backend/requirements-dev.txt
index ba69523baf..b70dca94c1 100644
--- a/src/backend/requirements-dev.txt
+++ b/src/backend/requirements-dev.txt
@@ -1,18 +1,18 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile src/backend/requirements-dev.in -o src/backend/requirements-dev.txt --no-strip-extras --generate-hashes
-asgiref==3.10.0 \
- --hash=sha256:aef8a81283a34d0ab31630c9b7dfe70c812c95eba78171367ca8745e88124734 \
- --hash=sha256:d89f2d8cd8b56dada7d52fa7dc8075baa08fb836560710d38c292a7a3f78c04e
+# uv pip compile src/backend/requirements-dev.in -o src/backend/requirements-dev.txt -c src/backend/requirements.txt
+asgiref==3.11.1 \
+ --hash=sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce \
+ --hash=sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133
# via
# -c src/backend/requirements.txt
# django
-build==1.3.0 \
- --hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \
- --hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4
+build==1.4.0 \
+ --hash=sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596 \
+ --hash=sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936
# via pip-tools
-certifi==2025.10.5 \
- --hash=sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de \
- --hash=sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
# via
# -c src/backend/requirements.txt
# requests
@@ -109,120 +109,120 @@ cfgv==3.5.0 \
--hash=sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0 \
--hash=sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132
# via pre-commit
-charset-normalizer==3.4.4 \
- --hash=sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad \
- --hash=sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93 \
- --hash=sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394 \
- --hash=sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89 \
- --hash=sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc \
- --hash=sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86 \
- --hash=sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63 \
- --hash=sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d \
- --hash=sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f \
- --hash=sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8 \
- --hash=sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0 \
- --hash=sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505 \
- --hash=sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161 \
- --hash=sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af \
- --hash=sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152 \
- --hash=sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318 \
- --hash=sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72 \
- --hash=sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4 \
- --hash=sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e \
- --hash=sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3 \
- --hash=sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576 \
- --hash=sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c \
- --hash=sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1 \
- --hash=sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8 \
- --hash=sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1 \
- --hash=sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2 \
- --hash=sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44 \
- --hash=sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26 \
- --hash=sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88 \
- --hash=sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016 \
- --hash=sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede \
- --hash=sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf \
- --hash=sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a \
- --hash=sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc \
- --hash=sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0 \
- --hash=sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84 \
- --hash=sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db \
- --hash=sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1 \
- --hash=sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7 \
- --hash=sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed \
- --hash=sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8 \
- --hash=sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133 \
- --hash=sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e \
- --hash=sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef \
- --hash=sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14 \
- --hash=sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2 \
- --hash=sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0 \
- --hash=sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d \
- --hash=sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828 \
- --hash=sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f \
- --hash=sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf \
- --hash=sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6 \
- --hash=sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328 \
- --hash=sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090 \
- --hash=sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa \
- --hash=sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 \
- --hash=sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c \
- --hash=sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb \
- --hash=sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc \
- --hash=sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a \
- --hash=sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec \
- --hash=sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc \
- --hash=sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac \
- --hash=sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e \
- --hash=sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313 \
- --hash=sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569 \
- --hash=sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3 \
- --hash=sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d \
- --hash=sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525 \
- --hash=sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894 \
- --hash=sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3 \
- --hash=sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9 \
- --hash=sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a \
- --hash=sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9 \
- --hash=sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14 \
- --hash=sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25 \
- --hash=sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50 \
- --hash=sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf \
- --hash=sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1 \
- --hash=sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3 \
- --hash=sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac \
- --hash=sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e \
- --hash=sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815 \
- --hash=sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c \
- --hash=sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6 \
- --hash=sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6 \
- --hash=sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e \
- --hash=sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4 \
- --hash=sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84 \
- --hash=sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69 \
- --hash=sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15 \
- --hash=sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191 \
- --hash=sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0 \
- --hash=sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897 \
- --hash=sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd \
- --hash=sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2 \
- --hash=sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794 \
- --hash=sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d \
- --hash=sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074 \
- --hash=sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3 \
- --hash=sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224 \
- --hash=sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838 \
- --hash=sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a \
- --hash=sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d \
- --hash=sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d \
- --hash=sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f \
- --hash=sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8 \
- --hash=sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490 \
- --hash=sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966 \
- --hash=sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9 \
- --hash=sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3 \
- --hash=sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e \
- --hash=sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
# via
# -c src/backend/requirements.txt
# pdfminer-six
@@ -231,155 +231,164 @@ click==8.3.1 \
--hash=sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a \
--hash=sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6
# via pip-tools
-coverage[toml]==7.13.0 \
- --hash=sha256:0018f73dfb4301a89292c73be6ba5f58722ff79f51593352759c1790ded1cabe \
- --hash=sha256:00c3d22cf6fb1cf3bf662aaaa4e563be8243a5ed2630339069799835a9cc7f9b \
- --hash=sha256:02d9fb9eccd48f6843c98a37bd6817462f130b86da8660461e8f5e54d4c06070 \
- --hash=sha256:0602f701057c6823e5db1b74530ce85f17c3c5be5c85fc042ac939cbd909426e \
- --hash=sha256:06cac81bf10f74034e055e903f5f946e3e26fc51c09fc9f584e4a1605d977053 \
- --hash=sha256:086cede306d96202e15a4b77ace8472e39d9f4e5f9fd92dd4fecdfb2313b2080 \
- --hash=sha256:0900872f2fdb3ee5646b557918d02279dc3af3dfb39029ac4e945458b13f73bc \
- --hash=sha256:0a3a30f0e257df382f5f9534d4ce3d4cf06eafaf5192beb1a7bd066cb10e78fb \
- --hash=sha256:0b3d67d31383c4c68e19a88e28fc4c2e29517580f1b0ebec4a069d502ce1e0bf \
- --hash=sha256:0dfa3855031070058add1a59fdfda0192fd3e8f97e7c81de0596c145dea51820 \
- --hash=sha256:0f4872f5d6c54419c94c25dd6ae1d015deeb337d06e448cd890a1e89a8ee7f3b \
- --hash=sha256:11c21557d0e0a5a38632cbbaca5f008723b26a89d70db6315523df6df77d6232 \
- --hash=sha256:166ad2a22ee770f5656e1257703139d3533b4a0b6909af67c6b4a3adc1c98657 \
- --hash=sha256:193c3887285eec1dbdb3f2bd7fbc351d570ca9c02ca756c3afbc71b3c98af6ef \
- --hash=sha256:1d84e91521c5e4cb6602fe11ece3e1de03b2760e14ae4fcf1a4b56fa3c801fcd \
- --hash=sha256:1ed5630d946859de835a85e9a43b721123a8a44ec26e2830b296d478c7fd4259 \
- --hash=sha256:22486cdafba4f9e471c816a2a5745337742a617fef68e890d8baf9f3036d7833 \
- --hash=sha256:22ccfe8d9bb0d6134892cbe1262493a8c70d736b9df930f3f3afae0fe3ac924d \
- --hash=sha256:24e4e56304fdb56f96f80eabf840eab043b3afea9348b88be680ec5986780a0f \
- --hash=sha256:25dc33618d45456ccb1d37bce44bc78cf269909aa14c4db2e03d63146a8a1493 \
- --hash=sha256:263c3dbccc78e2e331e59e90115941b5f53e85cfcc6b3b2fbff1fd4e3d2c6ea8 \
- --hash=sha256:28ee1c96109974af104028a8ef57cec21447d42d0e937c0275329272e370ebcf \
- --hash=sha256:30a3a201a127ea57f7e14ba43c93c9c4be8b7d17a26e03bb49e6966d019eede9 \
- --hash=sha256:3188936845cd0cb114fa6a51842a304cdbac2958145d03be2377ec41eb285d19 \
- --hash=sha256:367449cf07d33dc216c083f2036bb7d976c6e4903ab31be400ad74ad9f85ce98 \
- --hash=sha256:37eee4e552a65866f15dedd917d5e5f3d59805994260720821e2c1b51ac3248f \
- --hash=sha256:3a10260e6a152e5f03f26db4a407c4c62d3830b9af9b7c0450b183615f05d43b \
- --hash=sha256:3a7b1cd820e1b6116f92c6128f1188e7afe421c7e1b35fa9836b11444e53ebd9 \
- --hash=sha256:3ab483ea0e251b5790c2aac03acde31bff0c736bf8a86829b89382b407cd1c3b \
- --hash=sha256:3ad968d1e3aa6ce5be295ab5fe3ae1bf5bb4769d0f98a80a0252d543a2ef2e9e \
- --hash=sha256:445badb539005283825959ac9fa4a28f712c214b65af3a2c464f1adc90f5fcbc \
- --hash=sha256:453b7ec753cf5e4356e14fe858064e5520c460d3bbbcb9c35e55c0d21155c256 \
- --hash=sha256:494f5459ffa1bd45e18558cd98710c36c0b8fbfa82a5eabcbe671d80ecffbfe8 \
- --hash=sha256:4b5de7d4583e60d5fd246dd57fcd3a8aa23c6e118a8c72b38adf666ba8e7e927 \
- --hash=sha256:4f3e223b2b2db5e0db0c2b97286aba0036ca000f06aca9b12112eaa9af3d92ae \
- --hash=sha256:4fdb6f54f38e334db97f72fa0c701e66d8479af0bc3f9bfb5b90f1c30f54500f \
- --hash=sha256:51a202e0f80f241ccb68e3e26e19ab5b3bf0f813314f2c967642f13ebcf1ddfe \
- --hash=sha256:581f086833d24a22c89ae0fe2142cfaa1c92c930adf637ddf122d55083fb5a0f \
- --hash=sha256:583221913fbc8f53b88c42e8dbb8fca1d0f2e597cb190ce45916662b8b9d9621 \
- --hash=sha256:58632b187be6f0be500f553be41e277712baa278147ecb7559983c6d9faf7ae1 \
- --hash=sha256:5c67dace46f361125e6b9cace8fe0b729ed8479f47e70c89b838d319375c8137 \
- --hash=sha256:5e70f92ef89bac1ac8a99b3324923b4749f008fdbd7aa9cb35e01d7a284a04f9 \
- --hash=sha256:5f5d9bd30756fff3e7216491a0d6d520c448d5124d3d8e8f56446d6412499e74 \
- --hash=sha256:5f8a0297355e652001015e93be345ee54393e45dc3050af4a0475c5a2b767d46 \
- --hash=sha256:62d7c4f13102148c78d7353c6052af6d899a7f6df66a32bddcc0c0eb7c5326f8 \
- --hash=sha256:69ac2c492918c2461bc6ace42d0479638e60719f2a4ef3f0815fa2df88e9f940 \
- --hash=sha256:6abb3a4c52f05e08460bd9acf04fec027f8718ecaa0d09c40ffbc3fbd70ecc39 \
- --hash=sha256:6e63ccc6e0ad8986386461c3c4b737540f20426e7ec932f42e030320896c311a \
- --hash=sha256:6e9e451dee940a86789134b6b0ffbe31c454ade3b849bb8a9d2cca2541a8e91d \
- --hash=sha256:6fb2d5d272341565f08e962cce14cdf843a08ac43bd621783527adb06b089c4b \
- --hash=sha256:71936a8b3b977ddd0b694c28c6a34f4fff2e9dd201969a4ff5d5fc7742d614b0 \
- --hash=sha256:73419b89f812f498aca53f757dd834919b48ce4799f9d5cad33ca0ae442bdb1a \
- --hash=sha256:739c6c051a7540608d097b8e13c76cfa85263ced467168dc6b477bae3df7d0e2 \
- --hash=sha256:7464663eaca6adba4175f6c19354feea61ebbdd735563a03d1e472c7072d27bb \
- --hash=sha256:74c136e4093627cf04b26a35dab8cbfc9b37c647f0502fc313376e11726ba303 \
- --hash=sha256:76541dc8d53715fb4f7a3a06b34b0dc6846e3c69bc6204c55653a85dd6220971 \
- --hash=sha256:7a485ff48fbd231efa32d58f479befce52dcb6bfb2a88bb7bf9a0b89b1bc8030 \
- --hash=sha256:7e442c013447d1d8d195be62852270b78b6e255b79b8675bad8479641e21fd96 \
- --hash=sha256:7f15a931a668e58087bc39d05d2b4bf4b14ff2875b49c994bbdb1c2217a8daeb \
- --hash=sha256:7f88ae3e69df2ab62fb0bc5219a597cb890ba5c438190ffa87490b315190bb33 \
- --hash=sha256:8069e831f205d2ff1f3d355e82f511eb7c5522d7d413f5db5756b772ec8697f8 \
- --hash=sha256:850d2998f380b1e266459ca5b47bc9e7daf9af1d070f66317972f382d46f1904 \
- --hash=sha256:898cce66d0836973f48dda4e3514d863d70142bdf6dfab932b9b6a90ea5b222d \
- --hash=sha256:9097818b6cc1cfb5f174e3263eba4a62a17683bcfe5c4b5d07f4c97fa51fbf28 \
- --hash=sha256:936bc20503ce24770c71938d1369461f0c5320830800933bc3956e2a4ded930e \
- --hash=sha256:9372dff5ea15930fea0445eaf37bbbafbc771a49e70c0aeed8b4e2c2614cc00e \
- --hash=sha256:9987a9e4f8197a1000280f7cc089e3ea2c8b3c0a64d750537809879a7b4ceaf9 \
- --hash=sha256:99acd4dfdfeb58e1937629eb1ab6ab0899b131f183ee5f23e0b5da5cba2fec74 \
- --hash=sha256:9b01c22bc74a7fb44066aaf765224c0d933ddf1f5047d6cdfe4795504a4493f8 \
- --hash=sha256:a00d3a393207ae12f7c49bb1c113190883b500f48979abb118d8b72b8c95c032 \
- --hash=sha256:a23e5a1f8b982d56fa64f8e442e037f6ce29322f1f9e6c2344cd9e9f4407ee57 \
- --hash=sha256:a2bdb3babb74079f021696cb46b8bb5f5661165c385d3a238712b031a12355be \
- --hash=sha256:a394aa27f2d7ff9bc04cf703817773a59ad6dfbd577032e690f961d2460ee936 \
- --hash=sha256:a6c6e16b663be828a8f0b6c5027d36471d4a9f90d28444aa4ced4d48d7d6ae8f \
- --hash=sha256:af0a583efaacc52ae2521f8d7910aff65cdb093091d76291ac5820d5e947fc1c \
- --hash=sha256:af827b7cbb303e1befa6c4f94fd2bf72f108089cfa0f8abab8f4ca553cf5ca5a \
- --hash=sha256:c4be718e51e86f553bcf515305a158a1cd180d23b72f07ae76d6017c3cc5d791 \
- --hash=sha256:cdb3c9f8fef0a954c632f64328a3935988d33a6604ce4bf67ec3e39670f12ae5 \
- --hash=sha256:d10fd186aac2316f9bbb46ef91977f9d394ded67050ad6d84d94ed6ea2e8e54e \
- --hash=sha256:d1e97353dcc5587b85986cda4ff3ec98081d7e84dd95e8b2a6d59820f0545f8a \
- --hash=sha256:d2a9d7f1c11487b1c69367ab3ac2d81b9b3721f097aa409a3191c3e90f8f3dd7 \
- --hash=sha256:de7f6748b890708578fc4b7bb967d810aeb6fcc9bff4bb77dbca77dab2f9df6a \
- --hash=sha256:e5330fa0cc1f5c3c4c3bb8e101b742025933e7848989370a1d4c8c5e401ea753 \
- --hash=sha256:e999e2dcc094002d6e2c7bbc1fb85b58ba4f465a760a8014d97619330cdbbbf3 \
- --hash=sha256:eb76670874fdd6091eedcc856128ee48c41a9bbbb9c3f1c7c3cf169290e3ffd6 \
- --hash=sha256:f1c23e24a7000da892a312fb17e33c5f94f8b001de44b7cf8ba2e36fbd15859e \
- --hash=sha256:f2ffc92b46ed6e6760f1d47a71e56b5664781bc68986dbd1836b2b70c0ce2071 \
- --hash=sha256:f4f72a85316d8e13234cafe0a9f81b40418ad7a082792fa4165bd7d45d96066b \
- --hash=sha256:f59883c643cb19630500f57016f76cfdcd6845ca8c5b5ea1f6e17f74c8e5f511 \
- --hash=sha256:f6aaef16d65d1787280943f1c8718dc32e9cf141014e4634d64446702d26e0ff \
- --hash=sha256:fe81055d8c6c9de76d60c94ddea73c290b416e061d40d542b24a5871bad498b7 \
- --hash=sha256:ff45e0cd8451e293b63ced93161e189780baf444119391b3e7d25315060368a6
+coverage[toml]==7.13.4 \
+ --hash=sha256:01d4cbc3c283a17fc1e42d614a119f7f438eabb593391283adca8dc86eff1246 \
+ --hash=sha256:02231499b08dabbe2b96612993e5fc34217cdae907a51b906ac7fca8027a4459 \
+ --hash=sha256:0dd7ab8278f0d58a0128ba2fca25824321f05d059c1441800e934ff2efa52129 \
+ --hash=sha256:0e086334e8537ddd17e5f16a344777c1ab8194986ec533711cbe6c41cde841b6 \
+ --hash=sha256:0fc31c787a84f8cd6027eba44010517020e0d18487064cd3d8968941856d1415 \
+ --hash=sha256:14375934243ee05f56c45393fe2ce81fe5cc503c07cee2bdf1725fb8bef3ffaf \
+ --hash=sha256:1731dc33dc276dafc410a885cbf5992f1ff171393e48a21453b78727d090de80 \
+ --hash=sha256:19bc3c88078789f8ef36acb014d7241961dbf883fd2533d18cb1e7a5b4e28b11 \
+ --hash=sha256:1af1641e57cf7ba1bd67d677c9abdbcd6cc2ab7da3bca7fa1e2b7e50e65f2ad0 \
+ --hash=sha256:1d4be36a5114c499f9f1f9195e95ebf979460dbe2d88e6816ea202010ba1c34b \
+ --hash=sha256:200dea7d1e8095cc6e98cdabe3fd1d21ab17d3cee6dab00cadbb2fe35d9c15b9 \
+ --hash=sha256:23e3f687cf945070d1c90f85db66d11e3025665d8dafa831301a0e0038f3db9b \
+ --hash=sha256:2421d591f8ca05b308cf0092807308b2facbefe54af7c02ac22548b88b95c98f \
+ --hash=sha256:245e37f664d89861cf2329c9afa2c1fe9e6d4e1a09d872c947e70718aeeac505 \
+ --hash=sha256:25381386e80ae727608e662474db537d4df1ecd42379b5ba33c84633a2b36d47 \
+ --hash=sha256:25a41c3104d08edb094d9db0d905ca54d0cd41c928bb6be3c4c799a54753af55 \
+ --hash=sha256:296f8b0af861d3970c2a4d8c91d48eb4dd4771bcef9baedec6a9b515d7de3def \
+ --hash=sha256:29e3220258d682b6226a9b0925bc563ed9a1ebcff3cad30f043eceea7eaf2689 \
+ --hash=sha256:2a09cfa6a5862bc2fc6ca7c3def5b2926194a56b8ab78ffcf617d28911123012 \
+ --hash=sha256:2b0f6ccf3dbe577170bebfce1318707d0e8c3650003cb4b3a9dd744575daa8b5 \
+ --hash=sha256:2c048ea43875fbf8b45d476ad79f179809c590ec7b79e2035c662e7afa3192e3 \
+ --hash=sha256:2cb0f1e000ebc419632bbe04366a8990b6e32c4e0b51543a6484ffe15eaeda95 \
+ --hash=sha256:2fa8d5f8de70688a28240de9e139fa16b153cc3cbb01c5f16d88d6505ebdadf9 \
+ --hash=sha256:300deaee342f90696ed186e3a00c71b5b3d27bffe9e827677954f4ee56969601 \
+ --hash=sha256:30b8d0512f2dc8c8747557e8fb459d6176a2c9e5731e2b74d311c03b78451997 \
+ --hash=sha256:33901f604424145c6e9c2398684b92e176c0b12df77d52db81c20abd48c3794c \
+ --hash=sha256:3599eb3992d814d23b35c536c28df1a882caa950f8f507cef23d1cbf334995ac \
+ --hash=sha256:391ee8f19bef69210978363ca930f7328081c6a0152f1166c91f0b5fdd2a773c \
+ --hash=sha256:3998e5a32e62fdf410c0dbd3115df86297995d6e3429af80b8798aad894ca7aa \
+ --hash=sha256:3c06f0f1337c667b971ca2f975523347e63ec5e500b9aa5882d91931cd3ef750 \
+ --hash=sha256:40aa8808140e55dc022b15d8aa7f651b6b3d68b365ea0398f1441e0b04d859c3 \
+ --hash=sha256:40d74da8e6c4b9ac18b15331c4b5ebc35a17069410cad462ad4f40dcd2d50c0d \
+ --hash=sha256:4223b4230a376138939a9173f1bdd6521994f2aff8047fae100d6d94d50c5a12 \
+ --hash=sha256:48685fee12c2eb3b27c62f2658e7ea21e9c3239cba5a8a242801a0a3f6a8c62a \
+ --hash=sha256:4c7d3cc01e7350f2f0f6f7036caaf5673fb56b6998889ccfe9e1c1fe75a9c932 \
+ --hash=sha256:4e83efc079eb39480e6346a15a1bcb3e9b04759c5202d157e1dd4303cd619356 \
+ --hash=sha256:4fc7fa81bbaf5a02801b65346c8b3e657f1d93763e58c0abdf7c992addd81a92 \
+ --hash=sha256:53d133df809c743eb8bce33b24bcababb371f4441340578cd406e084d94a6148 \
+ --hash=sha256:590c0ed4bf8e85f745e6b805b2e1c457b2e33d5255dd9729743165253bc9ad39 \
+ --hash=sha256:5b856a8ccf749480024ff3bd7310adaef57bf31fd17e1bfc404b7940b6986634 \
+ --hash=sha256:65dfcbe305c3dfe658492df2d85259e0d79ead4177f9ae724b6fb245198f55d6 \
+ --hash=sha256:6f01afcff62bf9a08fb32b2c1d6e924236c0383c02c790732b6537269e466a72 \
+ --hash=sha256:6fdef321fdfbb30a197efa02d48fcd9981f0d8ad2ae8903ac318adc653f5df98 \
+ --hash=sha256:71ca20079dd8f27fcf808817e281e90220475cd75115162218d0e27549f95fef \
+ --hash=sha256:725d985c5ab621268b2edb8e50dfe57633dc69bda071abc470fed55a14935fd3 \
+ --hash=sha256:75eab1ebe4f2f64d9509b984f9314d4aa788540368218b858dad56dc8f3e5eb9 \
+ --hash=sha256:75fcd519f2a5765db3f0e391eb3b7d150cce1a771bf4c9f861aeab86c767a3c0 \
+ --hash=sha256:76451d1978b95ba6507a039090ba076105c87cc76fc3efd5d35d72093964d49a \
+ --hash=sha256:784fc3cf8be001197b652d51d3fd259b1e2262888693a4636e18879f613a62a9 \
+ --hash=sha256:78cdf0d578b15148b009ccf18c686aa4f719d887e76e6b40c38ffb61d264a552 \
+ --hash=sha256:79be69cf7f3bf9b0deeeb062eab7ac7f36cd4cc4c4dd694bd28921ba4d8596cc \
+ --hash=sha256:79e73a76b854d9c6088fe5d8b2ebe745f8681c55f7397c3c0a016192d681045f \
+ --hash=sha256:7b322db1284a2ed3aa28ffd8ebe3db91c929b7a333c0820abec3d838ef5b3525 \
+ --hash=sha256:7d41eead3cc673cbd38a4417deb7fd0b4ca26954ff7dc6078e33f6ff97bed940 \
+ --hash=sha256:7eda778067ad7ffccd23ecffce537dface96212576a07924cbf0d8799d2ded5a \
+ --hash=sha256:7f57b33491e281e962021de110b451ab8a24182589be17e12a22c79047935e23 \
+ --hash=sha256:8041b6c5bfdc03257666e9881d33b1abc88daccaf73f7b6340fb7946655cd10f \
+ --hash=sha256:8248977c2e33aecb2ced42fef99f2d319e9904a36e55a8a68b69207fb7e43edc \
+ --hash=sha256:845f352911777a8e722bfce168958214951e07e47e5d5d9744109fa5fe77f79b \
+ --hash=sha256:85480adfb35ffc32d40918aad81b89c69c9cc5661a9b8a81476d3e645321a056 \
+ --hash=sha256:8e264226ec98e01a8e1054314af91ee6cde0eacac4f465cc93b03dbe0bce2fd7 \
+ --hash=sha256:8e798c266c378da2bd819b0677df41ab46d78065fb2a399558f3f6cae78b2fbb \
+ --hash=sha256:9181a3ccead280b828fae232df12b16652702b49d41e99d657f46cc7b1f6ec7a \
+ --hash=sha256:9351229c8c8407645840edcc277f4a2d44814d1bc34a2128c11c2a031d45a5dd \
+ --hash=sha256:93550784d9281e374fb5a12bf1324cc8a963fd63b2d2f223503ef0fd4aa339ea \
+ --hash=sha256:9401ebc7ef522f01d01d45532c68c5ac40fb27113019b6b7d8b208f6e9baa126 \
+ --hash=sha256:94eb63f9b363180aff17de3e7c8760c3ba94664ea2695c52f10111244d16a299 \
+ --hash=sha256:9d107aff57a83222ddbd8d9ee705ede2af2cc926608b57abed8ef96b50b7e8f9 \
+ --hash=sha256:a32ebc02a1805adf637fc8dec324b5cdacd2e493515424f70ee33799573d661b \
+ --hash=sha256:a3aa4e7b9e416774b21797365b358a6e827ffadaaca81b69ee02946852449f00 \
+ --hash=sha256:a6f94a7d00eb18f1b6d403c91a88fd58cfc92d4b16080dfdb774afc8294469bf \
+ --hash=sha256:aa3feb8db2e87ff5e6d00d7e1480ae241876286691265657b500886c98f38bda \
+ --hash=sha256:ad27098a189e5838900ce4c2a99f2fe42a0bf0c2093c17c69b45a71579e8d4a2 \
+ --hash=sha256:ae4578f8528569d3cf303fef2ea569c7f4c4059a38c8667ccef15c6e1f118aa5 \
+ --hash=sha256:b1ec7b6b6e93255f952e27ab58fbc68dcc468844b16ecbee881aeb29b6ab4d8d \
+ --hash=sha256:b507778ae8a4c915436ed5c2e05b4a6cecfa70f734e19c22a005152a11c7b6a9 \
+ --hash=sha256:b66a2da594b6068b48b2692f043f35d4d3693fb639d5ea8b39533c2ad9ac3ab9 \
+ --hash=sha256:b720ce6a88a2755f7c697c23268ddc47a571b88052e6b155224347389fdf6a3b \
+ --hash=sha256:b7b38448866e83176e28086674fe7368ab8590e4610fb662b44e345b86d63ffa \
+ --hash=sha256:b8eb931ee8e6d8243e253e5ed7336deea6904369d2fd8ae6e43f68abbf167092 \
+ --hash=sha256:bb28c0f2cf2782508a40cec377935829d5fcc3ad9a3681375af4e84eb34b6b58 \
+ --hash=sha256:bd60d4fe2f6fa7dff9223ca1bbc9f05d2b6697bc5961072e5d3b952d46e1b1ea \
+ --hash=sha256:c35eb28c1d085eb7d8c9b3296567a1bebe03ce72962e932431b9a61f28facf26 \
+ --hash=sha256:c4240e7eded42d131a2d2c4dec70374b781b043ddc79a9de4d55ca71f8e98aea \
+ --hash=sha256:caa421e2684e382c5d8973ac55e4f36bed6821a9bad5c953494de960c74595c9 \
+ --hash=sha256:d490ba50c3f35dd7c17953c68f3270e7ccd1c6642e2d2afe2d8e720b98f5a053 \
+ --hash=sha256:d65b2d373032411e86960604dc4edac91fdfb5dca539461cf2cbe78327d1e64f \
+ --hash=sha256:dae88bc0fc77edaa65c14be099bd57ee140cf507e6bfdeea7938457ab387efb0 \
+ --hash=sha256:de6defc1c9badbf8b9e67ae90fd00519186d6ab64e5cc5f3d21359c2a9b2c1d3 \
+ --hash=sha256:e101609bcbbfb04605ea1027b10dc3735c094d12d40826a60f897b98b1c30256 \
+ --hash=sha256:e24f9156097ff9dc286f2f913df3a7f63c0e333dcafa3c196f2c18b4175ca09a \
+ --hash=sha256:e2f25215f1a359ab17320b47bcdaca3e6e6356652e8256f2441e4ef972052903 \
+ --hash=sha256:e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91 \
+ --hash=sha256:e6f70dec1cc557e52df5306d051ef56003f74d56e9c4dd7ddb07e07ef32a84dd \
+ --hash=sha256:e856bf6616714c3a9fbc270ab54103f4e685ba236fa98c054e8f87f266c93505 \
+ --hash=sha256:e87f6c587c3f34356c3759f0420693e35e7eb0e2e41e4c011cb6ec6ecbbf1db7 \
+ --hash=sha256:eb30bf180de3f632cd043322dad5751390e5385108b2807368997d1a92a509d0 \
+ --hash=sha256:eb88b316ec33760714a4720feb2816a3a59180fd58c1985012054fa7aebee4c2 \
+ --hash=sha256:eb9078108fbf0bcdde37c3f4779303673c2fa1fe8f7956e68d447d0dd426d38a \
+ --hash=sha256:ecae9737b72408d6a950f7e525f30aca12d4bd8dd95e37342e5beb3a2a8c4f71 \
+ --hash=sha256:ee756f00726693e5ba94d6df2bdfd64d4852d23b09bb0bc700e3b30e6f333985 \
+ --hash=sha256:f4594c67d8a7c89cf922d9df0438c7c7bb022ad506eddb0fdb2863359ff78242 \
+ --hash=sha256:f53d492307962561ac7de4cd1de3e363589b000ab69617c6156a16ba7237998d \
+ --hash=sha256:fb07dc5da7e849e2ad31a5d74e9bece81f30ecf5a42909d0a695f8bd1874d6af \
+ --hash=sha256:fb26a934946a6afe0e326aebe0730cdff393a8bc0bbb65a2f41e30feddca399c \
+ --hash=sha256:fdfc1e28e7c7cdce44985b3043bc13bbd9c747520f94a4d7164af8260b3d91f0
# via -r src/backend/requirements-dev.in
-cryptography==46.0.3 \
- --hash=sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217 \
- --hash=sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d \
- --hash=sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc \
- --hash=sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71 \
- --hash=sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971 \
- --hash=sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a \
- --hash=sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926 \
- --hash=sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc \
- --hash=sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d \
- --hash=sha256:191bb60a7be5e6f54e30ba16fdfae78ad3a342a0599eb4193ba88e3f3d6e185b \
- --hash=sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20 \
- --hash=sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044 \
- --hash=sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3 \
- --hash=sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715 \
- --hash=sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4 \
- --hash=sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506 \
- --hash=sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f \
- --hash=sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0 \
- --hash=sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683 \
- --hash=sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3 \
- --hash=sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21 \
- --hash=sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91 \
- --hash=sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c \
- --hash=sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8 \
- --hash=sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df \
- --hash=sha256:6b5063083824e5509fdba180721d55909ffacccc8adbec85268b48439423d78c \
- --hash=sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb \
- --hash=sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7 \
- --hash=sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04 \
- --hash=sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db \
- --hash=sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459 \
- --hash=sha256:7ce938a99998ed3c8aa7e7272dca1a610401ede816d36d0693907d863b10d9ea \
- --hash=sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914 \
- --hash=sha256:9394673a9f4de09e28b5356e7fff97d778f8abad85c9d5ac4a4b7e25a0de7717 \
- --hash=sha256:94cd0549accc38d1494e1f8de71eca837d0509d0d44bf11d158524b0e12cebf9 \
- --hash=sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac \
- --hash=sha256:a23582810fedb8c0bc47524558fb6c56aac3fc252cb306072fd2815da2a47c32 \
- --hash=sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec \
- --hash=sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1 \
- --hash=sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb \
- --hash=sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac \
- --hash=sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665 \
- --hash=sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e \
- --hash=sha256:c70cc23f12726be8f8bc72e41d5065d77e4515efae3690326764ea1b07845cfb \
- --hash=sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5 \
- --hash=sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936 \
- --hash=sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de \
- --hash=sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372 \
- --hash=sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54 \
- --hash=sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422 \
- --hash=sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849 \
- --hash=sha256:e7aec276d68421f9574040c26e2a7c3771060bc0cff408bae1dcb19d3ab1e63c \
- --hash=sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963 \
- --hash=sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018
+cryptography==46.0.5 \
+ --hash=sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72 \
+ --hash=sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235 \
+ --hash=sha256:1abfdb89b41c3be0365328a410baa9df3ff8a9110fb75e7b52e66803ddabc9a9 \
+ --hash=sha256:2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356 \
+ --hash=sha256:2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257 \
+ --hash=sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad \
+ --hash=sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4 \
+ --hash=sha256:3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c \
+ --hash=sha256:3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614 \
+ --hash=sha256:3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed \
+ --hash=sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31 \
+ --hash=sha256:420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229 \
+ --hash=sha256:47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0 \
+ --hash=sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731 \
+ --hash=sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b \
+ --hash=sha256:4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4 \
+ --hash=sha256:4e817a8920bfbcff8940ecfd60f23d01836408242b30f1a708d93198393a80b4 \
+ --hash=sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263 \
+ --hash=sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595 \
+ --hash=sha256:582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1 \
+ --hash=sha256:5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678 \
+ --hash=sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48 \
+ --hash=sha256:61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76 \
+ --hash=sha256:68f68d13f2e1cb95163fa3b4db4bf9a159a418f5f6e7242564fc75fcae667fd0 \
+ --hash=sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18 \
+ --hash=sha256:7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d \
+ --hash=sha256:803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d \
+ --hash=sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1 \
+ --hash=sha256:8293f3dea7fc929ef7240796ba231413afa7b68ce38fd21da2995549f5961981 \
+ --hash=sha256:8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7 \
+ --hash=sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82 \
+ --hash=sha256:94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2 \
+ --hash=sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4 \
+ --hash=sha256:a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663 \
+ --hash=sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c \
+ --hash=sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d \
+ --hash=sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a \
+ --hash=sha256:bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a \
+ --hash=sha256:bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d \
+ --hash=sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b \
+ --hash=sha256:c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a \
+ --hash=sha256:c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826 \
+ --hash=sha256:c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee \
+ --hash=sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9 \
+ --hash=sha256:d66e421495fdb797610a08f43b05269e0a5ea7f5e652a89bfd5a7d3c1dee3648 \
+ --hash=sha256:d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da \
+ --hash=sha256:e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2 \
+ --hash=sha256:f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2 \
+ --hash=sha256:fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87
# via
# -c src/backend/requirements.txt
# pdfminer-six
@@ -387,9 +396,9 @@ distlib==0.4.0 \
--hash=sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16 \
--hash=sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d
# via virtualenv
-django==5.2.9 \
- --hash=sha256:16b5ccfc5e8c27e6c0561af551d2ea32852d7352c67d452ae3e76b4f6b2ca495 \
- --hash=sha256:3a4ea88a70370557ab1930b332fd2887a9f48654261cdffda663fef5976bb00a
+django==5.2.12 \
+ --hash=sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7 \
+ --hash=sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb
# via
# -c src/backend/requirements.txt
# django-silk
@@ -406,33 +415,35 @@ django-silk==5.4.3 \
django-slowtests==1.1.1 \
--hash=sha256:3c6936d420c9df444ac03625b41d97de043c662bbde61fbcd33e4cd407d0c247
# via -r src/backend/requirements-dev.in
-django-stubs==5.2.8 \
- --hash=sha256:9bba597c9a8ed8c025cae4696803d5c8be1cf55bfc7648a084cbf864187e2f8b \
- --hash=sha256:a3c63119fd7062ac63d58869698d07c9e5ec0561295c4e700317c54e8d26716c
+django-stubs==5.2.9 \
+ --hash=sha256:2317a7130afdaa76f6ff7f623650d7f3bf1b6c86a60f95840e14e6ec6de1a7cd \
+ --hash=sha256:c192257120b08785cfe6f2f1c91f1797aceae8e9daa689c336e52c91e8f6a493
# via -r src/backend/requirements-dev.in
-django-stubs-ext==5.2.8 \
- --hash=sha256:1dd5470c9675591362c78a157a3cf8aec45d0e7a7f0cf32f227a1363e54e0652 \
- --hash=sha256:b39938c46d7a547cd84e4a6378dbe51a3dd64d70300459087229e5fee27e5c6b
+django-stubs-ext==5.2.9 \
+ --hash=sha256:230c51575551b0165be40177f0f6805f1e3ebf799b835c85f5d64c371ca6cf71 \
+ --hash=sha256:6db4054d1580657b979b7d391474719f1a978773e66c7070a5e246cd445a25a9
# via django-stubs
django-test-migrations==1.5.0 \
--hash=sha256:1cbff04b1e82c5564a6f635284907b381cc11a2ff883adff46776d9126824f07 \
--hash=sha256:96a08f085fc8bfaa53d44618341d82a2d22fd194c821cd81b147b66f0bec0da8
# via -r src/backend/requirements-dev.in
-django-types==0.22.0 \
- --hash=sha256:4cecc9eee846e7ff2a398bec9dfe6543e76efb922a7a58c5d6064bcb0e6a3dc5 \
- --hash=sha256:ba15c756c7a732e58afd0737e54489f1c5e6f1bd24132e9199c637b1f88b057c
+django-types==0.23.0 \
+ --hash=sha256:0727b13ae810c4b1f14eeac9872834ac928c99dc76584ea7c23afc4461e049dd \
+ --hash=sha256:f97fb746166fb15a5f40e470a1fd7a58226349aac9e0a9cb8ae81deb14d94fd0
# via -r src/backend/requirements-dev.in
-filelock==3.20.1 \
- --hash=sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a \
- --hash=sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c
- # via virtualenv
+filelock==3.25.0 \
+ --hash=sha256:5ccf8069f7948f494968fc0713c10e5c182a9c9d9eef3a636307a20c2490f047 \
+ --hash=sha256:8f00faf3abf9dc730a1ffe9c354ae5c04e079ab7d3a683b7c32da5dd05f26af3
+ # via
+ # python-discovery
+ # virtualenv
gprof2dot==2025.4.14 \
--hash=sha256:0742e4c0b4409a5e8777e739388a11e1ed3750be86895655312ea7c20bd0090e \
--hash=sha256:35743e2d2ca027bf48fa7cba37021aaf4a27beeae1ae8e05a50b55f1f921a6ce
# via django-silk
-identify==2.6.15 \
- --hash=sha256:1181ef7608e00704db228516541eb83a88a9f94433a8c80bb9b5bd54b1d81757 \
- --hash=sha256:e4f4864b96c6557ef2a1e1c951771838f4edc9df3a72ec7118b338801b11c7bf
+identify==2.6.17 \
+ --hash=sha256:be5f8412d5ed4b20f2bd41a65f920990bdccaa6a4a18a08f1eefdcd0bdd885f0 \
+ --hash=sha256:f816b0b596b204c9fdf076ded172322f2723cf958d02f9c3587504834c8ff04d
# via pre-commit
idna==3.11 \
--hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
@@ -444,9 +455,9 @@ iniconfig==2.3.0 \
--hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \
--hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
# via pytest
-isort==7.0.0 \
- --hash=sha256:1bcabac8bc3c36c7fb7b98a76c8abb18e0f841a3ba81decac7691008592499c1 \
- --hash=sha256:5513527951aadb3ac4292a41a16cbc50dd1642432f5e8c20057d414bdafb4187
+isort==8.0.1 \
+ --hash=sha256:171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d \
+ --hash=sha256:28b89bc70f751b559aeca209e6120393d43fbe2490de0559662be7a9787e3d75
# via -r src/backend/requirements-dev.in
markdown-it-py==4.0.0 \
--hash=sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147 \
@@ -456,46 +467,48 @@ mdurl==0.1.2 \
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
# via markdown-it-py
-nodeenv==1.9.1 \
- --hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \
- --hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
+nodeenv==1.10.0 \
+ --hash=sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827 \
+ --hash=sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb
# via pre-commit
-packaging==25.0 \
- --hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
- --hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via
# -c src/backend/requirements.txt
# build
# pytest
-pdfminer-six==20251107 \
- --hash=sha256:5fb0c553799c591777f22c0c72b77fc2522d7d10c70654e25f4c5f1fd996e008 \
- --hash=sha256:c09df33e4cbe6b26b2a79248a4ffcccafaa5c5d39c9fff0e6e81567f165b5401
+ # wheel
+pdfminer-six==20260107 \
+ --hash=sha256:366585ba97e80dffa8f00cebe303d2f381884d8637af4ce422f1df3ef38111a9 \
+ --hash=sha256:96bfd431e3577a55a0efd25676968ca4ce8fd5b53f14565f85716ff363889602
# via -r src/backend/requirements-dev.in
-pip==25.3 \
- --hash=sha256:8d0538dbbd7babbd207f261ed969c65de439f6bc9e5dbd3b3b9a77f25d95f343 \
- --hash=sha256:9655943313a94722b7774661c21049070f6bbb0a1516bf02f7c8d5d9201514cd
+pip==26.0.1 \
+ --hash=sha256:bdb1b08f4274833d62c1aa29e20907365a2ceb950410df15fc9521bad440122b \
+ --hash=sha256:c4037d8a277c89b320abe636d59f91e6d0922d08a05b60e85e53b296613346d8
# via pip-tools
-pip-tools==7.5.2 \
- --hash=sha256:2d64d72da6a044da1110257d333960563d7a4743637e8617dd2610ae7b82d60f \
- --hash=sha256:2fe16db727bbe5bf28765aeb581e792e61be51fc275545ef6725374ad720a1ce
+pip-tools==7.5.3 \
+ --hash=sha256:3aac0c473240ae90db7213c033401f345b05197293ccbdd2704e52e7a783785e \
+ --hash=sha256:8fa364779ebc010cbfe17cb9de404457ac733e100840423f28f6955de7742d41
# via -r src/backend/requirements-dev.in
-platformdirs==4.5.0 \
- --hash=sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312 \
- --hash=sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3
+platformdirs==4.9.4 \
+ --hash=sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934 \
+ --hash=sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
# via
# -c src/backend/requirements.txt
+ # python-discovery
# virtualenv
pluggy==1.6.0 \
--hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \
--hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746
# via pytest
-pre-commit==4.5.0 \
- --hash=sha256:25e2ce09595174d9c97860a95609f9f852c0614ba602de3561e267547f2335e1 \
- --hash=sha256:dc5a065e932b19fc1d4c653c6939068fe54325af8e741e74e88db4d28a4dd66b
+pre-commit==4.5.1 \
+ --hash=sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77 \
+ --hash=sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61
# via -r src/backend/requirements-dev.in
-pycparser==2.23 \
- --hash=sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2 \
- --hash=sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934
+pycparser==3.0 \
+ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
+ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
# via
# -c src/backend/requirements.txt
# cffi
@@ -517,28 +530,32 @@ pytest==9.0.2 \
# via
# pytest-codspeed
# pytest-django
-pytest-codspeed==4.2.0 \
- --hash=sha256:04b5d0bc5a1851ba1504d46bf9d7dbb355222a69f2cd440d54295db721b331f7 \
- --hash=sha256:0881a736285f33b9a8894da8fe8e1775aa1a4310226abe5d1f0329228efb680c \
- --hash=sha256:238e17abe8f08d8747fa6c7acff34fefd3c40f17a56a7847ca13dc8d6e8c6009 \
- --hash=sha256:23a0c0fbf8bb4de93a3454fd9e5efcdca164c778aaef0a9da4f233d85cb7f5b8 \
- --hash=sha256:2de87bde9fbc6fd53f0fd21dcf2599c89e0b8948d49f9bad224edce51c47e26b \
- --hash=sha256:309b4227f57fcbb9df21e889ea1ae191d0d1cd8b903b698fdb9ea0461dbf1dfe \
- --hash=sha256:50794dabea6ec90d4288904452051e2febace93e7edf4ca9f2bce8019dd8cd37 \
- --hash=sha256:609828b03972966b75b9b7416fa2570c4a0f6124f67e02d35cd3658e64312a7b \
- --hash=sha256:684fcd9491d810ded653a8d38de4835daa2d001645f4a23942862950664273f8 \
- --hash=sha256:72aab8278452a6d020798b9e4f82780966adb00f80d27a25d1274272c54630d5 \
- --hash=sha256:748411c832147bfc85f805af78a1ab1684f52d08e14aabe22932bbe46c079a5f \
- --hash=sha256:7d4fefbd4ae401e2c60f6be920a0be50eef0c3e4a1f0a1c83962efd45be38b39 \
- --hash=sha256:95aeb2479ca383f6b18e2cc9ebcd3b03ab184980a59a232aea6f370bbf59a1e3 \
- --hash=sha256:a0ebd87f2a99467a1cfd8e83492c4712976e43d353ee0b5f71cbb057f1393aca \
- --hash=sha256:dbbb2d61b85bef8fc7e2193f723f9ac2db388a48259d981bbce96319043e9830 \
- --hash=sha256:e81bbb45c130874ef99aca97929d72682733527a49f84239ba575b5cb843bab0
+pytest-codspeed==4.3.0 \
+ --hash=sha256:05baff2a61dc9f3e92b92b9c2ab5fb45d9b802438f5373073f5766a91319ed7a \
+ --hash=sha256:10d19b48c9dc35b227a7ac863d4b3c58132256c2ba1aae3220aaddbf6f3f5f9a \
+ --hash=sha256:34f2fd8497456eefbd325673f677ea80d93bb1bc08a578c1fa43a09cec3d1879 \
+ --hash=sha256:5230d9d65f39063a313ed1820df775166227ec5c20a1122968f85653d5efee48 \
+ --hash=sha256:527a3a02eaa3e4d4583adc4ba2327eef79628f3e1c682a4b959439551a72588e \
+ --hash=sha256:619120775e92a3f43fb4ff4c256a251b1554c904d95e2154a382484283f0388a \
+ --hash=sha256:6ac31ae566bf047e91c79b6d12d9a31efedad556ff9258294d6ecebeacb92fa4 \
+ --hash=sha256:878aad5e4bb7b401ad8d82f3af5186030cd2bd0d0446782e10dabb9db8827466 \
+ --hash=sha256:9858c2a6e1f391d5696757e7b6e9484749a7376c46f8b4dd9aebf093479a9667 \
+ --hash=sha256:a2f5bb6d8898bea7db45e3c8b916ee48e36905b929477bb511b79c5a3ccacda4 \
+ --hash=sha256:b2acecc4126658abebc683b38121adec405a46e18a619d49d6154c6e60c5deb2 \
+ --hash=sha256:bec30f4fc9c4973143cd80f0d33fa780e9fa3e01e4dbe8cedf229e72f1212c62 \
+ --hash=sha256:dbeff1eb2f2e36df088658b556fa993e6937bf64ffb07406de4db16fd2b26874 \
+ --hash=sha256:df0d1f6ea594f29b745c634d66d5f5f1caa1c3abd2af82fea49d656038e8fc77 \
+ --hash=sha256:df6a36a2a9da1406bc50428437f657f0bd8c842ae54bee5fb3ad30e01d50c0f5 \
+ --hash=sha256:e6584e641cadf27d894ae90b87c50377232a97cbfd76ee0c7ecd0c056fa3f7f4
# via -r src/backend/requirements-dev.in
-pytest-django==4.11.1 \
- --hash=sha256:1b63773f648aa3d8541000c26929c1ea63934be1cfa674c76436966d73fe6a10 \
- --hash=sha256:a949141a1ee103cb0e7a20f1451d355f83f5e4a5d07bdd4dcfdd1fd0ff227991
+pytest-django==4.12.0 \
+ --hash=sha256:3ff300c49f8350ba2953b90297d23bf5f589db69545f56f1ec5f8cff5da83e85 \
+ --hash=sha256:df94ec819a83c8979c8f6de13d9cdfbe76e8c21d39473cfe2b40c9fc9be3c758
# via -r src/backend/requirements-dev.in
+python-discovery==1.1.0 \
+ --hash=sha256:447941ba1aed8cc2ab7ee3cb91be5fc137c5bdbb05b7e6ea62fbdcb66e50b268 \
+ --hash=sha256:a162893b8809727f54594a99ad2179d2ede4bf953e12d4c7abc3cc9cdbd1437b
+ # via virtualenv
pyyaml==6.0.3 \
--hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \
--hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \
@@ -626,91 +643,95 @@ requests-mock==1.12.1 \
--hash=sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 \
--hash=sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401
# via -r src/backend/requirements-dev.in
-rich==14.2.0 \
- --hash=sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4 \
- --hash=sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd
+rich==14.3.3 \
+ --hash=sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d \
+ --hash=sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b
# via pytest-codspeed
-setuptools==80.9.0 \
- --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \
- --hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
# via
# -c src/backend/requirements.txt
# -r src/backend/requirements-dev.in
# pip-tools
-sqlparse==0.5.3 \
- --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \
- --hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca
+sqlparse==0.5.5 \
+ --hash=sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba \
+ --hash=sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e
# via
# -c src/backend/requirements.txt
# django
# django-silk
-tomli==2.3.0 \
- --hash=sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456 \
- --hash=sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845 \
- --hash=sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999 \
- --hash=sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0 \
- --hash=sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878 \
- --hash=sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf \
- --hash=sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3 \
- --hash=sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be \
- --hash=sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52 \
- --hash=sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b \
- --hash=sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67 \
- --hash=sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549 \
- --hash=sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba \
- --hash=sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22 \
- --hash=sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c \
- --hash=sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f \
- --hash=sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6 \
- --hash=sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba \
- --hash=sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45 \
- --hash=sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f \
- --hash=sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77 \
- --hash=sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606 \
- --hash=sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441 \
- --hash=sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0 \
- --hash=sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f \
- --hash=sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530 \
- --hash=sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05 \
- --hash=sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8 \
- --hash=sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005 \
- --hash=sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879 \
- --hash=sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae \
- --hash=sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc \
- --hash=sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b \
- --hash=sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b \
- --hash=sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e \
- --hash=sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf \
- --hash=sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac \
- --hash=sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8 \
- --hash=sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b \
- --hash=sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf \
- --hash=sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463 \
- --hash=sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876
+tomli==2.4.0 \
+ --hash=sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729 \
+ --hash=sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b \
+ --hash=sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d \
+ --hash=sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df \
+ --hash=sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576 \
+ --hash=sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d \
+ --hash=sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1 \
+ --hash=sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a \
+ --hash=sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e \
+ --hash=sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc \
+ --hash=sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702 \
+ --hash=sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6 \
+ --hash=sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd \
+ --hash=sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4 \
+ --hash=sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776 \
+ --hash=sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a \
+ --hash=sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66 \
+ --hash=sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87 \
+ --hash=sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2 \
+ --hash=sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f \
+ --hash=sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475 \
+ --hash=sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f \
+ --hash=sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95 \
+ --hash=sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9 \
+ --hash=sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3 \
+ --hash=sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9 \
+ --hash=sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76 \
+ --hash=sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da \
+ --hash=sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8 \
+ --hash=sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51 \
+ --hash=sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86 \
+ --hash=sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8 \
+ --hash=sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0 \
+ --hash=sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b \
+ --hash=sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1 \
+ --hash=sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e \
+ --hash=sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d \
+ --hash=sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c \
+ --hash=sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867 \
+ --hash=sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a \
+ --hash=sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c \
+ --hash=sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0 \
+ --hash=sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4 \
+ --hash=sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614 \
+ --hash=sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132 \
+ --hash=sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa \
+ --hash=sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087
# via coverage
-ty==0.0.1a21 \
- --hash=sha256:0efba2e52b58f536f4198ba5c4a36cac2ba67d83ec6f429ebc7704233bcda4c3 \
- --hash=sha256:1474d883129bb63da3b2380fc7ead824cd3baf6a9551e6aa476ffefc58057af3 \
- --hash=sha256:1f276ceab23a1410aec09508248c76ae0989c67fb7a0c287e0d4564994295531 \
- --hash=sha256:218d53e7919e885bd98e9196d9cb952d82178b299aa36da6f7f39333eb7400ed \
- --hash=sha256:21f708d02b6588323ffdbfdba38830dd0ecfd626db50aa6006b296b5470e52f9 \
- --hash=sha256:334d2a212ebf42a0e55d57561926af7679fe1e878175e11dcb81ad8df892844e \
- --hash=sha256:3c3bc66fcae41eff133cfe326dd65d82567a2fb5d4efe2128773b10ec2766819 \
- --hash=sha256:5dfc73299d441cc6454e36ed0a976877415024143dfca6592dc36f7701424383 \
- --hash=sha256:7505aeb8bf2a62f00f12cfa496f6c965074d75c8126268776565284c8a12d5dd \
- --hash=sha256:84243455f295ed850bd53f7089819321807d4e6ee3b1cbff6086137ae0259466 \
- --hash=sha256:87a200c21e02962e8a27374d9d152582331d57d709672431be58f4f898bf6cad \
- --hash=sha256:9463cac96b8f1bb5ba740fe1d42cd6bd152b43c5b159b2f07f8fd629bcdded34 \
- --hash=sha256:a8c769987d00fbc33054ff7e342633f475ea10dc43bc60fb9fb056159d48cb90 \
- --hash=sha256:ba13d03b9e095216ceb4e4d554a308517f28ab0a6e4dcd07cfe94563e4c2c489 \
- --hash=sha256:be8f457d7841b7ead2a3f6b65ba668abc172a1150a0f1f6c0958af3725dbb61a \
- --hash=sha256:cc0880ec344fbdf736b05d8d0da01f0caaaa02409bd9a24b68d18d0127a79b0e \
- --hash=sha256:e941e9a9d1e54b03eeaf9c3197c26a19cf76009fd5e41e16e5657c1c827bd6d3 \
- --hash=sha256:ecf41706b803827b0de8717f32a434dad1e67be9f4b8caf403e12013179ea06a
+ty==0.0.21 \
+ --hash=sha256:210e7568c9f886c4d01308d751949ee714ad7ad9d7d928d2ba90d329dd880367 \
+ --hash=sha256:53508e345b11569f78b21ba8e2b4e61df38a9754947fb3cd9f2ef574367338fb \
+ --hash=sha256:553e43571f4a35604c36cfd07d8b61a5eb7a714e3c67f8c4ff2cf674fefbaef9 \
+ --hash=sha256:56b01fd2519637a4ca88344f61c96225f540c98ff18bca321d4eaa7bb0f7aa2f \
+ --hash=sha256:56d3b198b64dd0a19b2b66e257deaed2ecea568e722ae5352f3c6fb62027f89d \
+ --hash=sha256:62f7f5b235c4f7876db305c36997aea07b7af29b1a068f373d0e2547e25f32ff \
+ --hash=sha256:666f6822e3b9200abfa7e95eb0ddd576460adb8d66b550c0ad2c70abc84a2048 \
+ --hash=sha256:7bdf2f572378de78e1f388d24691c89db51b7caf07cf90f2bfcc1d6b18b70a76 \
+ --hash=sha256:7e9613994610431ab8625025bd2880dbcb77c5c9fabdd21134cda12d840a529d \
+ --hash=sha256:a0854d008347ce4a5fb351af132f660a390ab2a1163444d075251d43e6f74b9b \
+ --hash=sha256:a4c2ba5d67d64df8fcdefd8b280ac1149d24a73dbda82fa953a0dff9d21400ed \
+ --hash=sha256:a709d576e5bea84b745d43058d8b9cd4f27f74a0b24acb4b0cbb7d3d41e0d050 \
+ --hash=sha256:bef3ab4c7b966bcc276a8ac6c11b63ba222d21355b48d471ea782c4104eee4e0 \
+ --hash=sha256:d23d2c34f7a77d974bb08f0860ef700addc8a683d81a0319f71c08f87506cfd0 \
+ --hash=sha256:e9de7e11c63c6afc40f3e9ba716374add171aee7fabc70b5146a510705c6d41b \
+ --hash=sha256:ee8399f7c453a425291e6688efe430cfae7ab0ac4ffd50eba9f872bf878b54f6 \
+ --hash=sha256:f72047996598ac20553fb7e21ba5741e3c82dee4e9eadf10d954551a5fe09391
# via -r src/backend/requirements-dev.in
-types-psycopg2==2.9.21.20251012 \
- --hash=sha256:4cdafd38927da0cfde49804f39ab85afd9c6e9c492800e42f1f0c1a1b0312935 \
- --hash=sha256:712bad5c423fe979e357edbf40a07ca40ef775d74043de72bd4544ca328cc57e
+types-psycopg2==2.9.21.20260223 \
+ --hash=sha256:78ed70de2e56bc6b5c26c8c1da8e9af54e49fdc3c94d1504609f3519e2b84f02 \
+ --hash=sha256:c6228ade72d813b0624f4c03feeb89471950ac27cd0506b5debed6f053086bc8
# via django-types
types-pyyaml==6.0.12.20250915 \
--hash=sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3 \
@@ -724,17 +745,17 @@ typing-extensions==4.15.0 \
# django-stubs
# django-stubs-ext
# django-test-migrations
-urllib3==2.6.0 \
- --hash=sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f \
- --hash=sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
# via
# -c src/backend/requirements.txt
# requests
-virtualenv==20.35.4 \
- --hash=sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c \
- --hash=sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b
+virtualenv==21.1.0 \
+ --hash=sha256:164f5e14c5587d170cf98e60378eb91ea35bf037be313811905d3a24ea33cc07 \
+ --hash=sha256:1990a0188c8f16b6b9cf65c9183049007375b26aad415514d377ccacf1e4fb44
# via pre-commit
-wheel==0.45.1 \
- --hash=sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729 \
- --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248
+wheel==0.46.3 \
+ --hash=sha256:4b399d56c9d9338230118d705d9737a2a468ccca63d5e813e2a4fc7815d8bc4d \
+ --hash=sha256:e3e79874b07d776c40bd6033f8ddf76a7dad46a7b8aa1b2787a83083519a1803
# via pip-tools
diff --git a/src/backend/requirements.txt b/src/backend/requirements.txt
index edf82dd762..d3d61f3e0c 100644
--- a/src/backend/requirements.txt
+++ b/src/backend/requirements.txt
@@ -1,8 +1,8 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile src/backend/requirements.in -o src/backend/requirements.txt --no-strip-extras --generate-hashes
-asgiref==3.10.0 \
- --hash=sha256:aef8a81283a34d0ab31630c9b7dfe70c812c95eba78171367ca8745e88124734 \
- --hash=sha256:d89f2d8cd8b56dada7d52fa7dc8075baa08fb836560710d38c292a7a3f78c04e
+# uv pip compile src/backend/requirements.in -o src/backend/requirements.txt
+asgiref==3.11.1 \
+ --hash=sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce \
+ --hash=sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133
# via
# django
# django-allauth
@@ -18,9 +18,9 @@ attrs==25.4.0 \
# via
# jsonschema
# referencing
-babel==2.17.0 \
- --hash=sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d \
- --hash=sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2
+babel==2.18.0 \
+ --hash=sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d \
+ --hash=sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35
# via py-moneyed
bcrypt==5.0.0 \
--hash=sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4 \
@@ -91,19 +91,19 @@ bleach[css]==6.3.0 \
--hash=sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22 \
--hash=sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6
# via django-markdownify
-blessed==1.25.0 \
- --hash=sha256:606aebfea69f85915c7ca6a96eb028e0031d30feccc5688e13fd5cec8277b28d \
- --hash=sha256:e52b9f778b9e10c30b3f17f6b5f5d2208d1e9b53b270f1d94fc61a243fc4708f
+blessed==1.32.0 \
+ --hash=sha256:c6fdc18838491ebc7f0460234917eff4e172074934f5f80e82672417bd74be70 \
+ --hash=sha256:d4090e9908cf86bea15a5275845c8bfc69c4c34eb6d22de07c65d26f1e54a918
# via -r src/backend/requirements.in
-boto3==1.40.69 \
- --hash=sha256:5273f6bac347331a87db809dff97d8736c50c3be19f2bb36ad08c5131c408976 \
- --hash=sha256:c3f710a1990c4be1c0db43b938743d4e404c7f1f06d5f1fa0c8e9b1cea4290b2
+boto3==1.42.62 \
+ --hash=sha256:6b26ff56c458685caec3d42adde0549f6a55410e557e1f51bebde5c8abcf3037 \
+ --hash=sha256:eef0ee08f30e5ed16d8296719808801a827fa0f3126a3e2a9ef9be9eb5e6a313
# via
# django-anymail
# django-storages
-botocore==1.40.69 \
- --hash=sha256:5d810efeb9e18f91f32690642fa81ae60e482eefeea0d35ec72da2e3d924c1a5 \
- --hash=sha256:df310ddc4d2de5543ba3df4e4b5f9907a2951896d63a9fbae115c26ca0976951
+botocore==1.42.62 \
+ --hash=sha256:86d327fded96775268ffe8d8bd6ed96c4a1db86cf24eb64ff85233db12dbc287 \
+ --hash=sha256:c210dc93b0b81bf72cfe745a7b1c8df765d04bd90b4ac6c8707fbb6714141dae
# via
# boto3
# s3transfer
@@ -209,9 +209,9 @@ brotli==1.2.0 \
--hash=sha256:fc1530af5c3c275b8524f2e24841cbe2599d74462455e9bae5109e9ff42e9361 \
--hash=sha256:ff09cd8c5eec3b9d02d2408db41be150d8891c5566addce57513bf546e3d6c6d
# via fonttools
-certifi==2025.10.5 \
- --hash=sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de \
- --hash=sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43
+certifi==2026.2.25 \
+ --hash=sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa \
+ --hash=sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7
# via
# requests
# sentry-sdk
@@ -304,176 +304,171 @@ cffi==2.0.0 \
# cryptography
# pynacl
# weasyprint
-charset-normalizer==3.4.4 \
- --hash=sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad \
- --hash=sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93 \
- --hash=sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394 \
- --hash=sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89 \
- --hash=sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc \
- --hash=sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86 \
- --hash=sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63 \
- --hash=sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d \
- --hash=sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f \
- --hash=sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8 \
- --hash=sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0 \
- --hash=sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505 \
- --hash=sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161 \
- --hash=sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af \
- --hash=sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152 \
- --hash=sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318 \
- --hash=sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72 \
- --hash=sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4 \
- --hash=sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e \
- --hash=sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3 \
- --hash=sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576 \
- --hash=sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c \
- --hash=sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1 \
- --hash=sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8 \
- --hash=sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1 \
- --hash=sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2 \
- --hash=sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44 \
- --hash=sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26 \
- --hash=sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88 \
- --hash=sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016 \
- --hash=sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede \
- --hash=sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf \
- --hash=sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a \
- --hash=sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc \
- --hash=sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0 \
- --hash=sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84 \
- --hash=sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db \
- --hash=sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1 \
- --hash=sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7 \
- --hash=sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed \
- --hash=sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8 \
- --hash=sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133 \
- --hash=sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e \
- --hash=sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef \
- --hash=sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14 \
- --hash=sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2 \
- --hash=sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0 \
- --hash=sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d \
- --hash=sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828 \
- --hash=sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f \
- --hash=sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf \
- --hash=sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6 \
- --hash=sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328 \
- --hash=sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090 \
- --hash=sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa \
- --hash=sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381 \
- --hash=sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c \
- --hash=sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb \
- --hash=sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc \
- --hash=sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a \
- --hash=sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec \
- --hash=sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc \
- --hash=sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac \
- --hash=sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e \
- --hash=sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313 \
- --hash=sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569 \
- --hash=sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3 \
- --hash=sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d \
- --hash=sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525 \
- --hash=sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894 \
- --hash=sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3 \
- --hash=sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9 \
- --hash=sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a \
- --hash=sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9 \
- --hash=sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14 \
- --hash=sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25 \
- --hash=sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50 \
- --hash=sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf \
- --hash=sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1 \
- --hash=sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3 \
- --hash=sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac \
- --hash=sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e \
- --hash=sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815 \
- --hash=sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c \
- --hash=sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6 \
- --hash=sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6 \
- --hash=sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e \
- --hash=sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4 \
- --hash=sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84 \
- --hash=sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69 \
- --hash=sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15 \
- --hash=sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191 \
- --hash=sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0 \
- --hash=sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897 \
- --hash=sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd \
- --hash=sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2 \
- --hash=sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794 \
- --hash=sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d \
- --hash=sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074 \
- --hash=sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3 \
- --hash=sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224 \
- --hash=sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838 \
- --hash=sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a \
- --hash=sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d \
- --hash=sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d \
- --hash=sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f \
- --hash=sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8 \
- --hash=sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490 \
- --hash=sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966 \
- --hash=sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9 \
- --hash=sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3 \
- --hash=sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e \
- --hash=sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608
+charset-normalizer==3.4.5 \
+ --hash=sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4 \
+ --hash=sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66 \
+ --hash=sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54 \
+ --hash=sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05 \
+ --hash=sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765 \
+ --hash=sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064 \
+ --hash=sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819 \
+ --hash=sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e \
+ --hash=sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412 \
+ --hash=sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc \
+ --hash=sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e \
+ --hash=sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281 \
+ --hash=sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af \
+ --hash=sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2 \
+ --hash=sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe \
+ --hash=sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8 \
+ --hash=sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262 \
+ --hash=sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac \
+ --hash=sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85 \
+ --hash=sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c \
+ --hash=sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf \
+ --hash=sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139 \
+ --hash=sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770 \
+ --hash=sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d \
+ --hash=sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918 \
+ --hash=sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3 \
+ --hash=sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7 \
+ --hash=sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39 \
+ --hash=sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d \
+ --hash=sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990 \
+ --hash=sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765 \
+ --hash=sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1 \
+ --hash=sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa \
+ --hash=sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659 \
+ --hash=sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d \
+ --hash=sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9 \
+ --hash=sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9 \
+ --hash=sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2 \
+ --hash=sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d \
+ --hash=sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475 \
+ --hash=sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c \
+ --hash=sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81 \
+ --hash=sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67 \
+ --hash=sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99 \
+ --hash=sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5 \
+ --hash=sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694 \
+ --hash=sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf \
+ --hash=sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca \
+ --hash=sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c \
+ --hash=sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c \
+ --hash=sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636 \
+ --hash=sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f \
+ --hash=sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02 \
+ --hash=sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497 \
+ --hash=sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f \
+ --hash=sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2 \
+ --hash=sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d \
+ --hash=sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873 \
+ --hash=sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a \
+ --hash=sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e \
+ --hash=sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1 \
+ --hash=sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123 \
+ --hash=sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550 \
+ --hash=sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc \
+ --hash=sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36 \
+ --hash=sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644 \
+ --hash=sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4 \
+ --hash=sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0 \
+ --hash=sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e \
+ --hash=sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f \
+ --hash=sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4 \
+ --hash=sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98 \
+ --hash=sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294 \
+ --hash=sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22 \
+ --hash=sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23 \
+ --hash=sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8 \
+ --hash=sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2 \
+ --hash=sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362 \
+ --hash=sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242 \
+ --hash=sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4 \
+ --hash=sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95 \
+ --hash=sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d \
+ --hash=sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94 \
+ --hash=sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6 \
+ --hash=sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2 \
+ --hash=sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4 \
+ --hash=sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8 \
+ --hash=sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e \
+ --hash=sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a \
+ --hash=sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce \
+ --hash=sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969 \
+ --hash=sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f \
+ --hash=sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923 \
+ --hash=sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6 \
+ --hash=sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee \
+ --hash=sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6 \
+ --hash=sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467 \
+ --hash=sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f \
+ --hash=sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193 \
+ --hash=sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7 \
+ --hash=sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9 \
+ --hash=sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95 \
+ --hash=sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763 \
+ --hash=sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7 \
+ --hash=sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98 \
+ --hash=sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60 \
+ --hash=sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade \
+ --hash=sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c \
+ --hash=sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2 \
+ --hash=sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f \
+ --hash=sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a \
+ --hash=sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947 \
+ --hash=sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3
# via requests
-cryptography==46.0.3 \
- --hash=sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217 \
- --hash=sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d \
- --hash=sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc \
- --hash=sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71 \
- --hash=sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971 \
- --hash=sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a \
- --hash=sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926 \
- --hash=sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc \
- --hash=sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d \
- --hash=sha256:191bb60a7be5e6f54e30ba16fdfae78ad3a342a0599eb4193ba88e3f3d6e185b \
- --hash=sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20 \
- --hash=sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044 \
- --hash=sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3 \
- --hash=sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715 \
- --hash=sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4 \
- --hash=sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506 \
- --hash=sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f \
- --hash=sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0 \
- --hash=sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683 \
- --hash=sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3 \
- --hash=sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21 \
- --hash=sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91 \
- --hash=sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c \
- --hash=sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8 \
- --hash=sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df \
- --hash=sha256:6b5063083824e5509fdba180721d55909ffacccc8adbec85268b48439423d78c \
- --hash=sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb \
- --hash=sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7 \
- --hash=sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04 \
- --hash=sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db \
- --hash=sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459 \
- --hash=sha256:7ce938a99998ed3c8aa7e7272dca1a610401ede816d36d0693907d863b10d9ea \
- --hash=sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914 \
- --hash=sha256:9394673a9f4de09e28b5356e7fff97d778f8abad85c9d5ac4a4b7e25a0de7717 \
- --hash=sha256:94cd0549accc38d1494e1f8de71eca837d0509d0d44bf11d158524b0e12cebf9 \
- --hash=sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac \
- --hash=sha256:a23582810fedb8c0bc47524558fb6c56aac3fc252cb306072fd2815da2a47c32 \
- --hash=sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec \
- --hash=sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1 \
- --hash=sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb \
- --hash=sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac \
- --hash=sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665 \
- --hash=sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e \
- --hash=sha256:c70cc23f12726be8f8bc72e41d5065d77e4515efae3690326764ea1b07845cfb \
- --hash=sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5 \
- --hash=sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936 \
- --hash=sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de \
- --hash=sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372 \
- --hash=sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54 \
- --hash=sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422 \
- --hash=sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849 \
- --hash=sha256:e7aec276d68421f9574040c26e2a7c3771060bc0cff408bae1dcb19d3ab1e63c \
- --hash=sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963 \
- --hash=sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018
+cryptography==46.0.5 \
+ --hash=sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72 \
+ --hash=sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235 \
+ --hash=sha256:1abfdb89b41c3be0365328a410baa9df3ff8a9110fb75e7b52e66803ddabc9a9 \
+ --hash=sha256:2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356 \
+ --hash=sha256:2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257 \
+ --hash=sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad \
+ --hash=sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4 \
+ --hash=sha256:3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c \
+ --hash=sha256:3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614 \
+ --hash=sha256:3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed \
+ --hash=sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31 \
+ --hash=sha256:420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229 \
+ --hash=sha256:47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0 \
+ --hash=sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731 \
+ --hash=sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b \
+ --hash=sha256:4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4 \
+ --hash=sha256:4e817a8920bfbcff8940ecfd60f23d01836408242b30f1a708d93198393a80b4 \
+ --hash=sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263 \
+ --hash=sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595 \
+ --hash=sha256:582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1 \
+ --hash=sha256:5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678 \
+ --hash=sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48 \
+ --hash=sha256:61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76 \
+ --hash=sha256:68f68d13f2e1cb95163fa3b4db4bf9a159a418f5f6e7242564fc75fcae667fd0 \
+ --hash=sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18 \
+ --hash=sha256:7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d \
+ --hash=sha256:803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d \
+ --hash=sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1 \
+ --hash=sha256:8293f3dea7fc929ef7240796ba231413afa7b68ce38fd21da2995549f5961981 \
+ --hash=sha256:8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7 \
+ --hash=sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82 \
+ --hash=sha256:94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2 \
+ --hash=sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4 \
+ --hash=sha256:a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663 \
+ --hash=sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c \
+ --hash=sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d \
+ --hash=sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a \
+ --hash=sha256:bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a \
+ --hash=sha256:bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d \
+ --hash=sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b \
+ --hash=sha256:c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a \
+ --hash=sha256:c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826 \
+ --hash=sha256:c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee \
+ --hash=sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9 \
+ --hash=sha256:d66e421495fdb797610a08f43b05269e0a5ea7f5e652a89bfd5a7d3c1dee3648 \
+ --hash=sha256:d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da \
+ --hash=sha256:e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2 \
+ --hash=sha256:f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2 \
+ --hash=sha256:fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87
# via
# -r src/backend/requirements.in
# django-anymail
@@ -482,17 +477,17 @@ cryptography==46.0.3 \
# jwcrypto
# paramiko
# pyjwt
-cssselect2==0.8.0 \
- --hash=sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e \
- --hash=sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a
+cssselect2==0.9.0 \
+ --hash=sha256:6a99e5f91f9a016a304dd929b0966ca464bcfda15177b6fb4a118fc0fb5d9563 \
+ --hash=sha256:759aa22c216326356f65e62e791d66160a0f9c91d1424e8d8adc5e74dddfc6fb
# via weasyprint
defusedxml==0.7.1 \
--hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \
--hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61
# via python3-openid
-django==5.2.9 \
- --hash=sha256:16b5ccfc5e8c27e6c0561af551d2ea32852d7352c67d452ae3e76b4f6b2ca495 \
- --hash=sha256:3a4ea88a70370557ab1930b332fd2887a9f48654261cdffda663fef5976bb00a
+django==5.2.12 \
+ --hash=sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7 \
+ --hash=sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb
# via
# -r src/backend/requirements.in
# django-allauth
@@ -523,13 +518,13 @@ django==5.2.9 \
# djangorestframework
# djangorestframework-simplejwt
# drf-spectacular
-django-allauth[headless, mfa, openid, saml, socialaccount]==65.13.1 \
- --hash=sha256:2887294beedfd108b4b52ebd182e0ed373deaeb927fc5a22f77bbde3174704a6 \
- --hash=sha256:2af0d07812f8c1a8e3732feaabe6a9db5ecf3fad6b45b6a0f7fd825f656c5a15
+django-allauth[headless, mfa, openid, saml, socialaccount]==65.14.3 \
+ --hash=sha256:1d8e1127bdffceb8001bdd9bafbf97661f81e92f4b7bd4f6e799167b0311286d \
+ --hash=sha256:548eef76ab85f6e48f46f98437abf22acf0e834f73e9915fb6cc3f31a0dcdf4d
# via -r src/backend/requirements.in
-django-anymail[amazon-ses, postal]==13.1 \
- --hash=sha256:63e48402ec8258f17640eb73c8c64141f16d2f8ae7d448d0fb1c66e82b7cbcf6 \
- --hash=sha256:b51783176f8a8382e958808151551558e4a46d1375fbc343742d1ebd06ce8e9e
+django-anymail[amazon-ses, postal]==14.0 \
+ --hash=sha256:98e5575bcff231952a92117b7d0a4dd37fab582333a343de302d415a31dc72b1 \
+ --hash=sha256:ca42e52da62d2c96ce92412f9d68ef6d2067d96a384096b6e932d6a247e9fd61
# via -r src/backend/requirements.in
django-cleanup==9.0.0 \
--hash=sha256:19f8b0e830233f9f0f683b17181f414672a0f48afe3ea3cc80ba47ae40ad880c \
@@ -539,9 +534,9 @@ django-cors-headers==4.9.0 \
--hash=sha256:15c7f20727f90044dcee2216a9fd7303741a864865f0c3657e28b7056f61b449 \
--hash=sha256:fe5d7cb59fdc2c8c646ce84b727ac2bca8912a247e6e68e1fb507372178e59e8
# via -r src/backend/requirements.in
-django-dbbackup==5.0.1 \
- --hash=sha256:52e1ed0c8082eb29b2e96231db0101a47a34442176542c27659992918ae9ef2a \
- --hash=sha256:5f9f764fcd9be3c7d6acde31ad3a20ec9093fc42014cd3e84e71eae9201d675f
+django-dbbackup==5.2.0 \
+ --hash=sha256:540948869e44778b5b33333cbab0cfe44279defd47df635d309ede8666894370 \
+ --hash=sha256:72b11dd31758abcf8f2d405fd2efbc49c9624bc17196f8c68542d3dc8d8d53c3
# via -r src/backend/requirements.in
django-error-report-2==0.4.2 \
--hash=sha256:1dd99c497af09b7ea99f5fbaf910501838150a9d5390796ea00e187bc62f6c1b \
@@ -551,9 +546,9 @@ django-filter==25.2 \
--hash=sha256:760e984a931f4468d096f5541787efb8998c61217b73006163bf2f9523fe8f23 \
--hash=sha256:9c0f8609057309bba611062fe1b720b4a873652541192d232dd28970383633e3
# via -r src/backend/requirements.in
-django-flags==5.1.0 \
- --hash=sha256:47f33efba238fe83a2c1f6f5764147fe62d770039f64b3a039e0e461bbc36e79 \
- --hash=sha256:6cfb15151f94d13de1a497901fc1dd4f0510251e5ec23a6732d674824f499e72
+django-flags==5.2.0 \
+ --hash=sha256:a3aee5e0d11e24e35f5ae4a423d52cad721f639181c1b1251e0148d8530a3f81 \
+ --hash=sha256:aa22543410f68a4082c576f3be469ea67a51c933f8a43eb8b10f6236f158e17e
# via -r src/backend/requirements.in
django-ical==1.9.2 \
--hash=sha256:44c9b6fa90d09f25e9ebaa91ed9eb007f079afbc23d6aac909cfc18188a8e90c \
@@ -574,29 +569,29 @@ django-maintenance-mode==0.22.0 \
--hash=sha256:502f04f845d6996e8add321186b3b9236c3702de7cb0ab14952890af6523b9e5 \
--hash=sha256:a9cf2ba79c9945bd67f98755a6cfd281869d39b3745bbb5d1f571d058657aa85
# via -r src/backend/requirements.in
-django-markdownify==0.9.5 \
- --hash=sha256:2c4ae44e386c209453caf5e9ea1b74f64535985d338ad2d5ad5e7089cc94be86 \
- --hash=sha256:34c34eba4a797282a5c5bd97b13cec84d6a4c0673ad47ce1c1d000d74dd8d4ab
+django-markdownify==0.9.6 \
+ --hash=sha256:9863b2bfa6d159ad1423dc93bf0d6eadc6413776de304049aa9fcfa5edd2ce1c \
+ --hash=sha256:edcf47b2026d55a8439049d35c8b54e11066a4856c4fad1060e139cb3d2eee52
# via -r src/backend/requirements.in
-django-money==3.5.4 \
- --hash=sha256:25933ed6177f8dc981114db813c7c5d36c7c89bc4017f2b1b2bb0209b5f68876 \
- --hash=sha256:628b3afb6671edc2cbd26743d858c31d3b99a735357f7acb6a399ab3ab008d2b
+django-money==3.6.0 \
+ --hash=sha256:94402f2831f2726b94ef2da35b4059441b4c0aedfc47b312472200d4ffdf8d73 \
+ --hash=sha256:a8d249bf3ce6ad7fb953530c920cc85ea7f1137c0fde747a74204ea24ec97ab1
# via -r src/backend/requirements.in
django-mptt==0.18.0 \
--hash=sha256:bfa3f01627e3966a1df901aeca74570a3e933e66809ebf58d9df673e63627afb \
--hash=sha256:cf5661357ff22bc64e20d3341c26e538aa54583aea0763cfe6aaec0ab8e3a8ee
# via -r src/backend/requirements.in
-django-oauth-toolkit==3.1.0 \
- --hash=sha256:10ddc90804297d913dfb958edd58d5fac541eb1ca912f47893ca1e482bb2a11f \
- --hash=sha256:d5a59d07588cfefa8818e99d65040a252eb2ede22512483e2240c91d0b885c8e
+django-oauth-toolkit==3.2.0 \
+ --hash=sha256:bd2cd2719b010231a2f370f927dbcc740454fb1d0dd7e7f4138f36227363dc26 \
+ --hash=sha256:c36761ae6810083d95a652e9c820046cde0d45a2e2a5574bbe7202656ec20bb6
# via -r src/backend/requirements.in
django-otp==1.3.0 \
--hash=sha256:5277731bc05b6cdbf96aa84ac46018e30ed5fb248086053b0146f925de059060 \
--hash=sha256:8f4156a3c14ce2aaa31379385eadf388925cd50fc4b5d20a3b944f454c98ff7c
# via -r src/backend/requirements.in
-django-picklefield==3.3 \
- --hash=sha256:4e76dd20f2e95ffdaf18d641226ccecc169ff0473b0d6bec746f3ab97c26b8cb \
- --hash=sha256:d6f6fd94a17177fe0d16b0b452a9860b8a1da97b6e70633ab53ade4975f1ce9a
+django-picklefield==3.4.0 \
+ --hash=sha256:3a1f740536c0e60d0dba43aa89ccdbe86760d4c3f8ec47799eae122baa741d0a \
+ --hash=sha256:929bcfbae5b48bd22a52bc04521fdfdd152eee36abb9f20228f9480f9df65f45
# via django-q2
django-q-sentry==0.1.6 \
--hash=sha256:9b8b4d7fad253a7d9a47f2c2ab0d9dea83078b7ef45c8849dbb1e4176ef8d050
@@ -605,9 +600,9 @@ django-q2==1.9.0 \
--hash=sha256:4eded27644b0ffb291839c9f9c12fea6c0dec63ebd891fa6881b0b446098a49d \
--hash=sha256:ef7facca96fae9c11ddf2c5252d3817975c7a9a6d989fa0d65487d8823d57799
# via -r src/backend/requirements.in
-django-recurrence==1.11.1 \
- --hash=sha256:0c65f30872599b5813a9bab6952dada23c55894f28674490a753ada559f14bc5 \
- --hash=sha256:9c89444e651a78c587f352c5f63eda48ab2f53996347b9fcdff2d248f4fcff70
+django-recurrence==1.14 \
+ --hash=sha256:154a6221bd6667c35250d9fa89bbc4792b3f1ec5dc8dff0f5872186b6df3cf76 \
+ --hash=sha256:3e7420a38c7fa2f5073598e2a4236c65a983213f30f4413618448b43514649cd
# via django-ical
django-redis==6.0.0 \
--hash=sha256:20bf0063a8abee567eb5f77f375143c32810c8700c0674ced34737f8de4e36c0 \
@@ -643,9 +638,9 @@ django-taggit==6.1.0 \
django-xforwardedfor-middleware==2.0 \
--hash=sha256:16fd1cb27f33a5541b6f3e0b43afb1b7334a76f27a1255b69e14ec5c440f0b24
# via -r src/backend/requirements.in
-djangorestframework==3.16.1 \
- --hash=sha256:166809528b1aced0a17dc66c24492af18049f2c9420dbd0be29422029cfc3ff7 \
- --hash=sha256:33a59f47fb9c85ede792cbf88bde71893bcda0667bc573f784649521f1102cec
+djangorestframework==3.17.0 \
+ --hash=sha256:456fd992a33f9e64c9d0f47e85d9787db0efb44f894c1e513315b5e74765bd4c \
+ --hash=sha256:d84fe85f30b7ac6e8c0076ce9ff635e4eaedca5912f8d7d2926ce448c08533ba
# via
# -r src/backend/requirements.in
# djangorestframework-simplejwt
@@ -654,46 +649,51 @@ djangorestframework-simplejwt[crypto]==5.5.1 \
--hash=sha256:2c30f3707053d384e9f315d11c2daccfcb548d4faa453111ca19a542b732e469 \
--hash=sha256:e72c5572f51d7803021288e2057afcbd03f17fe11d484096f40a460abc76e87f
# via -r src/backend/requirements.in
-docutils==0.22.3 \
- --hash=sha256:21486ae730e4ca9f622677b1412b879af1791efcfba517e4c6f60be543fc8cdd \
- --hash=sha256:bd772e4aca73aff037958d44f2be5229ded4c09927fcf8690c577b66234d6ceb
+docutils==0.22.4 \
+ --hash=sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968 \
+ --hash=sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de
# via -r src/backend/requirements.in
drf-spectacular==0.29.0 \
--hash=sha256:0a069339ea390ce7f14a75e8b5af4a0860a46e833fd4af027411a3e94fc1a0cc \
--hash=sha256:d1ee7c9535d89848affb4427347f7c4a22c5d22530b8842ef133d7b72e19b41a
# via -r src/backend/requirements.in
-dulwich==0.24.10 \
- --hash=sha256:019af16c850ae85254289f9633a29dea02f45351c4182ea20b0c1394c074a13b \
- --hash=sha256:0dfae8c59b97964a907fdf4c5809154a18fd8c55f2eb6d8fd1607464165a9aa2 \
- --hash=sha256:0e1601789554e3d15b294356c78a5403521c27d5460e64dbbc44ffd5b10af4c3 \
- --hash=sha256:15b32f8c3116a1c0a042dde8da96f65a607e263e860ee42b3d4a98ce2c2f4a06 \
- --hash=sha256:1601bfea3906b52c924fae5b6ba32a0b087fb8fae927607e6b5381e6f7559611 \
- --hash=sha256:1b19af8a3ab051003ba05f15fc5c0d6f0d427e795639490790f34ec0558e99e3 \
- --hash=sha256:1f511f7afe1f36e37193214e4e069685d7d0378e756cc96a2fcb138bdf9fefca \
- --hash=sha256:2a56f9838e5d2414a2b57bab370b73b9803fefd98836ef841f0fd489b5cc1349 \
- --hash=sha256:30e028979b6fa7220c913da9c786026611c10746c06496149742602b36a11f6b \
- --hash=sha256:3581ae0af33f28e6c0834d2f41ca67ca81cd92a589e6a5f985e6c64373232958 \
- --hash=sha256:393e9c3cdd382cff20b5beb66989376d6da69e3b0dfec046a884707ab5d27ac9 \
- --hash=sha256:44f62e0244531a8c43ca7771e201ec9e7f6a2fb27f8c3c623939bc03c1f50423 \
- --hash=sha256:470d6cd8207e1a5ff1fb34c4c6fac2ec9a96d618f7062e5fb96c5260927bb9a7 \
- --hash=sha256:4914abb6408a719b7a1f7d9a182d1efd92c326e178b440faf582df50f9f032db \
- --hash=sha256:4b5c225477a529e1d4a2b5e51272a418177e34803938391ce41b7573b2e5b0d0 \
- --hash=sha256:5c724e5fc67c45f3c813f2630795ac388e3e6310534212f799a7a6bf230648c8 \
- --hash=sha256:6a25ca1605a94090514af408f9df64427281aefbb726f542e97d86d3a7c8ec18 \
- --hash=sha256:752c32d517dc608dbb8414061eaaec8ac8a05591b29531f81a83336b018b26c6 \
- --hash=sha256:843de5f678436a27b33aea0f2b87fd0453afdd0135f885a3ca44bc3147846dd2 \
- --hash=sha256:858fae0c7121715282a993abb1919385a28e1a9c4f136f568748d283c2ba874f \
- --hash=sha256:8df79c8080471f363e4dfcfc4e0d2e61e6da73af1fd7d31cb6ae0d34af45a6b4 \
- --hash=sha256:90028182b9a47ea4efed51c81298f3a98e279d7bf5c1f91c47101927a309ee45 \
- --hash=sha256:90b24c0827299cfb53c4f4d4fedc811be5c4b10c11172ff6e5a5c52277fe0b3a \
- --hash=sha256:b715a9f85ed71bef8027275c1bded064e4925071ae8c8a8d9a20c67b31faf3cd \
- --hash=sha256:c262ffc94338999e7808b434dccafaccd572d03b42d4ef140059d4b7cad765a3 \
- --hash=sha256:ce6e05ec50f258ccd14d83114eb32cc5bb241ae4a8c7199d014fd7568de285b1 \
- --hash=sha256:d9793fc1e42149a650a017dc8ce38485368a41729b9937e1dfcfedd0591ebe9d \
- --hash=sha256:e2eda4a634d6f1ac4c0d4786f8772495c8840dfc2b3e595507376bf5e5b0f9c5 \
- --hash=sha256:f102c38207540fa485e85e0b763ce3725a2d49d846dbf316ed271e27fd85ff21 \
- --hash=sha256:f7bfa9f0bfae57685754b163eef6641609047460939d28052e3beeb63efa6795 \
- --hash=sha256:fbf94fa73211d2f029751a72e1ca3a2fd35c6f5d9bb434acdf10a4a79ca322dd
+dulwich==1.1.0 \
+ --hash=sha256:06c18293fb2c715f035052f0c74f56e5ff52925ad4d0b5a0ebf16118daa5e340 \
+ --hash=sha256:0890fff677c617efbac0cd4584bec9753388e6cd6336e7131338ea034b47e899 \
+ --hash=sha256:1b1b9adaf82301fd7b360a5fa521cec1623cb9d77a0c5a09d04396637b39eb48 \
+ --hash=sha256:2f5a455e67f9ddd018299ce8dd05861a2696d35c6af91e9acdb4af0767bc0b8b \
+ --hash=sha256:2f6dd0c5fc45c84790d4a48d168d07f0aa817fcb879d2632e6cee603e98a843c \
+ --hash=sha256:333b0f93b289b14f98870317fb0583fdf73d5341f21fd09c694aa88bb06ad911 \
+ --hash=sha256:37be136c7a85a64ae0cf8030f4fb2fa4860cff653ad3bcf13c49bf59fea2020c \
+ --hash=sha256:3ba0cb28848dd8fd80d4389d1b83968da172376cea34f9bdb39043970fa1a045 \
+ --hash=sha256:49c39844b4abe53612d18add7762faf886ade70384a101912e0849f56f885913 \
+ --hash=sha256:518307ab080746ee9c32fc13e76ad4f7df8f7665bb85922e974037dd9415541a \
+ --hash=sha256:59e10ca543b752fa4b467a9ce420ad95b65e232f817f91809e64fe76eb8e27c6 \
+ --hash=sha256:5a662942f123614077f14bc31e66f6adce09561cc25da1ef716c13be8dba56c5 \
+ --hash=sha256:693c450a5d327a6a5276f5292d3dd0bc473066d2fd2a2d69a990d7738535deb6 \
+ --hash=sha256:6d5a0be4a84cc6ad23b6dcf2f9cbf2a0a65dd907612ad38312b2259ebe7bae56 \
+ --hash=sha256:6e318970e405987d10c1fd8d1e45f4e8c75874e771a5512f6fbb51b13d5a3108 \
+ --hash=sha256:8cf55f0de4cf90155aa3ab228c8ef9e7e10f7c785339f1688fb71f6adaae302c \
+ --hash=sha256:904f09ae3364dc8c026812b0478f2411a973f404aa2654ea18d9f340b3915872 \
+ --hash=sha256:941735c87b3657019d197bb72f0e9ec03cbdbf959dc0869e672f5c6871597442 \
+ --hash=sha256:9a32f92c2eb86c84a175261f8fb983b6765bb31618d79d0c0dd68fab6f6ca94a \
+ --hash=sha256:9aa855db9fee0a7065ae9ffb38e14e353876d82f17e33e1a1fb3830eb8d0cf43 \
+ --hash=sha256:9b1bbb785f29f9eb51cddb9d80f82dac03939b7444961283b09adac19a823e88 \
+ --hash=sha256:a05a1049b3928205672913f4c490cf7b08afaa3e7ee7e55e15476e696412672f \
+ --hash=sha256:a0f3421802225caedd11e95ce40f6a8d3c7a5df906489b6a5f49a20f88f62928 \
+ --hash=sha256:a1959be27d8201fcee8612da8afecd8e7992d8db8767dcef8704264db09db2ad \
+ --hash=sha256:b223d00cf564c99986945bd18a74e2e9ef85e713cfe5ad61d04184c386d52fed \
+ --hash=sha256:ba6f3f0807868f788b7f1d53b9ac0be3e425136b16563994f5ef6ecf5b7c7863 \
+ --hash=sha256:bcd67e7f9bdffb4b660330c4597d251cd33e74f5df6898a2c1e6a1730a62af06 \
+ --hash=sha256:be593608a57f5cfa2a1b9927c1b486c3007f5a6f34ff251feaeca3a6a43d4780 \
+ --hash=sha256:c9752d25f01e92587f8db52e50daf3e970deb49555340653ea44ba5e60f0f416 \
+ --hash=sha256:cb5e28210e34e6473d982cdf99e420dd2791e7af4d9be796fa760055951d82df \
+ --hash=sha256:d491e05d434a403f2ed7454002f39ce6fb9ae8de93bded368721bdb9a1f41778 \
+ --hash=sha256:dff1b67e0f76fcaae8f7345c05b1c4f00c11a6c42ace20864e80e7964af31827 \
+ --hash=sha256:e738163865dfccf155ef5fa3a2b2c849f38dadc6f009d2be355864233899bb4b \
+ --hash=sha256:eb5440145bb2bbab71cdfa149fd297a8b7d4db889ab90c58d7a07009a73c1d28 \
+ --hash=sha256:f8789e14981be2d33c3c36a14ec55ae06780c0a865e9df107016c4489a4a022a \
+ --hash=sha256:fc38cc6f60c5e475fa61dcd2b743113f35377602c1ba1c82264898d97a7d3c48
# via -r src/backend/requirements.in
et-xmlfile==2.0.0 \
--hash=sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa \
@@ -703,9 +703,9 @@ feedparser==6.0.12 \
--hash=sha256:64f76ce90ae3e8ef5d1ede0f8d3b50ce26bcce71dd8ae5e82b1cd2d4a5f94228 \
--hash=sha256:6bbff10f5a52662c00a2e3f86a38928c37c48f77b3c511aedcd51de933549324
# via -r src/backend/requirements.in
-fido2==2.0.0 \
- --hash=sha256:3061cd05e73b3a0ef6afc3b803d57c826aa2d6a9732d16abd7277361f58e7964 \
- --hash=sha256:685f54a50a57e019c6156e2dd699802a603e3abf70bab334f26affdd4fb8d4f7
+fido2==2.1.1 \
+ --hash=sha256:f1379f845870cc7fc64c7f07323c3ce41e8c96c37054e79e0acd5630b3fec5ac \
+ --hash=sha256:f85c16c8084abf6530b6c6ec3a0cf8575943321842e06916686943a8b784182c
# via django-allauth
flexcache==0.3 \
--hash=sha256:18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656 \
@@ -715,144 +715,146 @@ flexparser==0.4 \
--hash=sha256:266d98905595be2ccc5da964fe0a2c3526fbbffdc45b65b3146d75db992ef6b2 \
--hash=sha256:3738b456192dcb3e15620f324c447721023c0293f6af9955b481e91d00179846
# via pint
-fonttools[woff]==4.61.0 \
- --hash=sha256:0011d640afa61053bc6590f9a3394bd222de7cfde19346588beabac374e9d8ac \
- --hash=sha256:02bdf8e04d1a70476564b8640380f04bb4ac74edc1fc71f1bacb840b3e398ee9 \
- --hash=sha256:0bdcf2e29d65c26299cc3d502f4612365e8b90a939f46cd92d037b6cb7bb544a \
- --hash=sha256:13e3e20a5463bfeb77b3557d04b30bd6a96a6bb5c15c7b2e7908903e69d437a0 \
- --hash=sha256:14a290c5c93fcab76b7f451e6a4b7721b712d90b3b5ed6908f1abcf794e90d6d \
- --hash=sha256:14fafda386377b6131d9e448af42d0926bad47e038de0e5ba1d58c25d621f028 \
- --hash=sha256:1cfa2eb9bae650e58f0e8ad53c49d19a844d6034d6b259f30f197238abc1ccee \
- --hash=sha256:276f14c560e6f98d24ef7f5f44438e55ff5a67f78fa85236b218462c9f5d0635 \
- --hash=sha256:2cb5e45a824ce14b90510024d0d39dae51bd4fbb54c42a9334ea8c8cf4d95cbe \
- --hash=sha256:2de14557d113faa5fb519f7f29c3abe4d69c17fe6a5a2595cc8cda7338029219 \
- --hash=sha256:2f0bafc8a3b3749c69cc610e5aa3da832d39c2a37a68f03d18ec9a02ecaac04a \
- --hash=sha256:328a9c227984bebaf69f3ac9062265f8f6acc7ddf2e4e344c63358579af0aa3d \
- --hash=sha256:3b2065d94e5d63aafc2591c8b6ccbdb511001d9619f1bca8ad39b745ebeb5efa \
- --hash=sha256:4238120002e68296d55e091411c09eab94e111c8ce64716d17df53fd0eb3bb3d \
- --hash=sha256:46cb3d9279f758ac0cf671dc3482da877104b65682679f01b246515db03dbb72 \
- --hash=sha256:58b4f1b78dfbfe855bb8a6801b31b8cdcca0e2847ec769ad8e0b0b692832dd3b \
- --hash=sha256:59587bbe455dbdf75354a9dbca1697a35a8903e01fab4248d6b98a17032cee52 \
- --hash=sha256:5a9b78da5d5faa17e63b2404b77feeae105c1b7e75f26020ab7a27b76e02039f \
- --hash=sha256:627216062d90ab0d98215176d8b9562c4dd5b61271d35f130bcd30f6a8aaa33a \
- --hash=sha256:63c7125d31abe3e61d7bb917329b5543c5b3448db95f24081a13aaf064360fc8 \
- --hash=sha256:6781e7a4bb010be1cd69a29927b0305c86b843395f2613bdabe115f7d6ea7f34 \
- --hash=sha256:67d841aa272be5500de7f447c40d1d8452783af33b4c3599899319f6ef9ad3c1 \
- --hash=sha256:68704a8bbe0b61976262b255e90cde593dc0fe3676542d9b4d846bad2a890a76 \
- --hash=sha256:6b493c32d2555e9944ec1b911ea649ff8f01a649ad9cba6c118d6798e932b3f0 \
- --hash=sha256:6e5ca8c62efdec7972dfdfd454415c4db49b89aeaefaaacada432f3b7eea9866 \
- --hash=sha256:70e2a0c0182ee75e493ef33061bfebf140ea57e035481d2f95aa03b66c7a0e05 \
- --hash=sha256:787ef9dfd1ea9fe49573c272412ae5f479d78e671981819538143bec65863865 \
- --hash=sha256:7b446623c9cd5f14a59493818eaa80255eec2468c27d2c01b56e05357c263195 \
- --hash=sha256:7fb5b84f48a6a733ca3d7f41aa9551908ccabe8669ffe79586560abcc00a9cfd \
- --hash=sha256:9064b0f55b947e929ac669af5311ab1f26f750214db6dd9a0c97e091e918f486 \
- --hash=sha256:96dfc9bc1f2302224e48e6ee37e656eddbab810b724b52e9d9c13a57a6abad01 \
- --hash=sha256:9821ed77bb676736b88fa87a737c97b6af06e8109667e625a4f00158540ce044 \
- --hash=sha256:a32a16951cbf113d38f1dd8551b277b6e06e0f6f776fece0f99f746d739e1be3 \
- --hash=sha256:a5c5fff72bf31b0e558ed085e4fd7ed96eb85881404ecc39ed2a779e7cf724eb \
- --hash=sha256:ad751319dc532a79bdf628b8439af167181b4210a0cd28a8935ca615d9fdd727 \
- --hash=sha256:adbb4ecee1a779469a77377bbe490565effe8fce6fb2e6f95f064de58f8bac85 \
- --hash=sha256:b2b734d8391afe3c682320840c8191de9bd24e7eb85768dd4dc06ed1b63dbb1b \
- --hash=sha256:b5ca59b7417d149cf24e4c1933c9f44b2957424fc03536f132346d5242e0ebe5 \
- --hash=sha256:b6ceac262cc62bec01b3bb59abccf41b24ef6580869e306a4e88b7e56bb4bdda \
- --hash=sha256:ba774b8cbd8754f54b8eb58124e8bd45f736b2743325ab1a5229698942b9b433 \
- --hash=sha256:c53b47834ae41e8e4829171cc44fec0fdf125545a15f6da41776b926b9645a9a \
- --hash=sha256:c84b430616ed73ce46e9cafd0bf0800e366a3e02fb7e1ad7c1e214dbe3862b1f \
- --hash=sha256:dc25a4a9c1225653e4431a9413d0381b1c62317b0f543bdcec24e1991f612f33 \
- --hash=sha256:df8cbce85cf482eb01f4551edca978c719f099c623277bda8332e5dbe7dba09d \
- --hash=sha256:e074bc07c31406f45c418e17c1722e83560f181d122c412fa9e815df0ff74810 \
- --hash=sha256:e0d87e81e4d869549585ba0beb3f033718501c1095004f5e6aef598d13ebc216 \
- --hash=sha256:e24a1565c4e57111ec7f4915f8981ecbb61adf66a55f378fdc00e206059fcfef \
- --hash=sha256:e2bfacb5351303cae9f072ccf3fc6ecb437a6f359c0606bae4b1ab6715201d87 \
- --hash=sha256:e6cd0d9051b8ddaf7385f99dd82ec2a058e2b46cf1f1961e68e1ff20fcbb61af \
- --hash=sha256:ec520a1f0c7758d7a858a00f090c1745f6cde6a7c5e76fb70ea4044a15f712e7
+fonttools[woff]==4.61.1 \
+ --hash=sha256:0de30bfe7745c0d1ffa2b0b7048fb7123ad0d71107e10ee090fa0b16b9452e87 \
+ --hash=sha256:10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796 \
+ --hash=sha256:11f35ad7805edba3aac1a3710d104592df59f4b957e30108ae0ba6c10b11dd75 \
+ --hash=sha256:15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d \
+ --hash=sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371 \
+ --hash=sha256:2180f14c141d2f0f3da43f3a81bc8aa4684860f6b0e6f9e165a4831f24e6a23b \
+ --hash=sha256:21e7c8d76f62ab13c9472ccf74515ca5b9a761d1bde3265152a6dc58700d895b \
+ --hash=sha256:41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2 \
+ --hash=sha256:41ed4b5ec103bd306bb68f81dc166e77409e5209443e5773cb4ed837bcc9b0d3 \
+ --hash=sha256:497c31ce314219888c0e2fce5ad9178ca83fe5230b01a5006726cdf3ac9f24d9 \
+ --hash=sha256:4c1b526c8d3f615a7b1867f38a9410849c8f4aef078535742198e942fba0e9bd \
+ --hash=sha256:4d7092bb38c53bbc78e9255a59158b150bcdc115a1e3b3ce0b5f267dc35dd63c \
+ --hash=sha256:4f5686e1fe5fce75d82d93c47a438a25bf0d1319d2843a926f741140b2b16e0c \
+ --hash=sha256:58b0ee0ab5b1fc9921eccfe11d1435added19d6494dde14e323f25ad2bc30c56 \
+ --hash=sha256:5ce02f38a754f207f2f06557523cd39a06438ba3aafc0639c477ac409fc64e37 \
+ --hash=sha256:5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0 \
+ --hash=sha256:5fe9fd43882620017add5eabb781ebfbc6998ee49b35bd7f8f79af1f9f99a958 \
+ --hash=sha256:64102ca87e84261419c3747a0d20f396eb024bdbeb04c2bfb37e2891f5fadcb5 \
+ --hash=sha256:664c5a68ec406f6b1547946683008576ef8b38275608e1cee6c061828171c118 \
+ --hash=sha256:6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69 \
+ --hash=sha256:75c1a6dfac6abd407634420c93864a1e274ebc1c7531346d9254c0d8f6ca00f9 \
+ --hash=sha256:75da8f28eff26defba42c52986de97b22106cb8f26515b7c22443ebc9c2d3261 \
+ --hash=sha256:77efb033d8d7ff233385f30c62c7c79271c8885d5c9657d967ede124671bbdfb \
+ --hash=sha256:78a7d3ab09dc47ac1a363a493e6112d8cabed7ba7caad5f54dbe2f08676d1b47 \
+ --hash=sha256:7c7db70d57e5e1089a274cbb2b1fd635c9a24de809a231b154965d415d6c6d24 \
+ --hash=sha256:8c56c488ab471628ff3bfa80964372fc13504ece601e0d97a78ee74126b2045c \
+ --hash=sha256:91669ccac46bbc1d09e9273546181919064e8df73488ea087dcac3e2968df9ba \
+ --hash=sha256:9b666a475a65f4e839d3d10473fad6d47e0a9db14a2f4a224029c5bfde58ad2c \
+ --hash=sha256:9cfef3ab326780c04d6646f68d4b4742aae222e8b8ea1d627c74e38afcbc9d91 \
+ --hash=sha256:a13fc8aeb24bad755eea8f7f9d409438eb94e82cf86b08fe77a03fbc8f6a96b1 \
+ --hash=sha256:a75c301f96db737e1c5ed5fd7d77d9c34466de16095a266509e13da09751bd19 \
+ --hash=sha256:a76d4cb80f41ba94a6691264be76435e5f72f2cb3cab0b092a6212855f71c2f6 \
+ --hash=sha256:aed04cabe26f30c1647ef0e8fbb207516fd40fe9472e9439695f5c6998e60ac5 \
+ --hash=sha256:b148b56f5de675ee16d45e769e69f87623a4944f7443850bf9a9376e628a89d2 \
+ --hash=sha256:b501c862d4901792adaec7c25b1ecc749e2662543f68bb194c42ba18d6eec98d \
+ --hash=sha256:b846a1fcf8beadeb9ea4f44ec5bdde393e2f1569e17d700bfc49cd69bde75881 \
+ --hash=sha256:b931ae8f62db78861b0ff1ac017851764602288575d65b8e8ff1963fed419063 \
+ --hash=sha256:c33ab3ca9d3ccd581d58e989d67554e42d8d4ded94ab3ade3508455fe70e65f7 \
+ --hash=sha256:c6604b735bb12fef8e0efd5578c9fb5d3d8532d5001ea13a19cddf295673ee09 \
+ --hash=sha256:d8db08051fc9e7d8bc622f2112511b8107d8f27cd89e2f64ec45e9825e8288da \
+ --hash=sha256:d9203500f7c63545b4ce3799319fe4d9feb1a1b89b28d3cb5abd11b9dd64147e \
+ --hash=sha256:dc492779501fa723b04d0ab1f5be046797fee17d27700476edc7ee9ae535a61e \
+ --hash=sha256:e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8 \
+ --hash=sha256:e76ce097e3c57c4bcb67c5aa24a0ecdbd9f74ea9219997a707a4061fbe2707aa \
+ --hash=sha256:eff1ac3cc66c2ac7cda1e64b4e2f3ffef474b7335f92fc3833fc632d595fcee6 \
+ --hash=sha256:f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e \
+ --hash=sha256:f79b168428351d11e10c5aeb61a74e1851ec221081299f4cf56036a95431c43a \
+ --hash=sha256:fa646ecec9528bef693415c79a86e733c70a4965dd938e9a226b0fc64c9d2e6c \
+ --hash=sha256:fe2efccb324948a11dd09d22136fe2ac8a97d6c1347cf0b58a911dcd529f66b7 \
+ --hash=sha256:fff4f534200a04b4a36e7ae3cb74493afe807b517a09e99cb4faa89a34ed6ecd
# via weasyprint
-googleapis-common-protos==1.72.0 \
- --hash=sha256:4299c5a82d5ae1a9702ada957347726b167f9f8d1fc352477702a1e851ff4038 \
- --hash=sha256:e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5
+googleapis-common-protos==1.73.0 \
+ --hash=sha256:778d07cd4fbeff84c6f7c72102f0daf98fa2bfd3fa8bea426edc545588da0b5a \
+ --hash=sha256:dfdaaa2e860f242046be561e6d6cb5c5f1541ae02cfbcb034371aadb2942b4e8
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-grpcio==1.76.0 \
- --hash=sha256:035d90bc79eaa4bed83f524331d55e35820725c9fbb00ffa1904d5550ed7ede3 \
- --hash=sha256:04bbe1bfe3a68bbfd4e52402ab7d4eb59d72d02647ae2042204326cf4bbad280 \
- --hash=sha256:063065249d9e7e0782d03d2bca50787f53bd0fb89a67de9a7b521c4a01f1989b \
- --hash=sha256:06c3d6b076e7b593905d04fdba6a0525711b3466f43b3400266f04ff735de0cd \
- --hash=sha256:08caea849a9d3c71a542827d6df9d5a69067b0a1efbea8a855633ff5d9571465 \
- --hash=sha256:0aaa82d0813fd4c8e589fac9b65d7dd88702555f702fb10417f96e2a2a6d4c0f \
- --hash=sha256:0b7604868b38c1bfd5cf72d768aedd7db41d78cb6a4a18585e33fb0f9f2363fd \
- --hash=sha256:0c37db8606c258e2ee0c56b78c62fc9dee0e901b5dbdcf816c2dd4ad652b8b0c \
- --hash=sha256:1c9b93f79f48b03ada57ea24725d83a30284a012ec27eab2cf7e50a550cbbbcc \
- --hash=sha256:2107b0c024d1b35f4083f11245c0e23846ae64d02f40b2b226684840260ed054 \
- --hash=sha256:2229ae655ec4e8999599469559e97630185fdd53ae1e8997d147b7c9b2b72cba \
- --hash=sha256:25a18e9810fbc7e7f03ec2516addc116a957f8cbb8cbc95ccc80faa072743d03 \
- --hash=sha256:26ef06c73eb53267c2b319f43e6634c7556ea37672029241a056629af27c10e2 \
- --hash=sha256:2e1743fbd7f5fa713a1b0a8ac8ebabf0ec980b5d8809ec358d488e273b9cf02a \
- --hash=sha256:32483fe2aab2c3794101c2a159070584e5db11d0aa091b2c0ea9c4fc43d0d749 \
- --hash=sha256:3bf0f392c0b806905ed174dcd8bdd5e418a40d5567a05615a030a5aeddea692d \
- --hash=sha256:3e2a27c89eb9ac3d81ec8835e12414d73536c6e620355d65102503064a4ed6eb \
- --hash=sha256:40ad3afe81676fd9ec6d9d406eda00933f218038433980aa19d401490e46ecde \
- --hash=sha256:4215d3a102bd95e2e11b5395c78562967959824156af11fa93d18fdd18050990 \
- --hash=sha256:45d59a649a82df5718fd9527ce775fd66d1af35e6d31abdcdc906a49c6822958 \
- --hash=sha256:45e0111e73f43f735d70786557dc38141185072d7ff8dc1829d6a77ac1471468 \
- --hash=sha256:479496325ce554792dba6548fae3df31a72cef7bad71ca2e12b0e58f9b336bfc \
- --hash=sha256:490fa6d203992c47c7b9e4a9d39003a0c2bcc1c9aa3c058730884bbbb0ee9f09 \
- --hash=sha256:49ce47231818806067aea3324d4bf13825b658ad662d3b25fada0bdad9b8a6af \
- --hash=sha256:4baf3cbe2f0be3289eb68ac8ae771156971848bb8aaff60bad42005539431980 \
- --hash=sha256:522175aba7af9113c48ec10cc471b9b9bd4f6ceb36aeb4544a8e2c80ed9d252d \
- --hash=sha256:5e8571632780e08526f118f74170ad8d50fb0a48c23a746bef2a6ebade3abd6f \
- --hash=sha256:615ba64c208aaceb5ec83bfdce7728b80bfeb8be97562944836a7a0a9647d882 \
- --hash=sha256:61f69297cba3950a524f61c7c8ee12e55c486cb5f7db47ff9dcee33da6f0d3ae \
- --hash=sha256:65a20de41e85648e00305c1bb09a3598f840422e522277641145a32d42dcefcc \
- --hash=sha256:6a15c17af8839b6801d554263c546c69c4d7718ad4321e3166175b37eaacca77 \
- --hash=sha256:747fa73efa9b8b1488a95d0ba1039c8e2dca0f741612d80415b1e1c560febf4e \
- --hash=sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73 \
- --hash=sha256:81fd9652b37b36f16138611c7e884eb82e0cec137c40d3ef7c3f9b3ed00f6ed8 \
- --hash=sha256:83d57312a58dcfe2a3a0f9d1389b299438909a02db60e2f2ea2ae2d8034909d3 \
- --hash=sha256:8843114c0cfce61b40ad48df65abcfc00d4dba82eae8718fab5352390848c5da \
- --hash=sha256:8cc3309d8e08fd79089e13ed4819d0af72aa935dd8f435a195fd152796752ff2 \
- --hash=sha256:8ebe63ee5f8fa4296b1b8cfc743f870d10e902ca18afc65c68cf46fd39bb0783 \
- --hash=sha256:8eddfb4d203a237da6f3cc8a540dad0517d274b5a1e9e636fd8d2c79b5c1d397 \
- --hash=sha256:922fa70ba549fce362d2e2871ab542082d66e2aaf0c19480ea453905b01f384e \
- --hash=sha256:931091142fd8cc14edccc0845a79248bc155425eee9a98b2db2ea4f00a235a42 \
- --hash=sha256:971fd5a1d6e62e00d945423a567e42eb1fa678ba89072832185ca836a94daaa6 \
- --hash=sha256:980a846182ce88c4f2f7e2c22c56aefd515daeb36149d1c897f83cf57999e0b6 \
- --hash=sha256:9d9adda641db7207e800a7f089068f6f645959f2df27e870ee81d44701dd9db3 \
- --hash=sha256:9f8f757bebaaea112c00dba718fc0d3260052ce714e25804a03f93f5d1c6cc11 \
- --hash=sha256:a6ae758eb08088d36812dd5d9af7a9859c05b1e0f714470ea243694b49278e7b \
- --hash=sha256:a8c2cf1209497cf659a667d7dea88985e834c24b7c3b605e6254cbb5076d985c \
- --hash=sha256:acab0277c40eff7143c2323190ea57b9ee5fd353d8190ee9652369fae735668a \
- --hash=sha256:b331680e46239e090f5b3cead313cc772f6caa7d0fc8de349337563125361a4a \
- --hash=sha256:c088e7a90b6017307f423efbb9d1ba97a22aa2170876223f9709e9d1de0b5347 \
- --hash=sha256:d099566accf23d21037f18a2a63d323075bebace807742e4b0ac210971d4dd70 \
- --hash=sha256:d388087771c837cdb6515539f43b9d4bf0b0f23593a24054ac16f7a960be16f4 \
- --hash=sha256:dcfe41187da8992c5f40aa8c5ec086fa3672834d2be57a32384c08d5a05b4c00 \
- --hash=sha256:e6d1db20594d9daba22f90da738b1a0441a7427552cc6e2e3d1297aeddc00378 \
- --hash=sha256:ebea5cc3aa8ea72e04df9913492f9a96d9348db876f9dda3ad729cfedf7ac416 \
- --hash=sha256:ebebf83299b0cb1721a8859ea98f3a77811e35dce7609c5c963b9ad90728f886 \
- --hash=sha256:f0e34c2079d47ae9f6188211db9e777c619a21d4faba6977774e8fa43b085e48 \
- --hash=sha256:f92f88e6c033db65a5ae3d97905c8fea9c725b63e28d5a75cb73b49bda5024d8 \
- --hash=sha256:f9f7bd5faab55f47231ad8dba7787866b69f5e93bc306e3915606779bbfb4ba8 \
- --hash=sha256:fd5ef5932f6475c436c4a55e4336ebbe47bd3272be04964a03d316bbf4afbcbc \
- --hash=sha256:ff8a59ea85a1f2191a0ffcc61298c571bc566332f82e5f5be1b83c9d8e668a62
+grpcio==1.78.0 \
+ --hash=sha256:082653eecbdf290e6e3e2c276ab2c54b9e7c299e07f4221872380312d8cf395e \
+ --hash=sha256:10a9a644b5dd5aec3b82b5b0b90d41c0fa94c85ef42cb42cf78a23291ddb5e7d \
+ --hash=sha256:12a771591ae40bc65ba67048fa52ef4f0e6db8279e595fd349f9dfddeef571f9 \
+ --hash=sha256:185dea0d5260cbb2d224c507bf2a5444d5abbb1fa3594c1ed7e4c709d5eb8383 \
+ --hash=sha256:1afa62af6e23f88629f2b29ec9e52ec7c65a7176c1e0a83292b93c76ca882558 \
+ --hash=sha256:2045397e63a7a0ee7957c25f7dbb36ddc110e0cfb418403d110c0a7a68a844e9 \
+ --hash=sha256:207db540302c884b8848036b80db352a832b99dfdf41db1eb554c2c2c7800f65 \
+ --hash=sha256:271c73e6e5676afe4fc52907686670c7cea22ab2310b76a59b678403ed40d670 \
+ --hash=sha256:2777b783f6c13b92bd7b716667452c329eefd646bfb3f2e9dabea2e05dbd34f6 \
+ --hash=sha256:2bf5e2e163b356978b23652c4818ce4759d40f4712ee9ec5a83c4be6f8c23a3a \
+ --hash=sha256:35eb275bf1751d2ffbd8f57cdbc46058e857cf3971041521b78b7db94bdaf127 \
+ --hash=sha256:391e93548644e6b2726f1bb84ed60048d4bcc424ce5e4af0843d28ca0b754fec \
+ --hash=sha256:3c586ac70e855c721bda8f548d38c3ca66ac791dc49b66a8281a1f99db85e452 \
+ --hash=sha256:3f8904a8165ab21e07e58bf3e30a73f4dffc7a1e0dbc32d51c61b5360d26f43e \
+ --hash=sha256:459ab414b35f4496138d0ecd735fed26f1318af5e52cb1efbc82a09f0d5aa911 \
+ --hash=sha256:4c5533d03a6cbd7f56acfc9cfb44ea64f63d29091e40e44010d34178d392d7eb \
+ --hash=sha256:51b13f9aed9d59ee389ad666b8c2214cc87b5de258fa712f9ab05f922e3896c6 \
+ --hash=sha256:5361a0630a7fdb58a6a97638ab70e1dae2893c4d08d7aba64ded28bb9e7a29df \
+ --hash=sha256:5397fff416b79e4b284959642a4e95ac4b0f1ece82c9993658e0e477d40551ec \
+ --hash=sha256:57bab6deef2f4f1ca76cc04565df38dc5713ae6c17de690721bdf30cb1e0545c \
+ --hash=sha256:6092beabe1966a3229f599d7088b38dfc8ffa1608b5b5cdda31e591e6500f856 \
+ --hash=sha256:684083fd383e9dc04c794adb838d4faea08b291ce81f64ecd08e4577c7398adf \
+ --hash=sha256:735e38e176a88ce41840c21bb49098ab66177c64c82426e24e0082500cc68af5 \
+ --hash=sha256:7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5 \
+ --hash=sha256:748b6138585379c737adc08aeffd21222abbda1a86a0dca2a39682feb9196c20 \
+ --hash=sha256:74be1268d1439eaaf552c698cdb11cd594f0c49295ae6bb72c34ee31abbe611b \
+ --hash=sha256:7cc47943d524ee0096f973e1081cb8f4f17a4615f2116882a5f1416e4cfe92b5 \
+ --hash=sha256:859b13906ce098c0b493af92142ad051bf64c7870fa58a123911c88606714996 \
+ --hash=sha256:85f93781028ec63f383f6bc90db785a016319c561cc11151fbb7b34e0d012303 \
+ --hash=sha256:86ce2371bfd7f212cf60d8517e5e854475c2c43ce14aa910e136ace72c6db6c1 \
+ --hash=sha256:86f85dd7c947baa707078a236288a289044836d4b640962018ceb9cd1f899af5 \
+ --hash=sha256:8dfffba826efcf366b1e3ccc37e67afe676f290e13a3b48d31a46739f80a8724 \
+ --hash=sha256:8f2ac84905d12918e4e55a16da17939eb63e433dc11b677267c35568aa63fc84 \
+ --hash=sha256:94309f498bcc07e5a7d16089ab984d42ad96af1d94b5a4eb966a266d9fcabf68 \
+ --hash=sha256:94f95cf5d532d0e717eed4fc1810e8e6eded04621342ec54c89a7c2f14b581bf \
+ --hash=sha256:9566fe4ababbb2610c39190791e5b829869351d14369603702e890ef3ad2d06e \
+ --hash=sha256:9dca934f24c732750389ce49d638069c3892ad065df86cb465b3fa3012b70c9e \
+ --hash=sha256:a9f136fbafe7ccf4ac7e8e0c28b31066e810be52d6e344ef954a3a70234e1702 \
+ --hash=sha256:ab399ef5e3cd2a721b1038a0f3021001f19c5ab279f145e1146bb0b9f1b2b12c \
+ --hash=sha256:b0c689c02947d636bc7fab3e30cc3a3445cca99c834dfb77cd4a6cabfc1c5597 \
+ --hash=sha256:b2342d87af32790f934a79c3112641e7b27d63c261b8b4395350dad43eff1dc7 \
+ --hash=sha256:b58f37edab4a3881bc6c9bca52670610e0c9ca14e2ea3cf9debf185b870457fb \
+ --hash=sha256:bd8cb8026e5f5b50498a3c4f196f57f9db344dad829ffae16b82e4fdbaea2813 \
+ --hash=sha256:be63c88b32e6c0f1429f1398ca5c09bc64b0d80950c8bb7807d7d7fb36fb84c7 \
+ --hash=sha256:c3f293fdc675ccba4db5a561048cca627b5e7bd1c8a6973ffedabe7d116e22e2 \
+ --hash=sha256:c41bc64626db62e72afec66b0c8a0da76491510015417c127bfc53b2fe6d7f7f \
+ --hash=sha256:ce3a90455492bf8bfa38e56fbbe1dbd4f872a3d8eeaf7337dc3b1c8aa28c271b \
+ --hash=sha256:ce7599575eeb25c0f4dc1be59cada6219f3b56176f799627f44088b21381a28a \
+ --hash=sha256:dce09d6116df20a96acfdbf85e4866258c3758180e8c49845d6ba8248b6d0bbb \
+ --hash=sha256:de8cb00d1483a412a06394b8303feec5dcb3b55f81d83aa216dbb6a0b86a94f5 \
+ --hash=sha256:df2c8f3141f7cbd112a6ebbd760290b5849cda01884554f7c67acc14e7b1758a \
+ --hash=sha256:e87cbc002b6f440482b3519e36e1313eb5443e9e9e73d6a52d43bd2004fcfd8e \
+ --hash=sha256:e888474dee2f59ff68130f8a397792d8cb8e17e6b3434339657ba4ee90845a8c \
+ --hash=sha256:f12857d24d98441af6a1d5c87442d624411db486f7ba12550b07788f74b67b04 \
+ --hash=sha256:f2d4e43ee362adfc05994ed479334d5a451ab7bc3f3fee1b796b8ca66895acb4 \
+ --hash=sha256:f3d6379493e18ad4d39537a82371c5281e153e963cecb13f953ebac155756525 \
+ --hash=sha256:f8dff3d9777e5d2703a962ee5c286c239bf0ba173877cc68dc02c17d042e29de \
+ --hash=sha256:f9ab915a267fc47c7e88c387a3a28325b58c898e23d4995f765728f4e3dedb97 \
+ --hash=sha256:fbe6e89c7ffb48518384068321621b2a69cab509f58e40e4399fdd378fa6d074 \
+ --hash=sha256:fd5f135b1bd58ab088930b3c613455796dfa0393626a6972663ccdda5b4ac6ce \
+ --hash=sha256:ff870aebe9a93a85283837801d35cd5f8814fe2ad01e606861a7fb47c762a2b7
# via
# -r src/backend/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
-gunicorn==23.0.0 \
- --hash=sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d \
- --hash=sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec
+gunicorn==25.1.0 \
+ --hash=sha256:1426611d959fa77e7de89f8c0f32eed6aa03ee735f98c01efba3e281b1c47616 \
+ --hash=sha256:d0b1236ccf27f72cfe14bce7caadf467186f19e865094ca84221424e839b8b8b
# via -r src/backend/requirements.in
-icalendar==6.3.2 \
- --hash=sha256:d400e9c9bb8c025e5a3c77c236941bb690494be52528a0b43cc7e8b7c9505064 \
- --hash=sha256:e0c10ecbfcebe958d33af7d491f6e6b7580d11d475f2eeb29532d0424f9110a1
+icalendar==7.0.3 \
+ --hash=sha256:8c9fea6d3a89671bba8b6938d8565b4d0ec465c6a2796ef0f92790dcb9e627cd \
+ --hash=sha256:95027ece087ab87184d765f03761f25875821f74cdd18d3b57e9c868216d8fde
# via django-ical
idna==3.11 \
--hash=sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea \
--hash=sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902
- # via requests
-importlib-metadata==8.7.0 \
- --hash=sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000 \
- --hash=sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd
+ # via
+ # django-anymail
+ # requests
+importlib-metadata==8.7.1 \
+ --hash=sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb \
+ --hash=sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151
# via opentelemetry-api
inflection==0.5.1 \
--hash=sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 \
@@ -870,15 +872,15 @@ jinja2==3.1.6 \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
# via -r src/backend/requirements.in
-jmespath==1.0.1 \
- --hash=sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980 \
- --hash=sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe
+jmespath==1.1.0 \
+ --hash=sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d \
+ --hash=sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64
# via
# boto3
# botocore
-jsonschema==4.25.1 \
- --hash=sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63 \
- --hash=sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85
+jsonschema==4.26.0 \
+ --hash=sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326 \
+ --hash=sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce
# via drf-spectacular
jsonschema-specifications==2025.9.1 \
--hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \
@@ -1032,9 +1034,9 @@ lxml==6.0.2 \
# via
# python3-saml
# xmlsec
-markdown==3.10 \
- --hash=sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e \
- --hash=sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c
+markdown==3.10.2 \
+ --hash=sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950 \
+ --hash=sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36
# via django-markdownify
markupsafe==3.0.3 \
--hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \
@@ -1137,9 +1139,9 @@ openpyxl==3.1.5 \
--hash=sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2 \
--hash=sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050
# via tablib
-opentelemetry-api==1.38.0 \
- --hash=sha256:2891b0197f47124454ab9f0cf58f3be33faca394457ac3e09daba13ff50aa582 \
- --hash=sha256:f4c193b5e8acb0912b06ac5b16321908dd0843d75049c091487322284a3eea12
+opentelemetry-api==1.40.0 \
+ --hash=sha256:159be641c0b04d11e9ecd576906462773eb97ae1b657730f0ecf64d32071569f \
+ --hash=sha256:82dd69331ae74b06f6a874704be0cfaa49a1650e1537d4a813b86ecef7d0ecf9
# via
# -r src/backend/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
@@ -1156,27 +1158,27 @@ opentelemetry-api==1.38.0 \
# opentelemetry-instrumentation-wsgi
# opentelemetry-sdk
# opentelemetry-semantic-conventions
-opentelemetry-exporter-otlp==1.38.0 \
- --hash=sha256:2f55acdd475e4136117eff20fbf1b9488b1b0b665ab64407516e1ac06f9c3f9d \
- --hash=sha256:bc6562cef229fac8887ed7109fc5abc52315f39d9c03fd487bb8b4ef8fbbc231
+opentelemetry-exporter-otlp==1.40.0 \
+ --hash=sha256:48c87e539ec9afb30dc443775a1334cc5487de2f72a770a4c00b1610bf6c697d \
+ --hash=sha256:7caa0870b95e2fcb59d64e16e2b639ecffb07771b6cd0000b5d12e5e4fef765a
# via -r src/backend/requirements.in
-opentelemetry-exporter-otlp-proto-common==1.38.0 \
- --hash=sha256:03cb76ab213300fe4f4c62b7d8f17d97fcfd21b89f0b5ce38ea156327ddda74a \
- --hash=sha256:e333278afab4695aa8114eeb7bf4e44e65c6607d54968271a249c180b2cb605c
+opentelemetry-exporter-otlp-proto-common==1.40.0 \
+ --hash=sha256:1cbee86a4064790b362a86601ee7934f368b81cd4cc2f2e163902a6e7818a0fa \
+ --hash=sha256:7081ff453835a82417bf38dccf122c827c3cbc94f2079b03bba02a3165f25149
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-exporter-otlp-proto-grpc==1.38.0 \
- --hash=sha256:2473935e9eac71f401de6101d37d6f3f0f1831db92b953c7dcc912536158ebd6 \
- --hash=sha256:7c49fd9b4bd0dbe9ba13d91f764c2d20b0025649a6e4ac35792fb8d84d764bc7
+opentelemetry-exporter-otlp-proto-grpc==1.40.0 \
+ --hash=sha256:2aa0ca53483fe0cf6405087a7491472b70335bc5c7944378a0a8e72e86995c52 \
+ --hash=sha256:bd4015183e40b635b3dab8da528b27161ba83bf4ef545776b196f0fb4ec47740
# via opentelemetry-exporter-otlp
-opentelemetry-exporter-otlp-proto-http==1.38.0 \
- --hash=sha256:84b937305edfc563f08ec69b9cb2298be8188371217e867c1854d77198d0825b \
- --hash=sha256:f16bd44baf15cbe07633c5112ffc68229d0edbeac7b37610be0b2def4e21e90b
+opentelemetry-exporter-otlp-proto-http==1.40.0 \
+ --hash=sha256:a8d1dab28f504c5d96577d6509f80a8150e44e8f45f82cdbe0e34c99ab040069 \
+ --hash=sha256:db48f5e0f33217588bbc00274a31517ba830da576e59503507c839b38fa0869c
# via opentelemetry-exporter-otlp
-opentelemetry-instrumentation==0.59b0 \
- --hash=sha256:44082cc8fe56b0186e87ee8f7c17c327c4c2ce93bdbe86496e600985d74368ee \
- --hash=sha256:6010f0faaacdaf7c4dff8aac84e226d23437b331dcda7e70367f6d73a7db1adc
+opentelemetry-instrumentation==0.61b0 \
+ --hash=sha256:92a93a280e69788e8f88391247cc530fd81f16f2b011979d4d6398f805cfbc63 \
+ --hash=sha256:cb21b48db738c9de196eba6b805b4ff9de3b7f187e4bbf9a466fa170514f1fc7
# via
# opentelemetry-instrumentation-dbapi
# opentelemetry-instrumentation-django
@@ -1187,64 +1189,64 @@ opentelemetry-instrumentation==0.59b0 \
# opentelemetry-instrumentation-sqlite3
# opentelemetry-instrumentation-system-metrics
# opentelemetry-instrumentation-wsgi
-opentelemetry-instrumentation-dbapi==0.59b0 \
- --hash=sha256:672d59caa06754b42d4e722644d9fcd00a1f9f862e9ea5cef6d4da454515ac67 \
- --hash=sha256:c50112ae1cdb7f55bddcf57eca96aaa0f2dd78732be2b00953183439a4740493
+opentelemetry-instrumentation-dbapi==0.61b0 \
+ --hash=sha256:02fa800682c1de87dcad0e59f2092b3b6fb8b8ea0636518f989e1166b418dcb9 \
+ --hash=sha256:8f762c39c8edd20c6aef3282550a2cfbfec76c3f431bf5c36327dcf9ece2e5a0
# via
# opentelemetry-instrumentation-psycopg
# opentelemetry-instrumentation-pymysql
# opentelemetry-instrumentation-sqlite3
-opentelemetry-instrumentation-django==0.59b0 \
- --hash=sha256:469c2d973619355645ec696bbc4afab836ce22cbc83236a0382c3090588f7772 \
- --hash=sha256:a0a9eb74afc3870e72eaaa776054fbfd4d83ae306d0c5995f14414bcef2d830e
+opentelemetry-instrumentation-django==0.61b0 \
+ --hash=sha256:26c1b0b325a9783d4a2f4df660ba05cf929c3eda2ae9b07916b649bb44e1c5b6 \
+ --hash=sha256:9885154dc128578de0e6b5ce49e965c786f8ab071175bec005dcd454510be951
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-psycopg==0.59b0 \
- --hash=sha256:3a3dfec0b57f37f16643bc50231a696e6831af556b3196e445b5c11bd29eec0c \
- --hash=sha256:6d0295463a66c5aed6e076c7d801946e60eb020f0d4bb06e17b6b800c73dfbd6
+opentelemetry-instrumentation-psycopg==0.61b0 \
+ --hash=sha256:74e9fed3802945f7ae335cffc30fd18cf58c34a4d0619315f799fa21eb5c74ff \
+ --hash=sha256:a3e242cad56c0ad4f4f872017c73ce7e6c7012081dda6bd0d776c127fedc358a
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-pymysql==0.59b0 \
- --hash=sha256:29b25c40410d8bb198dd36827bbb2c72bb2283c32b0eca05e12112282182d082 \
- --hash=sha256:9a9b26909b4b06f4384ad43a35d175e39a1034e664fc2dac1ef3c98217dc103f
+opentelemetry-instrumentation-pymysql==0.61b0 \
+ --hash=sha256:00aca55c3fd767ebe484affa2f0c2f47edd4095038b509c6aca1a4cfed78af15 \
+ --hash=sha256:60ba66a806e4664308bd86fe45f329a6f3bb520c3e9759f68f379b7c9466047f
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-redis==0.59b0 \
- --hash=sha256:8f7494dede5a6bfe5d8f20da67b371a502883398081856378380efef27da0bdf \
- --hash=sha256:d7f1c7c55ab57e10e0155c4c65d028a7e436aec7ccc7ccbf1d77e8cd12b55abd
+opentelemetry-instrumentation-redis==0.61b0 \
+ --hash=sha256:8d4e850bbb5f8eeafa44c0eac3a007990c7125de187bc9c3659e29ff7e091172 \
+ --hash=sha256:ae0fbb56be9a641e621d55b02a7d62977a2c77c5ee760addd79b9b266e46e523
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-requests==0.59b0 \
- --hash=sha256:9af2ffe3317f03074d7f865919139e89170b6763a0251b68c25e8e64e04b3400 \
- --hash=sha256:d43121532877e31a46c48649279cec2504ee1e0ceb3c87b80fe5ccd7eafc14c1
+opentelemetry-instrumentation-requests==0.61b0 \
+ --hash=sha256:15f879ce8fb206bd7e6fdc61663ea63481040a845218c0cf42902ce70bd7e9d9 \
+ --hash=sha256:cce19b379949fe637eb73ba39b02c57d2d0805447ca6d86534aa33fcb141f683
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-sqlite3==0.59b0 \
- --hash=sha256:7b9989d805336a1e78a907b3863376cf4ff1dc96dd8a9e0d385f6bb3686c27ac \
- --hash=sha256:ec13867102687426b835f6c499a287ee2f4195abfba85d372e011a795661914c
+opentelemetry-instrumentation-sqlite3==0.61b0 \
+ --hash=sha256:202a18e7f9d231bfa44771fdb068bff16f24a6fa5e424a0df4d9232b1a818693 \
+ --hash=sha256:96d4f0fa35ba7ee9aa683aa17726cb358c8029cc7b3cf55668ccc77254c29ca5
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-system-metrics==0.59b0 \
- --hash=sha256:176d3722113383732fdb4a2c83a999218c2b8c1f2a25e242532fab6d2ad5123a \
- --hash=sha256:48150444e054e64699248b4fa3c8d771921f289b29caf4bbf9163a07c943aecc
+opentelemetry-instrumentation-system-metrics==0.61b0 \
+ --hash=sha256:3eb55f9a058797cf915946cbb7445e00b31316ac3e55050475792edf3367c321 \
+ --hash=sha256:7d4fe3e0ce14e0e6eb18f5826100d6cc1af662e5a8ebc74e9b91fe23f192f3e8
# via -r src/backend/requirements.in
-opentelemetry-instrumentation-wsgi==0.59b0 \
- --hash=sha256:f271076e56c22da1d0d3404519ba4a1891b39ee3d470ca7ece7332d57cbaa6b9 \
- --hash=sha256:ff0c3df043bd3653ad6a543cb2a1e666fbd4d63efffa04fa9d9090cef462e798
+opentelemetry-instrumentation-wsgi==0.61b0 \
+ --hash=sha256:380f2ae61714e5303275a80b2e14c58571573cd1fddf496d8c39fb9551c5e532 \
+ --hash=sha256:bd33b0824166f24134a3400648805e8d2e6a7951f070241294e8b8866611d7fa
# via
# -r src/backend/requirements.in
# opentelemetry-instrumentation-django
-opentelemetry-proto==1.38.0 \
- --hash=sha256:88b161e89d9d372ce723da289b7da74c3a8354a8e5359992be813942969ed468 \
- --hash=sha256:b6ebe54d3217c42e45462e2a1ae28c3e2bf2ec5a5645236a490f55f45f1a0a18
+opentelemetry-proto==1.40.0 \
+ --hash=sha256:03f639ca129ba513f5819810f5b1f42bcb371391405d99c168fe6937c62febcd \
+ --hash=sha256:266c4385d88923a23d63e353e9761af0f47a6ed0d486979777fe4de59dc9b25f
# via
# opentelemetry-exporter-otlp-proto-common
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-sdk==1.38.0 \
- --hash=sha256:1c66af6564ecc1553d72d811a01df063ff097cdc82ce188da9951f93b8d10f6b \
- --hash=sha256:93df5d4d871ed09cb4272305be4d996236eedb232253e3ab864c8620f051cebe
+opentelemetry-sdk==1.40.0 \
+ --hash=sha256:18e9f5ec20d859d268c7cb3c5198c8d105d073714db3de50b593b8c1345a48f2 \
+ --hash=sha256:787d2154a71f4b3d81f20524a8ce061b7db667d24e46753f32a7bc48f1c1f3f1
# via
# -r src/backend/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-semantic-conventions==0.59b0 \
- --hash=sha256:35d3b8833ef97d614136e253c1da9342b4c3c083bbaf29ce31d572a1c3825eed \
- --hash=sha256:7a6db3f30d70202d5bf9fa4b69bc866ca6a30437287de6c510fb594878aed6b0
+opentelemetry-semantic-conventions==0.61b0 \
+ --hash=sha256:072f65473c5d7c6dc0355b27d6c9d1a679d63b6d4b4b16a9773062cb7e31192a \
+ --hash=sha256:fa530a96be229795f8cef353739b618148b0fe2b4b3f005e60e262926c4d38e2
# via
# opentelemetry-instrumentation
# opentelemetry-instrumentation-dbapi
@@ -1253,16 +1255,16 @@ opentelemetry-semantic-conventions==0.59b0 \
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
# opentelemetry-sdk
-opentelemetry-util-http==0.59b0 \
- --hash=sha256:6d036a07563bce87bf521839c0671b507a02a0d39d7ea61b88efa14c6e25355d \
- --hash=sha256:ae66ee91be31938d832f3b4bc4eb8a911f6eddd38969c4a871b1230db2a0a560
+opentelemetry-util-http==0.61b0 \
+ --hash=sha256:1039cb891334ad2731affdf034d8fb8b48c239af9b6dd295e5fabd07f1c95572 \
+ --hash=sha256:8e715e848233e9527ea47e275659ea60a57a75edf5206a3b937e236a6da5fc33
# via
# opentelemetry-instrumentation-django
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
-packaging==25.0 \
- --hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
- --hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
+packaging==26.0 \
+ --hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
+ --hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via
# gunicorn
# opentelemetry-instrumentation
@@ -1274,98 +1276,98 @@ pdf2image==1.17.0 \
--hash=sha256:eaa959bc116b420dd7ec415fcae49b98100dda3dd18cd2fdfa86d09f112f6d57 \
--hash=sha256:ecdd58d7afb810dffe21ef2b1bbc057ef434dabbac6c33778a38a3f7744a27e2
# via -r src/backend/requirements.in
-pillow==12.0.0 \
- --hash=sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643 \
- --hash=sha256:09f2d0abef9e4e2f349305a4f8cc784a8a6c2f58a8c4892eea13b10a943bd26e \
- --hash=sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e \
- --hash=sha256:0fd00cac9c03256c8b2ff58f162ebcd2587ad3e1f2e397eab718c47e24d231cc \
- --hash=sha256:110486b79f2d112cf6add83b28b627e369219388f64ef2f960fef9ebaf54c642 \
- --hash=sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6 \
- --hash=sha256:1ac11e8ea4f611c3c0147424eae514028b5e9077dd99ab91e1bd7bc33ff145e1 \
- --hash=sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b \
- --hash=sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399 \
- --hash=sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba \
- --hash=sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad \
- --hash=sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47 \
- --hash=sha256:27f95b12453d165099c84f8a8bfdfd46b9e4bda9e0e4b65f0635430027f55739 \
- --hash=sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b \
- --hash=sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f \
- --hash=sha256:32ed80ea8a90ee3e6fa08c21e2e091bba6eda8eccc83dbc34c95169507a91f10 \
- --hash=sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52 \
- --hash=sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d \
- --hash=sha256:3adfb466bbc544b926d50fe8f4a4e6abd8c6bffd28a26177594e6e9b2b76572b \
- --hash=sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a \
- --hash=sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9 \
- --hash=sha256:455247ac8a4cfb7b9bc45b7e432d10421aea9fc2e74d285ba4072688a74c2e9d \
- --hash=sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098 \
- --hash=sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905 \
- --hash=sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b \
- --hash=sha256:5269cc1caeedb67e6f7269a42014f381f45e2e7cd42d834ede3c703a1d915fe3 \
- --hash=sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371 \
- --hash=sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953 \
- --hash=sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01 \
- --hash=sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca \
- --hash=sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e \
- --hash=sha256:6ace95230bfb7cd79ef66caa064bbe2f2a1e63d93471c3a2e1f1348d9f22d6b7 \
- --hash=sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27 \
- --hash=sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082 \
- --hash=sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e \
- --hash=sha256:759de84a33be3b178a64c8ba28ad5c135900359e85fb662bc6e403ad4407791d \
- --hash=sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8 \
- --hash=sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a \
- --hash=sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad \
- --hash=sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3 \
- --hash=sha256:805ebf596939e48dbb2e4922a1d3852cfc25c38160751ce02da93058b48d252a \
- --hash=sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d \
- --hash=sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353 \
- --hash=sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee \
- --hash=sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b \
- --hash=sha256:90387104ee8400a7b4598253b4c406f8958f59fcf983a6cea2b50d59f7d63d0b \
- --hash=sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a \
- --hash=sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7 \
- --hash=sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef \
- --hash=sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a \
- --hash=sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a \
- --hash=sha256:a3475b96f5908b3b16c47533daaa87380c491357d197564e0ba34ae75c0f3257 \
- --hash=sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07 \
- --hash=sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4 \
- --hash=sha256:aa5129de4e174daccbc59d0a3b6d20eaf24417d59851c07ebb37aeb02947987c \
- --hash=sha256:aeaefa96c768fc66818730b952a862235d68825c178f1b3ffd4efd7ad2edcb7c \
- --hash=sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4 \
- --hash=sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe \
- --hash=sha256:b22bd8c974942477156be55a768f7aa37c46904c175be4e158b6a86e3a6b7ca8 \
- --hash=sha256:b290fd8aa38422444d4b50d579de197557f182ef1068b75f5aa8558638b8d0a5 \
- --hash=sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6 \
- --hash=sha256:b583dc9070312190192631373c6c8ed277254aa6e6084b74bdd0a6d3b221608e \
- --hash=sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8 \
- --hash=sha256:bc91a56697869546d1b8f0a3ff35224557ae7f881050e99f615e0119bf934b4e \
- --hash=sha256:bd87e140e45399c818fac4247880b9ce719e4783d767e030a883a970be632275 \
- --hash=sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3 \
- --hash=sha256:bdee52571a343d721fb2eb3b090a82d959ff37fc631e3f70422e0c2e029f3e76 \
- --hash=sha256:bee2a6db3a7242ea309aa7ee8e2780726fed67ff4e5b40169f2c940e7eb09227 \
- --hash=sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9 \
- --hash=sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5 \
- --hash=sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79 \
- --hash=sha256:c7b2a63fd6d5246349f3d3f37b14430d73ee7e8173154461785e43036ffa96ca \
- --hash=sha256:c828a1ae702fc712978bda0320ba1b9893d99be0badf2647f693cc01cf0f04fa \
- --hash=sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b \
- --hash=sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e \
- --hash=sha256:cae81479f77420d217def5f54b5b9d279804d17e982e0f2fa19b1d1e14ab5197 \
- --hash=sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab \
- --hash=sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79 \
- --hash=sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2 \
- --hash=sha256:d49e2314c373f4c2b39446fb1a45ed333c850e09d0c59ac79b72eb3b95397363 \
- --hash=sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0 \
- --hash=sha256:d64317d2587c70324b79861babb9c09f71fbb780bad212018874b2c013d8600e \
- --hash=sha256:d77153e14b709fd8b8af6f66a3afbb9ed6e9fc5ccf0b6b7e1ced7b036a228782 \
- --hash=sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925 \
- --hash=sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0 \
- --hash=sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b \
- --hash=sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced \
- --hash=sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c \
- --hash=sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344 \
- --hash=sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9 \
- --hash=sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1
+pillow==12.1.1 \
+ --hash=sha256:02f84dfad02693676692746df05b89cf25597560db2857363a208e393429f5e9 \
+ --hash=sha256:0330d233c1a0ead844fc097a7d16c0abff4c12e856c0b325f231820fee1f39da \
+ --hash=sha256:03edcc34d688572014ff223c125a3f77fb08091e4607e7745002fc214070b35f \
+ --hash=sha256:097690ba1f2efdeb165a20469d59d8bb03c55fb6621eb2041a060ae8ea3e9642 \
+ --hash=sha256:178aa072084bd88ec759052feca8e56cbb14a60b39322b99a049e58090479713 \
+ --hash=sha256:18e5bddd742a44b7e6b1e773ab5db102bd7a94c32555ba656e76d319d19c3850 \
+ --hash=sha256:1a9b0ee305220b392e1124a764ee4265bd063e54a751a6b62eff69992f457fa9 \
+ --hash=sha256:1f1625b72740fdda5d77b4def688eb8fd6490975d06b909fd19f13f391e077e0 \
+ --hash=sha256:1f1be78ce9466a7ee64bfda57bdba0f7cc499d9794d518b854816c41bf0aa4e9 \
+ --hash=sha256:1f90cff8aa76835cba5769f0b3121a22bd4eb9e6884cfe338216e557a9a548b8 \
+ --hash=sha256:21329ec8c96c6e979cd0dfd29406c40c1d52521a90544463057d2aaa937d66a6 \
+ --hash=sha256:2815a87ab27848db0321fb78c7f0b2c8649dee134b7f2b80c6a45c6831d75ccd \
+ --hash=sha256:2c1fc0f2ca5f96a3c8407e41cca26a16e46b21060fe6d5b099d2cb01412222f5 \
+ --hash=sha256:2e0c664be47252947d870ac0d327fea7e63985a08794758aa8af5b6cb6ec0c9c \
+ --hash=sha256:339ffdcb7cbeaa08221cd401d517d4b1fe7a9ed5d400e4a8039719238620ca35 \
+ --hash=sha256:344cf1e3dab3be4b1fa08e449323d98a2a3f819ad20f4b22e77a0ede31f0faa1 \
+ --hash=sha256:36341d06738a9f66c8287cf8b876d24b18db9bd8740fa0672c74e259ad408cff \
+ --hash=sha256:365b10bb9417dd4498c0e3b128018c4a624dc11c7b97d8cc54effe3b096f4c38 \
+ --hash=sha256:3a5cbdcddad0af3da87cb16b60d23648bc3b51967eb07223e9fed77a82b457c4 \
+ --hash=sha256:417423db963cb4be8bac3fc1204fe61610f6abeed1580a7a2cbb2fbda20f12af \
+ --hash=sha256:42fc1f4677106188ad9a55562bbade416f8b55456f522430fadab3cef7cd4e60 \
+ --hash=sha256:44ce27545b6efcf0fdbdceb31c9a5bdea9333e664cda58a7e674bb74608b3986 \
+ --hash=sha256:472a8d7ded663e6162dafdf20015c486a7009483ca671cece7a9279b512fcb13 \
+ --hash=sha256:47b94983da0c642de92ced1702c5b6c292a84bd3a8e1d1702ff923f183594717 \
+ --hash=sha256:495c302af3aad1ca67420ddd5c7bd480c8867ad173528767d906428057a11f0e \
+ --hash=sha256:4ceb838d4bd9dab43e06c363cab2eebf63846d6a4aeaea283bbdfd8f1a8ed58b \
+ --hash=sha256:50480dcd74fa63b8e78235957d302d98d98d82ccbfac4c7e12108ba9ecbdba15 \
+ --hash=sha256:518a48c2aab7ce596d3bf79d0e275661b846e86e4d0e7dec34712c30fe07f02a \
+ --hash=sha256:559b38da23606e68681337ad74622c4dbba02254fc9cb4488a305dd5975c7eeb \
+ --hash=sha256:578510d88c6229d735855e1f278aa305270438d36a05031dfaae5067cc8eb04d \
+ --hash=sha256:597bd9c8419bc7c6af5604e55847789b69123bbe25d65cc6ad3012b4f3c98d8b \
+ --hash=sha256:5a8eb7ed8d4198bccbd07058416eeec51686b498e784eda166395a23eb99138e \
+ --hash=sha256:5c0dd1636633e7e6a0afe7bf6a51a14992b7f8e60de5789018ebbdfae55b040a \
+ --hash=sha256:5cb1785d97b0c3d1d1a16bc1d710c4a0049daefc4935f3a8f31f827f4d3d2e7f \
+ --hash=sha256:5d1f9575a12bed9e9eedd9a4972834b08c97a352bd17955ccdebfeca5913fa0a \
+ --hash=sha256:5d8c41325b382c07799a3682c1c258469ea2ff97103c53717b7893862d0c98ce \
+ --hash=sha256:5dae5f21afb91322f2ff791895ddd8889e5e947ff59f71b46041c8ce6db790bc \
+ --hash=sha256:600fd103672b925fe62ed08e0d874ea34d692474df6f4bf7ebe148b30f89f39f \
+ --hash=sha256:6408a7b064595afcab0a49393a413732a35788f2a5092fdc6266952ed67de586 \
+ --hash=sha256:652a2c9ccfb556235b2b501a3a7cf3742148cd22e04b5625c5fe057ea3e3191f \
+ --hash=sha256:665e1b916b043cef294bc54d47bf02d87e13f769bc4bc5fa225a24b3a6c5aca9 \
+ --hash=sha256:691ab2ac363b8217f7d31b3497108fb1f50faab2f75dfb03284ec2f217e87bf8 \
+ --hash=sha256:6c52f062424c523d6c4db85518774cc3d50f5539dd6eed32b8f6229b26f24d40 \
+ --hash=sha256:6c6db3b84c87d48d0088943bf33440e0c42370b99b1c2a7989216f7b42eede60 \
+ --hash=sha256:7311c0a0dcadb89b36b7025dfd8326ecfa36964e29913074d47382706e516a7c \
+ --hash=sha256:7aac39bcf8d4770d089588a2e1dd111cbaa42df5a94be3114222057d68336bd0 \
+ --hash=sha256:7b03048319bfc6170e93bd60728a1af51d3dd7704935feb228c4d4faab35d334 \
+ --hash=sha256:7e7976bf1910a8116b523b9f9f58bf410f3e8aa330cd9a2bb2953f9266ab49af \
+ --hash=sha256:8089c852a56c2966cf18835db62d9b34fef7ba74c726ad943928d494fa7f4735 \
+ --hash=sha256:86172b0831b82ce4f7877f280055892b31179e1576aa00d0df3bb1bbf8c3e524 \
+ --hash=sha256:89b54027a766529136a06cfebeecb3a04900397a3590fd252160b888479517bf \
+ --hash=sha256:89c7e895002bbe49cdc5426150377cbbc04767d7547ed145473f496dfa40408b \
+ --hash=sha256:8b7e5304e34942bf62e15184219a7b5ad4ff7f3bb5cca4d984f37df1a0e1aee2 \
+ --hash=sha256:8fd420ef0c52c88b5a035a0886f367748c72147b2b8f384c9d12656678dfdfa9 \
+ --hash=sha256:98edb152429ab62a1818039744d8fbb3ccab98a7c29fc3d5fcef158f3f1f68b7 \
+ --hash=sha256:99c1506ea77c11531d75e3a412832a13a71c7ebc8192ab9e4b2e355555920e3e \
+ --hash=sha256:9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4 \
+ --hash=sha256:9f51079765661884a486727f0729d29054242f74b46186026582b4e4769918e4 \
+ --hash=sha256:a003d7422449f6d1e3a34e3dd4110c22148336918ddbfc6a32581cd54b2e0b2b \
+ --hash=sha256:a0b1cd6232e2b618adcc54d9882e4e662a089d5768cd188f7c245b4c8c44a397 \
+ --hash=sha256:a285e3eb7a5a45a2ff504e31f4a8d1b12ef62e84e5411c6804a42197c1cf586c \
+ --hash=sha256:a37691702ed687799de29a518d63d4682d9016932db66d4e90c345831b02fb4e \
+ --hash=sha256:a550ae29b95c6dc13cf69e2c9dc5747f814c54eeb2e32d683e5e93af56caa029 \
+ --hash=sha256:ab174cd7d29a62dd139c44bf74b698039328f45cb03b4596c43473a46656b2f3 \
+ --hash=sha256:ab323b787d6e18b3d91a72fc99b1a2c28651e4358749842b8f8dfacd28ef2052 \
+ --hash=sha256:adebb5bee0f0af4909c30db0d890c773d1a92ffe83da908e2e9e720f8edf3984 \
+ --hash=sha256:aee2810642b2898bb187ced9b349e95d2a7272930796e022efaf12e99dccd293 \
+ --hash=sha256:af9a332e572978f0218686636610555ae3defd1633597be015ed50289a03c523 \
+ --hash=sha256:b574c51cf7d5d62e9be37ba446224b59a2da26dc4c1bb2ecbe936a4fb1a7cb7f \
+ --hash=sha256:b66e95d05ba806247aaa1561f080abc7975daf715c30780ff92a20e4ec546e1b \
+ --hash=sha256:b81b5e3511211631b3f672a595e3221252c90af017e399056d0faabb9538aa80 \
+ --hash=sha256:b957b71c6b2387610f556a7eb0828afbe40b4a98036fc0d2acfa5a44a0c2036f \
+ --hash=sha256:bb66b7cc26f50977108790e2456b7921e773f23db5630261102233eb355a3b79 \
+ --hash=sha256:c6008de247150668a705a6338156efb92334113421ceecf7438a12c9a12dab23 \
+ --hash=sha256:c7697918b5be27424e9ce568193efd13d925c4481dd364e43f5dff72d33e10f8 \
+ --hash=sha256:cb9bb857b2d057c6dfc72ac5f3b44836924ba15721882ef103cecb40d002d80e \
+ --hash=sha256:cc7d296b5ea4d29e6570dabeaed58d31c3fea35a633a69679fb03d7664f43fb3 \
+ --hash=sha256:d242e8ac078781f1de88bf823d70c1a9b3c7950a44cdf4b7c012e22ccbcd8e4e \
+ --hash=sha256:d2912fd8114fc5545aa3a4b5576512f64c55a03f3ebcca4c10194d593d43ea36 \
+ --hash=sha256:d470ab1178551dd17fdba0fef463359c41aaa613cdcd7ff8373f54be629f9f8f \
+ --hash=sha256:d4ce8e329c93845720cd2014659ca67eac35f6433fd3050393d85f3ecef0dad5 \
+ --hash=sha256:d6e4571eedf43af33d0fc233a382a76e849badbccdf1ac438841308652a08e1f \
+ --hash=sha256:e65498daf4b583091ccbb2556c7000abf0f3349fcd57ef7adc9a84a394ed29f6 \
+ --hash=sha256:e879bb6cd5c73848ef3b2b48b8af9ff08c5b71ecda8048b7dd22d8a33f60be32 \
+ --hash=sha256:e9e8064fb1cc019296958595f6db671fba95209e3ceb0c4734c9baf97de04b20 \
+ --hash=sha256:f7ed2c6543bad5a7d5530eb9e78c53132f93dfa44a28492db88b41cdab885202 \
+ --hash=sha256:f95c00d5d6700b2b890479664a06e754974848afaae5e21beb4d83c106923fd0 \
+ --hash=sha256:f975aa7ef9684ce7e2c18a3aa8f8e2106ce1e46b94ab713d156b2898811651d3 \
+ --hash=sha256:fbfa2a7c10cc2623f412753cddf391c7f971c52ca40a3f65dc5039b2939e8563 \
+ --hash=sha256:fc354a04072b765eccf2204f588a7a532c9511e8b9c7f900e1b64e3e33487090 \
+ --hash=sha256:fc44ef1f3de4f45b50ccf9136999d71abb99dca7706bc75d222ed350b9fd2289
# via
# -r src/backend/requirements.in
# django-stdimage
@@ -1377,107 +1379,107 @@ pint==0.25.2 \
--hash=sha256:85a45d1da8fe9c9f7477fed8aef59ad2b939af3d6611507e1a9cbdacdcd3450a \
--hash=sha256:ca35ab1d8eeeb6f7d9942b3cb5f34ca42b61cdd5fb3eae79531553dcca04dda7
# via -r src/backend/requirements.in
-pip-licenses==5.5.0 \
- --hash=sha256:2473e7afd02a0c21460758f70fd2bb3b3c080c5150713dd33baa9493dc1563a5 \
- --hash=sha256:ae1869436d13ee487088d29e71fc5821950062ad25ec28b6a1a443e0add6d8e8
+pip-licenses==5.5.1 \
+ --hash=sha256:7df370e6e5024a3f7449abf8e4321ef868ba9a795698ad24ab6851f3e7fc65a7 \
+ --hash=sha256:ed5e229a93760e529cfa7edaec6630b5a2cd3874c1bddb8019e5f18a723fdead
# via -r src/backend/requirements.in
-platformdirs==4.5.0 \
- --hash=sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312 \
- --hash=sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3
+platformdirs==4.9.4 \
+ --hash=sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934 \
+ --hash=sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
# via pint
ppf-datamatrix==0.2 \
--hash=sha256:819be65eae444b760e178d5761853f78f8e5fca14fec2809b5e3369978fa9244 \
--hash=sha256:8f034d9c90e408f60f8b10a273baab81014c9a81c983dc1ebdc31d4ca5ac5582
# via -r src/backend/requirements.in
-prettytable==3.16.0 \
- --hash=sha256:3c64b31719d961bf69c9a7e03d0c1e477320906a98da63952bc6698d6164ff57 \
- --hash=sha256:b5eccfabb82222f5aa46b798ff02a8452cf530a352c31bddfa29be41242863aa
+prettytable==3.17.0 \
+ --hash=sha256:59f2590776527f3c9e8cf9fe7b66dd215837cca96a9c39567414cbc632e8ddb0 \
+ --hash=sha256:aad69b294ddbe3e1f95ef8886a060ed1666a0b83018bbf56295f6f226c43d287
# via pip-licenses
-protobuf==6.33.0 \
- --hash=sha256:140303d5c8d2037730c548f8c7b93b20bb1dc301be280c378b82b8894589c954 \
- --hash=sha256:25c9e1963c6734448ea2d308cfa610e692b801304ba0908d7bfa564ac5132995 \
- --hash=sha256:35be49fd3f4fefa4e6e2aacc35e8b837d6703c37a2168a55ac21e9b1bc7559ef \
- --hash=sha256:905b07a65f1a4b72412314082c7dbfae91a9e8b68a0cc1577515f8df58ecf455 \
- --hash=sha256:9a031d10f703f03768f2743a1c403af050b6ae1f3480e9c140f39c45f81b13ee \
- --hash=sha256:c963e86c3655af3a917962c9619e1a6b9670540351d7af9439d06064e3317cc9 \
- --hash=sha256:cd33a8e38ea3e39df66e1bbc462b076d6e5ba3a4ebbde58219d777223a7873d3 \
- --hash=sha256:d6101ded078042a8f17959eccd9236fb7a9ca20d3b0098bbcb91533a5680d035 \
- --hash=sha256:e0697ece353e6239b90ee43a9231318302ad8353c70e6e45499fa52396debf90 \
- --hash=sha256:e0a1715e4f27355afd9570f3ea369735afc853a6c3951a6afe1f80d8569ad298
+protobuf==6.33.5 \
+ --hash=sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c \
+ --hash=sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02 \
+ --hash=sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c \
+ --hash=sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd \
+ --hash=sha256:8f04fa32763dcdb4973d537d6b54e615cc61108c7cb38fe59310c3192d29510a \
+ --hash=sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190 \
+ --hash=sha256:a3157e62729aafb8df6da2c03aa5c0937c7266c626ce11a278b6eb7963c4e37c \
+ --hash=sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5 \
+ --hash=sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0 \
+ --hash=sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b
# via
# googleapis-common-protos
# opentelemetry-proto
-psutil==7.1.3 \
- --hash=sha256:0005da714eee687b4b8decd3d6cc7c6db36215c9e74e5ad2264b90c3df7d92dc \
- --hash=sha256:1068c303be3a72f8e18e412c5b2a8f6d31750fb152f9cb106b54090296c9d251 \
- --hash=sha256:18349c5c24b06ac5612c0428ec2a0331c26443d259e2a0144a9b24b4395b58fa \
- --hash=sha256:19644c85dcb987e35eeeaefdc3915d059dac7bd1167cdcdbf27e0ce2df0c08c0 \
- --hash=sha256:2bdbcd0e58ca14996a42adf3621a6244f1bb2e2e528886959c72cf1e326677ab \
- --hash=sha256:31d77fcedb7529f27bb3a0472bea9334349f9a04160e8e6e5020f22c59893264 \
- --hash=sha256:3792983e23b69843aea49c8f5b8f115572c5ab64c153bada5270086a2123c7e7 \
- --hash=sha256:3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3 \
- --hash=sha256:56d974e02ca2c8eb4812c3f76c30e28836fffc311d55d979f1465c1feeb2b68b \
- --hash=sha256:6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74 \
- --hash=sha256:8f33a3702e167783a9213db10ad29650ebf383946e91bc77f28a5eb083496bc9 \
- --hash=sha256:95ef04cf2e5ba0ab9eaafc4a11eaae91b44f4ef5541acd2ee91d9108d00d59a7 \
- --hash=sha256:ad81425efc5e75da3f39b3e636293360ad8d0b49bed7df824c79764fb4ba9b8b \
- --hash=sha256:b403da1df4d6d43973dc004d19cee3b848e998ae3154cc8097d139b77156c353 \
- --hash=sha256:bc31fa00f1fbc3c3802141eede66f3a2d51d89716a194bf2cd6fc68310a19880 \
- --hash=sha256:bd0d69cee829226a761e92f28140bec9a5ee9d5b4fb4b0cc589068dbfff559b1 \
- --hash=sha256:c525ffa774fe4496282fb0b1187725793de3e7c6b29e41562733cae9ada151ee \
- --hash=sha256:f39c2c19fe824b47484b96f9692932248a54c43799a84282cfe58d05a6449efd \
- --hash=sha256:fac9cd332c67f4422504297889da5ab7e05fd11e3c4392140f7370f4208ded1f
+psutil==7.2.2 \
+ --hash=sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372 \
+ --hash=sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9 \
+ --hash=sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841 \
+ --hash=sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63 \
+ --hash=sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979 \
+ --hash=sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a \
+ --hash=sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b \
+ --hash=sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9 \
+ --hash=sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee \
+ --hash=sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312 \
+ --hash=sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b \
+ --hash=sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9 \
+ --hash=sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e \
+ --hash=sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc \
+ --hash=sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1 \
+ --hash=sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf \
+ --hash=sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea \
+ --hash=sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988 \
+ --hash=sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486 \
+ --hash=sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00 \
+ --hash=sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8
# via opentelemetry-instrumentation-system-metrics
py-moneyed==3.0 \
--hash=sha256:4906f0f02cf2b91edba2e156f2d4e9a78f224059ab8c8fa2ff26230c75d894e8 \
--hash=sha256:9583a14f99c05b46196193d8185206e9b73c8439fc8a5eee9cfc7e733676d9bb
# via django-money
-pycparser==2.23 \
- --hash=sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2 \
- --hash=sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934
+pycparser==3.0 \
+ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
+ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
# via cffi
-pydyf==0.11.0 \
- --hash=sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3 \
- --hash=sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64
+pydyf==0.12.1 \
+ --hash=sha256:ea25b4e1fe7911195cb57067560daaa266639184e8335365cc3ee5214e7eaadc \
+ --hash=sha256:fbd7e759541ac725c29c506612003de393249b94310ea78ae44cb1d04b220095
# via weasyprint
-pyjwt[crypto]==2.10.1 \
- --hash=sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953 \
- --hash=sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb
+pyjwt[crypto]==2.12.1 \
+ --hash=sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c \
+ --hash=sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b
# via
# django-allauth
# djangorestframework-simplejwt
-pynacl==1.6.0 \
- --hash=sha256:04f20784083014e265ad58c1b2dd562c3e35864b5394a14ab54f5d150ee9e53e \
- --hash=sha256:10d755cf2a455d8c0f8c767a43d68f24d163b8fe93ccfaabfa7bafd26be58d73 \
- --hash=sha256:140373378e34a1f6977e573033d1dd1de88d2a5d90ec6958c9485b2fd9f3eb90 \
- --hash=sha256:16c60daceee88d04f8d41d0a4004a7ed8d9a5126b997efd2933e08e93a3bd850 \
- --hash=sha256:16dd347cdc8ae0b0f6187a2608c0af1c8b7ecbbe6b4a06bff8253c192f696990 \
- --hash=sha256:25720bad35dfac34a2bcdd61d9e08d6bfc6041bebc7751d9c9f2446cf1e77d64 \
- --hash=sha256:2d6cd56ce4998cb66a6c112fda7b1fdce5266c9f05044fa72972613bef376d15 \
- --hash=sha256:347dcddce0b4d83ed3f32fd00379c83c425abee5a9d2cd0a2c84871334eaff64 \
- --hash=sha256:4853c154dc16ea12f8f3ee4b7e763331876316cc3a9f06aeedf39bcdca8f9995 \
- --hash=sha256:49c336dd80ea54780bcff6a03ee1a476be1612423010472e60af83452aa0f442 \
- --hash=sha256:4a25cfede801f01e54179b8ff9514bd7b5944da560b7040939732d1804d25419 \
- --hash=sha256:51fed9fe1bec9e7ff9af31cd0abba179d0e984a2960c77e8e5292c7e9b7f7b5d \
- --hash=sha256:536703b8f90e911294831a7fbcd0c062b837f3ccaa923d92a6254e11178aaf42 \
- --hash=sha256:5789f016e08e5606803161ba24de01b5a345d24590a80323379fc4408832d290 \
- --hash=sha256:6b08eab48c9669d515a344fb0ef27e2cbde847721e34bba94a343baa0f33f1f4 \
- --hash=sha256:6b393bc5e5a0eb86bb85b533deb2d2c815666665f840a09e0aa3362bb6088736 \
- --hash=sha256:84709cea8f888e618c21ed9a0efdb1a59cc63141c403db8bf56c469b71ad56f2 \
- --hash=sha256:8bfaa0a28a1ab718bad6239979a5a57a8d1506d0caf2fba17e524dbb409441cf \
- --hash=sha256:bbcc4452a1eb10cd5217318c822fde4be279c9de8567f78bad24c773c21254f8 \
- --hash=sha256:cb36deafe6e2bce3b286e5d1f3e1c246e0ccdb8808ddb4550bb2792f2df298f2 \
- --hash=sha256:cf831615cc16ba324240de79d925eacae8265b7691412ac6b24221db157f6bd1 \
- --hash=sha256:dcdeb41c22ff3c66eef5e63049abf7639e0db4edee57ba70531fc1b6b133185d \
- --hash=sha256:dea103a1afcbc333bc0e992e64233d360d393d1e63d0bc88554f572365664348 \
- --hash=sha256:ef214b90556bb46a485b7da8258e59204c244b1b5b576fb71848819b468c44a7 \
- --hash=sha256:f3482abf0f9815e7246d461fab597aa179b7524628a4bc36f86a7dc418d2608d \
- --hash=sha256:f46386c24a65383a9081d68e9c2de909b1834ec74ff3013271f1bca9c2d233eb \
- --hash=sha256:f4b3824920e206b4f52abd7de621ea7a44fd3cb5c8daceb7c3612345dfc54f2e
+pynacl==1.6.2 \
+ --hash=sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c \
+ --hash=sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574 \
+ --hash=sha256:22de65bb9010a725b0dac248f353bb072969c94fa8d6b1f34b87d7953cf7bbe4 \
+ --hash=sha256:26bfcd00dcf2cf160f122186af731ae30ab120c18e8375684ec2670dccd28130 \
+ --hash=sha256:2fef529ef3ee487ad8113d287a593fa26f48ee3620d92ecc6f1d09ea38e0709b \
+ --hash=sha256:320ef68a41c87547c91a8b58903c9caa641ab01e8512ce291085b5fe2fcb7590 \
+ --hash=sha256:3bffb6d0f6becacb6526f8f42adfb5efb26337056ee0831fb9a7044d1a964444 \
+ --hash=sha256:44081faff368d6c5553ccf55322ef2819abb40e25afaec7e740f159f74813634 \
+ --hash=sha256:46065496ab748469cdd999246d17e301b2c24ae2fdf739132e580a0e94c94a87 \
+ --hash=sha256:5811c72b473b2f38f7e2a3dc4f8642e3a3e9b5e7317266e4ced1fba85cae41aa \
+ --hash=sha256:622d7b07cc5c02c666795792931b50c91f3ce3c2649762efb1ef0d5684c81594 \
+ --hash=sha256:62985f233210dee6548c223301b6c25440852e13d59a8b81490203c3227c5ba0 \
+ --hash=sha256:68be3a09455743ff9505491220b64440ced8973fe930f270c8e07ccfa25b1f9e \
+ --hash=sha256:834a43af110f743a754448463e8fd61259cd4ab5bbedcf70f9dabad1d28a394c \
+ --hash=sha256:8845c0631c0be43abdd865511c41eab235e0be69c81dc66a50911594198679b0 \
+ --hash=sha256:8a66d6fb6ae7661c58995f9c6435bda2b1e68b54b598a6a10247bfcdadac996c \
+ --hash=sha256:8b097553b380236d51ed11356c953bf8ce36a29a3e596e934ecabe76c985a577 \
+ --hash=sha256:a84bf1c20339d06dc0c85d9aea9637a24f718f375d861b2668b2f9f96fa51145 \
+ --hash=sha256:a9f9932d8d2811ce1a8ffa79dcbdf3970e7355b5c8eb0c1a881a57e7f7d96e88 \
+ --hash=sha256:bc4a36b28dd72fb4845e5d8f9760610588a96d5a51f01d84d8c6ff9849968c14 \
+ --hash=sha256:c8a231e36ec2cab018c4ad4358c386e36eede0319a0c41fed24f840b1dac59f6 \
+ --hash=sha256:c949ea47e4206af7c8f604b8278093b674f7c79ed0d4719cc836902bf4517465 \
+ --hash=sha256:d071c6a9a4c94d79eb665db4ce5cedc537faf74f2355e4d502591d850d3913c0 \
+ --hash=sha256:d29bfe37e20e015a7d8b23cfc8bd6aa7909c92a1b8f41ee416bbb3e79ef182b2 \
+ --hash=sha256:fe9847ca47d287af41e82be1dd5e23023d3c31a951da134121ab02e42ac218c9
# via paramiko
-pypdf==6.4.0 \
- --hash=sha256:4769d471f8ddc3341193ecc5d6560fa44cf8cd0abfabf21af4e195cc0c224072 \
- --hash=sha256:55ab9837ed97fd7fcc5c131d52fcc2223bc5c6b8a1488bbf7c0e27f1f0023a79
+pypdf==6.9.1 \
+ --hash=sha256:ae052407d33d34de0c86c5c729be6d51010bf36e03035a8f23ab449bca52377d \
+ --hash=sha256:f35a6a022348fae47e092a908339a8f3dc993510c026bb39a96718fc7185e89f
# via -r src/backend/requirements.in
pyphen==0.17.2 \
--hash=sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd \
@@ -1494,13 +1496,13 @@ python-dateutil==2.9.0.post0 \
# botocore
# django-recurrence
# icalendar
-python-dotenv==1.2.1 \
- --hash=sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6 \
- --hash=sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61
+python-dotenv==1.2.2 \
+ --hash=sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a \
+ --hash=sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3
# via -r src/backend/requirements.in
-python-fsutil==0.15.0 \
- --hash=sha256:8ae31def522916e35caf67723b8526fe6e5fcc1e160ea2dc23c845567708ca6e \
- --hash=sha256:b51d8ab7ee218314480ea251fff7fef513be4fbccfe72a5af4ff2954f8a4a2c4
+python-fsutil==0.16.0 \
+ --hash=sha256:a60e16bad77e3f00c3dca95433209c823bc45e0ae4158e52969002f3c7957a18 \
+ --hash=sha256:dc957a3541215baa935f66f6f15ceb9a8b7f803919c3d99fa57c818fc545f288
# via django-maintenance-mode
python-ipware==3.0.0 \
--hash=sha256:9117b1c4dddcb5d5ca49e6a9617de2fc66aec2ef35394563ac4eecabdf58c062 \
@@ -1684,9 +1686,9 @@ rapidfuzz==3.14.3 \
--hash=sha256:fa7c8f26f009f8c673fbfb443792f0cf8cf50c4e18121ff1e285b5e08a94fbdb \
--hash=sha256:fce3152f94afcfd12f3dd8cf51e48fa606e3cb56719bccebe3b401f43d0714f9
# via -r src/backend/requirements.in
-redis==7.0.1 \
- --hash=sha256:4977af3c7d67f8f0eb8b6fec0dafc9605db9343142f634041fb0235f67c0588a \
- --hash=sha256:c949df947dca995dc68fdf5a7863950bf6df24f8d6022394585acc98e81624f1
+redis==7.3.0 \
+ --hash=sha256:4d1b768aafcf41b01022410b3cc4f15a07d9b3d6fe0c66fc967da2c88e551034 \
+ --hash=sha256:9d4fcb002a12a5e3c3fbe005d59c48a2cc231f87fbb2f6b70c2d89bb64fec364
# via django-redis
referencing==0.37.0 \
--hash=sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231 \
@@ -1702,141 +1704,139 @@ requests==2.32.5 \
# django-anymail
# django-oauth-toolkit
# opentelemetry-exporter-otlp-proto-http
-rpds-py==0.28.0 \
- --hash=sha256:03065002fd2e287725d95fbc69688e0c6daf6c6314ba38bdbaa3895418e09296 \
- --hash=sha256:04c1b207ab8b581108801528d59ad80aa83bb170b35b0ddffb29c20e411acdc1 \
- --hash=sha256:05cf1e74900e8da73fa08cc76c74a03345e5a3e37691d07cfe2092d7d8e27b04 \
- --hash=sha256:0a403460c9dd91a7f23fc3188de6d8977f1d9603a351d5db6cf20aaea95b538d \
- --hash=sha256:0cb7203c7bc69d7c1585ebb33a2e6074492d2fc21ad28a7b9d40457ac2a51ab7 \
- --hash=sha256:0d3259ea9ad8743a75a43eb7819324cdab393263c91be86e2d1901ee65c314e0 \
- --hash=sha256:1571ae4292649100d743b26d5f9c63503bb1fedf538a8f29a98dce2d5ba6b4e6 \
- --hash=sha256:1a4c6b05c685c0c03f80dabaeb73e74218c49deea965ca63f76a752807397207 \
- --hash=sha256:1e8ee6413cfc677ce8898d9cde18cc3a60fc2ba756b0dec5b71eb6eb21c49fa1 \
- --hash=sha256:1f0cfd1c69e2d14f8c892b893997fa9a60d890a0c8a603e88dca4955f26d1edd \
- --hash=sha256:23690b5827e643150cf7b49569679ec13fe9a610a15949ed48b85eb7f98f34ec \
- --hash=sha256:2374e16cc9131022e7d9a8f8d65d261d9ba55048c78f3b6e017971a4f5e6353c \
- --hash=sha256:24743a7b372e9a76171f6b69c01aedf927e8ac3e16c474d9fe20d552a8cb45c7 \
- --hash=sha256:25dbade8fbf30bcc551cb352376c0ad64b067e4fc56f90e22ba70c3ce205988c \
- --hash=sha256:28ea02215f262b6d078daec0b45344c89e161eab9526b0d898221d96fdda5f27 \
- --hash=sha256:2e42456917b6687215b3e606ab46aa6bca040c77af7df9a08a6dcfe8a4d10ca5 \
- --hash=sha256:2e8456b6ee5527112ff2354dd9087b030e3429e43a74f480d4a5ca79d269fd85 \
- --hash=sha256:3114f4db69ac5a1f32e7e4d1cbbe7c8f9cf8217f78e6e002cedf2d54c2a548ed \
- --hash=sha256:31eb671150b9c62409a888850aaa8e6533635704fe2b78335f9aaf7ff81eec4d \
- --hash=sha256:389c29045ee8bbb1627ea190b4976a310a295559eaf9f1464a1a6f2bf84dde78 \
- --hash=sha256:3aa4dc0fdab4a7029ac63959a3ccf4ed605fee048ba67ce89ca3168da34a1342 \
- --hash=sha256:3c03002f54cc855860bfdc3442928ffdca9081e73b5b382ed0b9e8efe6e5e205 \
- --hash=sha256:46959ef2e64f9e4a41fc89aa20dbca2b85531f9a72c21099a3360f35d10b0d5a \
- --hash=sha256:48b55c1f64482f7d8bd39942f376bfdf2f6aec637ee8c805b5041e14eeb771db \
- --hash=sha256:4b0cb8a906b1a0196b863d460c0222fb8ad0f34041568da5620f9799b83ccf0b \
- --hash=sha256:4c6c4db5d73d179746951486df97fd25e92396be07fc29ee8ff9a8f5afbdfb27 \
- --hash=sha256:4e27d3a5709cc2b3e013bf93679a849213c79ae0573f9b894b284b55e729e120 \
- --hash=sha256:4fe0438ac4a29a520ea94c8c7f1754cdd8feb1bc490dfda1bfd990072363d527 \
- --hash=sha256:5338742f6ba7a51012ea470bd4dc600a8c713c0c72adaa0977a1b1f4327d6592 \
- --hash=sha256:5a7306c19b19005ad98468fcefeb7100b19c79fc23a5f24a12e06d91181193fa \
- --hash=sha256:5ae8ee156d6b586e4292491e885d41483136ab994e719a13458055bec14cf370 \
- --hash=sha256:5b43c6a3726efd50f18d8120ec0551241c38785b68952d240c45ea553912ac41 \
- --hash=sha256:5cfa9af45e7c1140af7321fa0bef25b386ee9faa8928c80dc3a5360971a29e8c \
- --hash=sha256:5d0145edba8abd3db0ab22b5300c99dc152f5c9021fab861be0f0544dc3cbc5f \
- --hash=sha256:5d3fd16b6dc89c73a4da0b4ac8b12a7ecc75b2864b95c9e5afed8003cb50a728 \
- --hash=sha256:5ee514e0f0523db5d3fb171f397c54875dbbd69760a414dccf9d4d7ad628b5bd \
- --hash=sha256:5f3fa06d27fdcee47f07a39e02862da0100cb4982508f5ead53ec533cd5fe55e \
- --hash=sha256:66e6fa8e075b58946e76a78e69e1a124a21d9a48a5b4766d15ba5b06869d1fa1 \
- --hash=sha256:6796079e5d24fdaba6d49bda28e2c47347e89834678f2bc2c1b4fc1489c0fb01 \
- --hash=sha256:6897bebb118c44b38c9cb62a178e09f1593c949391b9a1a6fe777ccab5934ee7 \
- --hash=sha256:6aa1bfce3f83baf00d9c5fcdbba93a3ab79958b4c7d7d1f55e7fe68c20e63912 \
- --hash=sha256:6b4f28583a4f247ff60cd7bdda83db8c3f5b05a7a82ff20dd4b078571747708f \
- --hash=sha256:6e32dd207e2c4f8475257a3540ab8a93eff997abfa0a3fdb287cae0d6cd874b8 \
- --hash=sha256:6f0c9266c26580e7243ad0d72fc3e01d6b33866cfab5084a6da7576bcf1c4f72 \
- --hash=sha256:735f8495a13159ce6a0d533f01e8674cec0c57038c920495f87dcb20b3ddb48a \
- --hash=sha256:76500820c2af232435cbe215e3324c75b950a027134e044423f59f5b9a1ba515 \
- --hash=sha256:7a4e59c90d9c27c561eb3160323634a9ff50b04e4f7820600a2beb0ac90db578 \
- --hash=sha256:7a52a5169c664dfb495882adc75c304ae1d50df552fbd68e100fdc719dee4ff9 \
- --hash=sha256:7a69df082db13c7070f7b8b1f155fa9e687f1d6aefb7b0e3f7231653b79a067b \
- --hash=sha256:7b0f9dceb221792b3ee6acb5438eb1f02b0cb2c247796a72b016dcc92c6de829 \
- --hash=sha256:7b14b0c680286958817c22d76fcbca4800ddacef6f678f3a7c79a1fe7067fe37 \
- --hash=sha256:7b6013db815417eeb56b2d9d7324e64fcd4fa289caeee6e7a78b2e11fc9b438a \
- --hash=sha256:7b7d9d83c942855e4fdcfa75d4f96f6b9e272d42fffcb72cd4bb2577db2e2907 \
- --hash=sha256:8014045a15b4d2b3476f0a287fcc93d4f823472d7d1308d47884ecac9e612be3 \
- --hash=sha256:8455933b4bcd6e83fde3fefc987a023389c4b13f9a58c8d23e4b3f6d13f78c84 \
- --hash=sha256:85beb8b3f45e4e32f6802fb6cd6b17f615ef6c6a52f265371fb916fae02814aa \
- --hash=sha256:8a358a32dd3ae50e933347889b6af9a1bdf207ba5d1a3f34e1a38cd3540e6733 \
- --hash=sha256:8aa23b6f0fc59b85b4c7d89ba2965af274346f738e8d9fc2455763602e62fd5f \
- --hash=sha256:8d252db6b1a78d0a3928b6190156042d54c93660ce4d98290d7b16b5296fb7cc \
- --hash=sha256:8f60c7ea34e78c199acd0d3cda37a99be2c861dd2b8cf67399784f70c9f8e57d \
- --hash=sha256:961ca621ff10d198bbe6ba4957decca61aa2a0c56695384c1d6b79bf61436df5 \
- --hash=sha256:9a5690671cd672a45aa8616d7374fdf334a1b9c04a0cac3c854b1136e92374fe \
- --hash=sha256:9a7548b345f66f6695943b4ef6afe33ccd3f1b638bd9afd0f730dd255c249c9e \
- --hash=sha256:9f1d92ecea4fa12f978a367c32a5375a1982834649cdb96539dcdc12e609ab1a \
- --hash=sha256:a2036d09b363aa36695d1cc1a97b36865597f4478470b0697b5ee9403f4fe399 \
- --hash=sha256:a3b695a8fa799dd2cfdb4804b37096c5f6dba1ac7f48a7fbf6d0485bcd060316 \
- --hash=sha256:a410542d61fc54710f750d3764380b53bf09e8c4edbf2f9141a82aa774a04f7c \
- --hash=sha256:a6fe887c2c5c59413353b7c0caff25d0e566623501ccfff88957fa438a69377d \
- --hash=sha256:a805e9b3973f7e27f7cab63a6b4f61d90f2e5557cff73b6e97cd5b8540276d3d \
- --hash=sha256:abd4df20485a0983e2ca334a216249b6186d6e3c1627e106651943dbdb791aea \
- --hash=sha256:ac9f83e7b326a3f9ec3ef84cda98fb0a74c7159f33e692032233046e7fd15da2 \
- --hash=sha256:acbe5e8b1026c0c580d0321c8aae4b0a1e1676861d48d6e8c6586625055b606a \
- --hash=sha256:ad50614a02c8c2962feebe6012b52f9802deec4263946cddea37aaf28dd25a66 \
- --hash=sha256:ada7754a10faacd4f26067e62de52d6af93b6d9542f0df73c57b9771eb3ba9c4 \
- --hash=sha256:adc8aa88486857d2b35d75f0640b949759f79dc105f50aa2c27816b2e0dd749f \
- --hash=sha256:b1b553dd06e875249fd43efd727785efb57a53180e0fde321468222eabbeaafa \
- --hash=sha256:b1cde22f2c30ebb049a9e74c5374994157b9b70a16147d332f89c99c5960737a \
- --hash=sha256:b3072b16904d0b5572a15eb9d31c1954e0d3227a585fc1351aa9878729099d6c \
- --hash=sha256:b670c30fd87a6aec281c3c9896d3bae4b205fd75d79d06dc87c2503717e46092 \
- --hash=sha256:b8e1e9be4fa6305a16be628959188e4fd5cd6f1b0e724d63c6d8b2a8adf74ea6 \
- --hash=sha256:b9699fa7990368b22032baf2b2dce1f634388e4ffc03dfefaaac79f4695edc95 \
- --hash=sha256:b9b06fe1a75e05e0713f06ea0c89ecb6452210fd60e2f1b6ddc1067b990e08d9 \
- --hash=sha256:bbdc5640900a7dbf9dd707fe6388972f5bbd883633eb68b76591044cfe346f7e \
- --hash=sha256:bcf1d210dfee61a6c86551d67ee1031899c0fdbae88b2d44a569995d43797712 \
- --hash=sha256:bd3bbba5def70b16cd1c1d7255666aad3b290fbf8d0fe7f9f91abafb73611a91 \
- --hash=sha256:beb880a9ca0a117415f241f66d56025c02037f7c4efc6fe59b5b8454f1eaa50d \
- --hash=sha256:c2a34fd26588949e1e7977cfcbb17a9a42c948c100cab890c6d8d823f0586457 \
- --hash=sha256:c9a40040aa388b037eb39416710fbcce9443498d2eaab0b9b45ae988b53f5c67 \
- --hash=sha256:cf128350d384b777da0e68796afdcebc2e9f63f0e9f242217754e647f6d32491 \
- --hash=sha256:cf681ac76a60b667106141e11a92a3330890257e6f559ca995fbb5265160b56e \
- --hash=sha256:d15431e334fba488b081d47f30f091e5d03c18527c325386091f31718952fe08 \
- --hash=sha256:d2412be8d00a1b895f8ad827cc2116455196e20ed994bb704bf138fe91a42724 \
- --hash=sha256:d61b355c3275acb825f8777d6c4505f42b5007e357af500939d4a35b19177259 \
- --hash=sha256:d678e91b610c29c4b3d52a2c148b641df2b4676ffe47c59f6388d58b99cdc424 \
- --hash=sha256:d7366b6553cdc805abcc512b849a519167db8f5e5c3472010cd1228b224265cb \
- --hash=sha256:dcdcb890b3ada98a03f9f2bb108489cdc7580176cb73b4f2d789e9a1dac1d472 \
- --hash=sha256:dd8d86b5d29d1b74100982424ba53e56033dc47720a6de9ba0259cf81d7cecaa \
- --hash=sha256:e0a0311caedc8069d68fc2bf4c9019b58a2d5ce3cd7cb656c845f1615b577e1e \
- --hash=sha256:e1460ebde1bcf6d496d80b191d854adedcc619f84ff17dc1c6d550f58c9efbba \
- --hash=sha256:e3eb248f2feba84c692579257a043a7699e28a77d86c77b032c1d9fbb3f0219c \
- --hash=sha256:e5bbc701eff140ba0e872691d573b3d5d30059ea26e5785acba9132d10c8c31d \
- --hash=sha256:e5d9b86aa501fed9862a443c5c3116f6ead8bc9296185f369277c42542bd646b \
- --hash=sha256:e5deca01b271492553fdb6c7fd974659dce736a15bae5dad7ab8b93555bceb28 \
- --hash=sha256:e80848a71c78aa328fefaba9c244d588a342c8e03bda518447b624ea64d1ff56 \
- --hash=sha256:e819e0e37a44a78e1383bf1970076e2ccc4dc8c2bbaa2f9bd1dc987e9afff628 \
- --hash=sha256:e9e184408a0297086f880556b6168fa927d677716f83d3472ea333b42171ee3b \
- --hash=sha256:edd267266a9b0448f33dc465a97cfc5d467594b600fe28e7fa2f36450e03053a \
- --hash=sha256:efd489fec7c311dae25e94fe7eeda4b3d06be71c68f2cf2e8ef990ffcd2cd7e8 \
- --hash=sha256:f0b2044fdddeea5b05df832e50d2a06fe61023acb44d76978e1b060206a8a476 \
- --hash=sha256:f274f56a926ba2dc02976ca5b11c32855cbd5925534e57cfe1fda64e04d1add2 \
- --hash=sha256:f296ea3054e11fc58ad42e850e8b75c62d9a93a9f981ad04b2e5ae7d2186ff9c \
- --hash=sha256:f4794c6c3fbe8f9ac87699b131a1f26e7b4abcf6d828da46a3a52648c7930eba \
- --hash=sha256:f586db2e209d54fe177e58e0bc4946bea5fb0102f150b1b2f13de03e1f0976f8 \
- --hash=sha256:f5e7101145427087e493b9c9b959da68d357c28c562792300dd21a095118ed16 \
- --hash=sha256:f9174471d6920cbc5e82a7822de8dfd4dcea86eb828b04fc8c6519a77b0ee51e
+rpds-py==0.30.0 \
+ --hash=sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f \
+ --hash=sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136 \
+ --hash=sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 \
+ --hash=sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7 \
+ --hash=sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65 \
+ --hash=sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4 \
+ --hash=sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 \
+ --hash=sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf \
+ --hash=sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4 \
+ --hash=sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2 \
+ --hash=sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c \
+ --hash=sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4 \
+ --hash=sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3 \
+ --hash=sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6 \
+ --hash=sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7 \
+ --hash=sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89 \
+ --hash=sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85 \
+ --hash=sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6 \
+ --hash=sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa \
+ --hash=sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb \
+ --hash=sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6 \
+ --hash=sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87 \
+ --hash=sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856 \
+ --hash=sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4 \
+ --hash=sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f \
+ --hash=sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53 \
+ --hash=sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229 \
+ --hash=sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad \
+ --hash=sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23 \
+ --hash=sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db \
+ --hash=sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038 \
+ --hash=sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27 \
+ --hash=sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 \
+ --hash=sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18 \
+ --hash=sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083 \
+ --hash=sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c \
+ --hash=sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738 \
+ --hash=sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898 \
+ --hash=sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e \
+ --hash=sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7 \
+ --hash=sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08 \
+ --hash=sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6 \
+ --hash=sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551 \
+ --hash=sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e \
+ --hash=sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288 \
+ --hash=sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df \
+ --hash=sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0 \
+ --hash=sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2 \
+ --hash=sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05 \
+ --hash=sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0 \
+ --hash=sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464 \
+ --hash=sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5 \
+ --hash=sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404 \
+ --hash=sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7 \
+ --hash=sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139 \
+ --hash=sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394 \
+ --hash=sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb \
+ --hash=sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15 \
+ --hash=sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff \
+ --hash=sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed \
+ --hash=sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6 \
+ --hash=sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e \
+ --hash=sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95 \
+ --hash=sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d \
+ --hash=sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950 \
+ --hash=sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3 \
+ --hash=sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5 \
+ --hash=sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97 \
+ --hash=sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e \
+ --hash=sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e \
+ --hash=sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b \
+ --hash=sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd \
+ --hash=sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad \
+ --hash=sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8 \
+ --hash=sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425 \
+ --hash=sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221 \
+ --hash=sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d \
+ --hash=sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825 \
+ --hash=sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51 \
+ --hash=sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e \
+ --hash=sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f \
+ --hash=sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8 \
+ --hash=sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f \
+ --hash=sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d \
+ --hash=sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07 \
+ --hash=sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877 \
+ --hash=sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31 \
+ --hash=sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58 \
+ --hash=sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94 \
+ --hash=sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28 \
+ --hash=sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000 \
+ --hash=sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1 \
+ --hash=sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1 \
+ --hash=sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7 \
+ --hash=sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7 \
+ --hash=sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40 \
+ --hash=sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d \
+ --hash=sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0 \
+ --hash=sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84 \
+ --hash=sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f \
+ --hash=sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a \
+ --hash=sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7 \
+ --hash=sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419 \
+ --hash=sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8 \
+ --hash=sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a \
+ --hash=sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9 \
+ --hash=sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be \
+ --hash=sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed \
+ --hash=sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a \
+ --hash=sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d \
+ --hash=sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324 \
+ --hash=sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f \
+ --hash=sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2 \
+ --hash=sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f \
+ --hash=sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5
# via
# jsonschema
# referencing
-s3transfer==0.14.0 \
- --hash=sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456 \
- --hash=sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125
+s3transfer==0.16.0 \
+ --hash=sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe \
+ --hash=sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920
# via boto3
-sentry-sdk==2.47.0 \
- --hash=sha256:8218891d5e41b4ea8d61d2aed62ed10c80e39d9f2959d6f939efbf056857e050 \
- --hash=sha256:d72f8c61025b7d1d9e52510d03a6247b280094a327dd900d987717a4fce93412
+sentry-sdk==2.54.0 \
+ --hash=sha256:2620c2575128d009b11b20f7feb81e4e4e8ae08ec1d36cbc845705060b45cc1b \
+ --hash=sha256:fd74e0e281dcda63afff095d23ebcd6e97006102cdc8e78a29f19ecdf796a0de
# via
# -r src/backend/requirements.in
# django-q-sentry
-setuptools==80.9.0 \
- --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \
- --hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
- # via
- # -r src/backend/requirements.in
- # django-money
+setuptools==82.0.0 \
+ --hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
+ --hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
+ # via -r src/backend/requirements.in
sgmllib3k==1.0.0 \
--hash=sha256:7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9
# via feedparser
@@ -1844,9 +1844,9 @@ six==1.17.0 \
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
# via python-dateutil
-sqlparse==0.5.3 \
- --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \
- --hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca
+sqlparse==0.5.5 \
+ --hash=sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba \
+ --hash=sha256:e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e
# via
# django
# django-sql-utils
@@ -1865,9 +1865,9 @@ tinycss2==1.4.0 \
# bleach
# cssselect2
# weasyprint
-tinyhtml5==2.0.0 \
- --hash=sha256:086f998833da24c300c414d9fe81d9b368fd04cb9d2596a008421cbc705fcfcc \
- --hash=sha256:13683277c5b176d070f82d099d977194b7a1e26815b016114f581a74bbfbf47e
+tinyhtml5==2.1.0 \
+ --hash=sha256:60a50ec3d938a37e491efa01af895853060943dcebb5627de5b10d188b338a67 \
+ --hash=sha256:6e11cfff38515834268daf89d5f85bbde0b6dd02e8d9e212d1385c2289b89f0a
# via weasyprint
typing-extensions==4.15.0 \
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
@@ -1877,6 +1877,7 @@ typing-extensions==4.15.0 \
# flexcache
# flexparser
# grpcio
+ # icalendar
# jwcrypto
# opentelemetry-api
# opentelemetry-exporter-otlp-proto-grpc
@@ -1886,26 +1887,26 @@ typing-extensions==4.15.0 \
# pint
# py-moneyed
# referencing
-tzdata==2025.2 \
- --hash=sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8 \
- --hash=sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9
+tzdata==2025.3 \
+ --hash=sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1 \
+ --hash=sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7
# via icalendar
uritemplate==4.2.0 \
--hash=sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e \
--hash=sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686
# via drf-spectacular
-urllib3==2.6.0 \
- --hash=sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f \
- --hash=sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1
+urllib3==2.6.3 \
+ --hash=sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed \
+ --hash=sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4
# via
# botocore
# django-anymail
# dulwich
# requests
# sentry-sdk
-wcwidth==0.2.14 \
- --hash=sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605 \
- --hash=sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1
+wcwidth==0.6.0 \
+ --hash=sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad \
+ --hash=sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159
# via
# blessed
# prettytable
@@ -1921,9 +1922,9 @@ webencodings==0.5.1 \
# cssselect2
# tinycss2
# tinyhtml5
-whitenoise==6.11.0 \
- --hash=sha256:0f5bfce6061ae6611cd9396a8231e088722e4fc67bc13a111be74c738d99375f \
- --hash=sha256:b2aeb45950597236f53b5342b3121c5de69c8da0109362aee506ce88e022d258
+whitenoise==6.12.0 \
+ --hash=sha256:f723ebb76a112e98816ff80fcea0a6c9b8ecde835f8ddda25df7a30a3c2db6ad \
+ --hash=sha256:fc5e8c572e33ebf24795b47b6a7da8da3c00cff2349f5b04c02f28d0cc5a3cc2
# via -r src/backend/requirements.in
wrapt==1.17.3 \
--hash=sha256:02b551d101f31694fc785e58e0720ef7d9a10c4e62c1c9358ce6f63f23e30a56 \
@@ -2021,114 +2022,59 @@ xlwt==1.3.0 \
# via tablib
xmlsec==1.3.17 \
--hash=sha256:00d43d4f68ac6b11f6e1e69bcb389495f54da77bf1168b4de08f4a7785e47bbb \
- --hash=sha256:00d43d4f68ac6b11f6e1e69bcb389495f54da77bf1168b4de08f4a7785e47bbb \
- --hash=sha256:040f28a7aacfdb467df46d423e4af05569e9376bc8c7f6416b0761e16a0e3d0b \
--hash=sha256:040f28a7aacfdb467df46d423e4af05569e9376bc8c7f6416b0761e16a0e3d0b \
--hash=sha256:1a0b9a1dcda547e0340eefa6f4a04b87dbd9e40cd514487f347934f94fd559ab \
- --hash=sha256:1a0b9a1dcda547e0340eefa6f4a04b87dbd9e40cd514487f347934f94fd559ab \
- --hash=sha256:26cc3d81437b51839946d2e93d09371dfd73ed2831dc7e37eff0fb52fc33747c \
--hash=sha256:26cc3d81437b51839946d2e93d09371dfd73ed2831dc7e37eff0fb52fc33747c \
--hash=sha256:2aa5081e1e05dcb6029660ddad795c7daebb3c5771001f60850ab24a16a9cf5e \
- --hash=sha256:2aa5081e1e05dcb6029660ddad795c7daebb3c5771001f60850ab24a16a9cf5e \
- --hash=sha256:320bf7162e2c442638233da9826af1476049999da1b474b5fe07c60952610131 \
--hash=sha256:320bf7162e2c442638233da9826af1476049999da1b474b5fe07c60952610131 \
--hash=sha256:393eb5cc6b8d6e67c04fd64979ec30d766b3d226550b208803cd410d4b416d91 \
- --hash=sha256:393eb5cc6b8d6e67c04fd64979ec30d766b3d226550b208803cd410d4b416d91 \
- --hash=sha256:3a53c14d4bc40b0f0fcc6d7908b88f3cbbcf36e25c392f796d88aee7dee5beea \
--hash=sha256:3a53c14d4bc40b0f0fcc6d7908b88f3cbbcf36e25c392f796d88aee7dee5beea \
--hash=sha256:3a6ced8c7744e896cb5a9fd0156d204df3143a62bae11be91cab8e9743d40eec \
- --hash=sha256:3a6ced8c7744e896cb5a9fd0156d204df3143a62bae11be91cab8e9743d40eec \
- --hash=sha256:3d1fc1fbe2e8585a3f468cf4154d0ec36cd95a15e68429ad8cc8ccd7c04e84ae \
--hash=sha256:3d1fc1fbe2e8585a3f468cf4154d0ec36cd95a15e68429ad8cc8ccd7c04e84ae \
--hash=sha256:40fcb197bdb76301c82b10096c67cc44a6e887317b5b914dbbd166339d36fce4 \
- --hash=sha256:40fcb197bdb76301c82b10096c67cc44a6e887317b5b914dbbd166339d36fce4 \
- --hash=sha256:46fc9c80e8898ad212b6ad389469bb82d1ab89b90555db42e3e73235b143739d \
--hash=sha256:46fc9c80e8898ad212b6ad389469bb82d1ab89b90555db42e3e73235b143739d \
--hash=sha256:4f2bf6bbf04f8a912483d268b4c2727d400d1806d054624da13bee4b9f6fa28a \
- --hash=sha256:4f2bf6bbf04f8a912483d268b4c2727d400d1806d054624da13bee4b9f6fa28a \
- --hash=sha256:5319d0bdaf9e597a0ba8dfb3840c4ae57e51f462e7620953f32b07df6267f2ba \
--hash=sha256:5319d0bdaf9e597a0ba8dfb3840c4ae57e51f462e7620953f32b07df6267f2ba \
--hash=sha256:5346616e1fe1015f7800698c15225c7902f45db199e217af2039a21989aff7e9 \
- --hash=sha256:5346616e1fe1015f7800698c15225c7902f45db199e217af2039a21989aff7e9 \
- --hash=sha256:5616ad5016794b0dd41d03eef5b721e31bb306353226b25fc88fedb7d4f7c37e \
--hash=sha256:5616ad5016794b0dd41d03eef5b721e31bb306353226b25fc88fedb7d4f7c37e \
--hash=sha256:593264c192d1836162d75478c8b1cb5874f3b69dcc5bdfac642a0933abefa93a \
- --hash=sha256:593264c192d1836162d75478c8b1cb5874f3b69dcc5bdfac642a0933abefa93a \
- --hash=sha256:5c3008b32a15d24b6c9da39bf6ede8dc3122570a640a73795d763aea55a2193e \
--hash=sha256:5c3008b32a15d24b6c9da39bf6ede8dc3122570a640a73795d763aea55a2193e \
--hash=sha256:5c6d4b2ece9d109591d08128a1656b458e24d9eba6c02c32e93573e14eee2447 \
- --hash=sha256:5c6d4b2ece9d109591d08128a1656b458e24d9eba6c02c32e93573e14eee2447 \
- --hash=sha256:5d0e69291f90b28e9442d8e0e69d3e06cede8a3c44e856413fd284de81ce2888 \
--hash=sha256:5d0e69291f90b28e9442d8e0e69d3e06cede8a3c44e856413fd284de81ce2888 \
--hash=sha256:64c1184d51c8a67e3d1eb3ac477e307a07e2b40fd03cd0c8084b147ea0f342db \
- --hash=sha256:64c1184d51c8a67e3d1eb3ac477e307a07e2b40fd03cd0c8084b147ea0f342db \
- --hash=sha256:66fe5aaccf68fb85fe0b64277e3f594d6b01ddefb98ef1ceb0a666652d6ec580 \
--hash=sha256:66fe5aaccf68fb85fe0b64277e3f594d6b01ddefb98ef1ceb0a666652d6ec580 \
--hash=sha256:672e41dc7962da4ce84b67aa1c3a008338e3b88332f5484b9911b91cee0997ed \
- --hash=sha256:672e41dc7962da4ce84b67aa1c3a008338e3b88332f5484b9911b91cee0997ed \
- --hash=sha256:67717fe5151df68987a1387cba11ba28ce19b3bb9a2d10d650277cd910e510e7 \
--hash=sha256:67717fe5151df68987a1387cba11ba28ce19b3bb9a2d10d650277cd910e510e7 \
--hash=sha256:6cbf8a556c74451a7455d506ce3edc81c7cd0f60895ef7792c77dc97434a8e82 \
- --hash=sha256:6cbf8a556c74451a7455d506ce3edc81c7cd0f60895ef7792c77dc97434a8e82 \
- --hash=sha256:6d1e9ff3398e87e3abb2ab8f1576c0761e5c5c18b086b41f2b39a3eb6b2f7e11 \
--hash=sha256:6d1e9ff3398e87e3abb2ab8f1576c0761e5c5c18b086b41f2b39a3eb6b2f7e11 \
--hash=sha256:728058a1623a620811a3cdf2dd4894b5d9413ede20c8ddddf98fdea5eafe9529 \
- --hash=sha256:728058a1623a620811a3cdf2dd4894b5d9413ede20c8ddddf98fdea5eafe9529 \
- --hash=sha256:72fc6d336dd68d62822c6536ff4b2453fda94ea652eddb4a958ac97b16ac7001 \
--hash=sha256:72fc6d336dd68d62822c6536ff4b2453fda94ea652eddb4a958ac97b16ac7001 \
--hash=sha256:79b471fdd1d3a92b80907828eaa809f6e34023583488b1b8dc3f951529e7a2f8 \
- --hash=sha256:79b471fdd1d3a92b80907828eaa809f6e34023583488b1b8dc3f951529e7a2f8 \
- --hash=sha256:7a9f7f7c9ded817f8476b5d6762a831034a8c54783f6175a928f61d57bec78cb \
--hash=sha256:7a9f7f7c9ded817f8476b5d6762a831034a8c54783f6175a928f61d57bec78cb \
--hash=sha256:80fff2251d0e73714435b5860ce200990dffe85466dd91d08d75c4d64ee9967d \
- --hash=sha256:80fff2251d0e73714435b5860ce200990dffe85466dd91d08d75c4d64ee9967d \
- --hash=sha256:9877303e8c72d7aa2467d1af12e56d67b8fb50d324eda5848e0ec5ee2176aac5 \
--hash=sha256:9877303e8c72d7aa2467d1af12e56d67b8fb50d324eda5848e0ec5ee2176aac5 \
--hash=sha256:99b5b4b6fe232f2234bcec2bdd533b7ab7030b3ce6cfb8bd7153bf02441c8520 \
- --hash=sha256:99b5b4b6fe232f2234bcec2bdd533b7ab7030b3ce6cfb8bd7153bf02441c8520 \
- --hash=sha256:9bb6faa4ae0268204cfa6b0c0de1c9121eb606eea8c66c7d7ce62e89a17f9efa \
--hash=sha256:9bb6faa4ae0268204cfa6b0c0de1c9121eb606eea8c66c7d7ce62e89a17f9efa \
--hash=sha256:a1ef656421d01851618d0fe5518e57469159c14a48e05125f7bd3225631952f9 \
- --hash=sha256:a1ef656421d01851618d0fe5518e57469159c14a48e05125f7bd3225631952f9 \
- --hash=sha256:a3961102a6ba8250670814bd1086139fb918e03bf146ef85dc8b6084a9b027d1 \
--hash=sha256:a3961102a6ba8250670814bd1086139fb918e03bf146ef85dc8b6084a9b027d1 \
--hash=sha256:a603584ceee175036e1bccdbe65d551c0fff67343fd506bfa6cec52bc64d9a75 \
- --hash=sha256:a603584ceee175036e1bccdbe65d551c0fff67343fd506bfa6cec52bc64d9a75 \
- --hash=sha256:abd585642d1fb169dd014e1037dcebe21d12a06e71b6d8f0e37650a81d57d1f1 \
--hash=sha256:abd585642d1fb169dd014e1037dcebe21d12a06e71b6d8f0e37650a81d57d1f1 \
--hash=sha256:ac68a6ac9c0e74f6f3e476f5ac2271b1df7b349a4021b6b2cdfe32cc8fa4beec \
- --hash=sha256:ac68a6ac9c0e74f6f3e476f5ac2271b1df7b349a4021b6b2cdfe32cc8fa4beec \
- --hash=sha256:ac92a5d0104640e0ff6fd9ef82441005e08fef460fccd790240d3e39abd69ad3 \
--hash=sha256:ac92a5d0104640e0ff6fd9ef82441005e08fef460fccd790240d3e39abd69ad3 \
--hash=sha256:ae88c3aaab5704adfdbce913b3a18db1eb96c49c970657cc01c0d1c420ffdec3 \
- --hash=sha256:ae88c3aaab5704adfdbce913b3a18db1eb96c49c970657cc01c0d1c420ffdec3 \
- --hash=sha256:b3f306f5aef47336b8299d8dbee31fa0b2eba4579f9f41396070f7a97d0dcd49 \
--hash=sha256:b3f306f5aef47336b8299d8dbee31fa0b2eba4579f9f41396070f7a97d0dcd49 \
--hash=sha256:b4be73fbde421d6188300e02ad92d2d5435c708a35ede8124ebdf6b00330d7cb \
- --hash=sha256:b4be73fbde421d6188300e02ad92d2d5435c708a35ede8124ebdf6b00330d7cb \
- --hash=sha256:bc8d0a75a43a45349b37186ecce5ae028325ede47cbc217802ff3ef4db3f3cb9 \
--hash=sha256:bc8d0a75a43a45349b37186ecce5ae028325ede47cbc217802ff3ef4db3f3cb9 \
--hash=sha256:c4533780d91f547b841f2522a419da9f2cee2f906dbd4aa58083bc944526a45c \
- --hash=sha256:c4533780d91f547b841f2522a419da9f2cee2f906dbd4aa58083bc944526a45c \
- --hash=sha256:d360d4adfb53d3adeca398c225cb7e2a73a2246414455937082a1fa19bd8572b \
--hash=sha256:d360d4adfb53d3adeca398c225cb7e2a73a2246414455937082a1fa19bd8572b \
--hash=sha256:d4a7ee007c6b55f7621330aee8330ef2dafa4225fce554064571ca826beafe7e \
- --hash=sha256:d4a7ee007c6b55f7621330aee8330ef2dafa4225fce554064571ca826beafe7e \
- --hash=sha256:d586bb09f146235f82de624ff05fbca76f8aadc627eb9a072df1899317a1a9eb \
--hash=sha256:d586bb09f146235f82de624ff05fbca76f8aadc627eb9a072df1899317a1a9eb \
--hash=sha256:d862f023f56a49c06576be41dfaf213c9ac77e7a344e7f204278c365bb36d00e \
- --hash=sha256:d862f023f56a49c06576be41dfaf213c9ac77e7a344e7f204278c365bb36d00e \
- --hash=sha256:df4a8d7fef3ffe90e572400d47392ea480120e339c292f802830ed09d449e622 \
--hash=sha256:df4a8d7fef3ffe90e572400d47392ea480120e339c292f802830ed09d449e622 \
--hash=sha256:e2bf1d07c4f97afeb957f626b8c3ebb8cef300efa0cb95599e936c69a66a1b17 \
- --hash=sha256:e2bf1d07c4f97afeb957f626b8c3ebb8cef300efa0cb95599e936c69a66a1b17 \
- --hash=sha256:ea2d65749c4c6a35a3ba138debda2f910713a9f4f06b4647510c184c284d7c62 \
--hash=sha256:ea2d65749c4c6a35a3ba138debda2f910713a9f4f06b4647510c184c284d7c62 \
--hash=sha256:ed63cbd87dd69ebcf3a9f82d87b67818c9a7d656325dd4fb34d6c4dfbaa84017 \
- --hash=sha256:ed63cbd87dd69ebcf3a9f82d87b67818c9a7d656325dd4fb34d6c4dfbaa84017 \
--hash=sha256:eee89c268a35f8a08a8e9abef6f466b97577e94f5cac8bf32c25e97cd5020097 \
- --hash=sha256:eee89c268a35f8a08a8e9abef6f466b97577e94f5cac8bf32c25e97cd5020097 \
- --hash=sha256:f3fac9ae679f66585925cc00c5f6839ae36c1d03157619571dee18acc05b9c01 \
--hash=sha256:f3fac9ae679f66585925cc00c5f6839ae36c1d03157619571dee18acc05b9c01
# via
# -r src/backend/requirements.in
@@ -2137,17 +2083,17 @@ zipp==3.23.0 \
--hash=sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e \
--hash=sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166
# via importlib-metadata
-zopfli==0.4.0 \
- --hash=sha256:03181d48e719fcb6cf8340189c61e8f9883d8bbbdf76bf5212a74457f7d083c1 \
- --hash=sha256:18b5f1570f64d4988482e4466f10ef5f2a30f687c19ad62a64560f2152dc89eb \
- --hash=sha256:25e4863b8dc30e5d5309f87c106b0b7d3da4ed0e340b8a52b36d4471e797589f \
- --hash=sha256:7d66337be6d5613dec55213e9ac28f378c41e2cc04fbad4a10748e4df774ca85 \
- --hash=sha256:9097e8e1dfdb7f5aea5464e469946857e80502b6d29ba1b232450916bd4a74d1 \
- --hash=sha256:a8ee992b2549e090cd3f0178bf606dd41a29e0613a04cdf5054224662c72dce6 \
- --hash=sha256:b72a010d205d00b2855acc2302772067362f9ab5a012e3550662aec60d28e6b3 \
- --hash=sha256:b8bdb41fbfdc4738b7bdc09ed7c1e951579fae192391a5e694d59bb186cdbec7 \
- --hash=sha256:c3ba02a9a6ca90481d2b2f68bab038b310d63a1e3b5ae305e95a6599787ed941 \
- --hash=sha256:d1b98ad47c434ef213444a03ef2f826eeec100144d64f6a57504b9893d3931ce \
- --hash=sha256:f67d04280065e24cb9a4174cb6b3d1f763687f8cb2963aa135ad8f57c6995f5a \
- --hash=sha256:f94e4dd7d76b4fe9f5d9229372be20d7f786164eea5152d1af1c34298c3d5975
+zopfli==0.4.1 \
+ --hash=sha256:02086247dd12fda929f9bfe8b3962b6bcdbfc8c82e99255aebcf367867cf0760 \
+ --hash=sha256:07a5cdc5d1aaa6c288c5d9f5a5383042ba743641abf8e2fd898dcad622d8a38e \
+ --hash=sha256:27823dc1161a4031d1c25925fd45d9868ec0cbc7692341830a7dcfa25063662c \
+ --hash=sha256:2f992ac7d83cbddd889e1813ace576cbc91a05d5d7a0a21b366e2e5f492e7707 \
+ --hash=sha256:4238d4d746d1095e29c9125490985e0c12ffd3654f54a24af551e2391e936d54 \
+ --hash=sha256:5a4c22b6161f47f5bd34637dbaee6735abd287cd64e0d1ce28ef1871bf625f4b \
+ --hash=sha256:84a31ba9edc921b1d3a4449929394a993888f32d70de3a3617800c428a947b9b \
+ --hash=sha256:a899eca405662a23ae75054affa3517a060362eae1185d3d791c86a50153c4dd \
+ --hash=sha256:a93c2ecafff372de6c0aa2212eff18a75f6c71a100372fee7b4b129cc0b6f9a7 \
+ --hash=sha256:cb136a74d14a4ecfae29cb0fdecece58a6c115abc9a74c12bc6ac62e80f229d7 \
+ --hash=sha256:d7bcee1b189d64ec33d1e05cfa1b6a1268c29329c382f6ca1bd6245b04925c57 \
+ --hash=sha256:fdfb7ce9f5de37a5b2f75dd2642fd7717956ef2a72e0387302a36d382440db07
# via fonttools
diff --git a/src/frontend/CHANGELOG.md b/src/frontend/CHANGELOG.md
index deec3c3251..c3c4341132 100644
--- a/src/frontend/CHANGELOG.md
+++ b/src/frontend/CHANGELOG.md
@@ -2,6 +2,20 @@
This file contains historical changelog information for the InvenTree UI components library.
+### 0.9.0 - March 2026
+
+Exposes the `useMonitorBackgroundTask` hook, which allows plugins to monitor the status of a background task and display notifications when the task is complete. This is useful for plugins that offload long-running tasks to the background and want to provide feedback to the user when the task is complete.
+
+Renames the `monitorDataOutput` hook to `useMonitorDataOutput` to better reflect the fact that this is a React hook, and to provide a more consistent naming convention for hooks in the library.
+
+### 0.8.2 - March 2026
+
+Bug fixes for the `monitorDataOutput` hook - https://github.com/inventree/InvenTree/pull/11458
+
+### 0.8.0 - March 2026
+
+Exposes the `monitorDataOutput` hook, which allows plugins to monitor the output of a long-running task and display notifications when the task is complete. This is useful for plugins that need to perform long-running tasks and want to provide feedback to the user when the task is complete.
+
### 0.7.0 - October 2025
Exposes stock adjustment forms to plugins, allowing plugins to adjust stock adjustments using the common InvenTree UI form components.
diff --git a/src/frontend/lib/enums/ApiEndpoints.tsx b/src/frontend/lib/enums/ApiEndpoints.tsx
index c46d50af71..e7adf3f0b8 100644
--- a/src/frontend/lib/enums/ApiEndpoints.tsx
+++ b/src/frontend/lib/enums/ApiEndpoints.tsx
@@ -20,6 +20,7 @@ export enum ApiEndpoints {
user_simple_login = 'email/generate/',
// User auth endpoints
+ auth_base = '/auth/',
user_reset = 'auth/v1/auth/password/request',
user_reset_set = 'auth/v1/auth/password/reset',
auth_pwd_change = 'auth/v1/account/password/change',
@@ -119,6 +120,7 @@ export enum ApiEndpoints {
part_pricing_internal = 'part/internal-price/',
part_pricing_sale = 'part/sale-price/',
part_stocktake_list = 'part/stocktake/',
+ part_stocktake_generate = 'part/stocktake/generate/',
category_list = 'part/category/',
category_tree = 'part/category/tree/',
category_parameter_list = 'part/category/parameters/',
@@ -242,5 +244,8 @@ export enum ApiEndpoints {
email_test = 'admin/email/test/',
config_list = 'admin/config/',
parameter_list = 'parameter/',
- parameter_template_list = 'parameter/template/'
+ parameter_template_list = 'parameter/template/',
+
+ // Internal system things
+ system_internal_trace_end = 'system-internal/observability/end'
}
diff --git a/src/frontend/lib/functions/Conversion.tsx b/src/frontend/lib/functions/Conversion.tsx
index dcc6409104..915f9b153b 100644
--- a/src/frontend/lib/functions/Conversion.tsx
+++ b/src/frontend/lib/functions/Conversion.tsx
@@ -29,6 +29,11 @@ export function isTrue(value: any): boolean {
* Allows for retrieval of nested items in an object.
*/
export function resolveItem(obj: any, path: string): any {
+ // Return the top-level object if no path is provided
+ if (path == null || path === '') {
+ return obj;
+ }
+
const properties = path.split('.');
return properties.reduce((prev, curr) => prev?.[curr], obj);
}
diff --git a/src/frontend/lib/hooks/MonitorBackgroundTask.tsx b/src/frontend/lib/hooks/MonitorBackgroundTask.tsx
new file mode 100644
index 0000000000..db130b6be4
--- /dev/null
+++ b/src/frontend/lib/hooks/MonitorBackgroundTask.tsx
@@ -0,0 +1,118 @@
+import { useDocumentVisibility } from '@mantine/hooks';
+import { notifications, showNotification } from '@mantine/notifications';
+import {
+ IconCircleCheck,
+ IconCircleX,
+ IconExclamationCircle
+} from '@tabler/icons-react';
+import { type QueryClient, useQuery } from '@tanstack/react-query';
+import type { AxiosInstance } from 'axios';
+import { useEffect, useState } from 'react';
+import { ApiEndpoints } from '../enums/ApiEndpoints';
+import { apiUrl } from '../functions/Api';
+
+export type MonitorBackgroundTaskProps = {
+ api: AxiosInstance;
+ queryClient?: QueryClient;
+ title?: string;
+ message: string;
+ errorMessage?: string;
+ successMessage?: string;
+ failureMessage?: string;
+ taskId?: string;
+ onSuccess?: () => void;
+ onFailure?: () => void;
+ onComplete?: () => void;
+ onError?: (error: Error) => void;
+};
+
+/**
+ * Hook for monitoring a background task running on the server
+ */
+export default function useMonitorBackgroundTask(
+ props: MonitorBackgroundTaskProps
+) {
+ const visibility = useDocumentVisibility();
+
+ const [tracking, setTracking] = useState(false);
+
+ useEffect(() => {
+ if (!!props.taskId) {
+ setTracking(true);
+ showNotification({
+ id: `background-task-${props.taskId}`,
+ title: props.title,
+ message: props.message,
+ loading: true,
+ autoClose: false,
+ withCloseButton: false
+ });
+ } else {
+ setTracking(false);
+ }
+ }, [props.taskId]);
+
+ useQuery(
+ {
+ enabled: !!props.taskId && tracking && visibility === 'visible',
+ refetchInterval: 500,
+ queryKey: ['background-task', props.taskId],
+ queryFn: () =>
+ props.api
+ .get(apiUrl(ApiEndpoints.task_overview, props.taskId))
+ .then((response) => {
+ const data = response?.data ?? {};
+
+ if (data.complete) {
+ setTracking(false);
+ props.onComplete?.();
+
+ notifications.update({
+ id: `background-task-${props.taskId}`,
+ title: props.title,
+ loading: false,
+ color: data.success ? 'green' : 'red',
+ message: response.data?.success
+ ? (props.successMessage ?? props.message)
+ : (props.failureMessage ?? props.message),
+ icon: response.data?.success ? (
+
+ ) : (
+
+ ),
+ autoClose: 1000,
+ withCloseButton: true
+ });
+
+ if (data.success) {
+ props.onSuccess?.();
+ } else {
+ props.onFailure?.();
+ }
+ }
+
+ return response;
+ })
+ .catch((error) => {
+ console.error(
+ `Error fetching background task status for task ${props.taskId}:`,
+ error
+ );
+ setTracking(false);
+ props.onError?.(error);
+
+ notifications.update({
+ id: `background-task-${props.taskId}`,
+ title: props.title,
+ loading: false,
+ color: 'red',
+ message: props.errorMessage ?? props.message,
+ icon: ,
+ autoClose: 5000,
+ withCloseButton: true
+ });
+ })
+ },
+ props.queryClient
+ );
+}
diff --git a/src/frontend/lib/hooks/MonitorDataOutput.tsx b/src/frontend/lib/hooks/MonitorDataOutput.tsx
new file mode 100644
index 0000000000..dd66758416
--- /dev/null
+++ b/src/frontend/lib/hooks/MonitorDataOutput.tsx
@@ -0,0 +1,124 @@
+import { t } from '@lingui/core/macro';
+import { useDocumentVisibility } from '@mantine/hooks';
+import { notifications, showNotification } from '@mantine/notifications';
+import { IconCircleCheck, IconExclamationCircle } from '@tabler/icons-react';
+import { type QueryClient, useQuery } from '@tanstack/react-query';
+import type { AxiosInstance } from 'axios';
+import { useEffect, useState } from 'react';
+import { ProgressBar } from '../components/ProgressBar';
+import { ApiEndpoints } from '../enums/ApiEndpoints';
+import { apiUrl } from '../functions/Api';
+
+export type MonitorDataOutputProps = {
+ api: AxiosInstance;
+ queryClient?: QueryClient;
+ title: string;
+ hostname?: string;
+ id?: number;
+};
+
+/**
+ * Hook for monitoring a data output process running on the server
+ */
+export default function useMonitorDataOutput(props: MonitorDataOutputProps) {
+ const visibility = useDocumentVisibility();
+
+ const [loading, setLoading] = useState(false);
+
+ useEffect(() => {
+ if (!!props.id) {
+ setLoading(true);
+ showNotification({
+ id: `data-output-${props.id}`,
+ title: props.title,
+ loading: true,
+ autoClose: false,
+ withCloseButton: false,
+ message:
+ });
+ } else setLoading(false);
+ }, [props.id, props.title]);
+
+ useQuery(
+ {
+ enabled: !!props.id && loading && visibility === 'visible',
+ refetchInterval: 500,
+ queryKey: ['data-output', props.id, props.title],
+ queryFn: () =>
+ props.api
+ .get(apiUrl(ApiEndpoints.data_output, props.id))
+ .then((response) => {
+ const data = response?.data ?? {};
+
+ if (!!data.errors || !!data.error) {
+ setLoading(false);
+
+ const error: string =
+ data?.error ?? data?.errors?.error ?? t`Process failed`;
+
+ notifications.update({
+ id: `data-output-${props.id}`,
+ loading: false,
+ icon: ,
+ autoClose: 2500,
+ title: props.title,
+ message: error,
+ color: 'red'
+ });
+ } else if (data.complete) {
+ setLoading(false);
+ notifications.update({
+ id: `data-output-${props.id}`,
+ loading: false,
+ autoClose: 2500,
+ title: props.title,
+ message: t`Process completed successfully`,
+ color: 'green',
+ icon:
+ });
+
+ if (data.output) {
+ const url = data.output;
+ const base = props.hostname ?? window.location.origin;
+
+ const downloadUrl = new URL(url, base);
+
+ window.open(downloadUrl.toString(), '_blank');
+ }
+ } else {
+ notifications.update({
+ id: `data-output-${props.id}`,
+ loading: true,
+ autoClose: false,
+ withCloseButton: false,
+ message: (
+ 0}
+ animated
+ />
+ )
+ });
+ }
+
+ return data;
+ })
+ .catch((error: Error) => {
+ console.error('Error in useMonitorDataOutput:', error);
+ setLoading(false);
+ notifications.update({
+ id: `data-output-${props.id}`,
+ loading: false,
+ autoClose: 2500,
+ title: props.title,
+ message: error.message || t`Process failed`,
+ color: 'red'
+ });
+ return {};
+ })
+ },
+ props.queryClient
+ );
+}
diff --git a/src/frontend/lib/index.ts b/src/frontend/lib/index.ts
index 17e7e20f36..f9812e6df7 100644
--- a/src/frontend/lib/index.ts
+++ b/src/frontend/lib/index.ts
@@ -71,3 +71,13 @@ export {
RowCancelAction,
RowActions
} from './components/RowActions';
+
+// Shared hooks
+export {
+ default as useMonitorDataOutput,
+ type MonitorDataOutputProps
+} from './hooks/MonitorDataOutput';
+export {
+ default as useMonitorBackgroundTask,
+ type MonitorBackgroundTaskProps
+} from './hooks/MonitorBackgroundTask';
diff --git a/src/frontend/lib/types/Auth.tsx b/src/frontend/lib/types/Auth.tsx
index 959b64e5fe..50990f7ddc 100644
--- a/src/frontend/lib/types/Auth.tsx
+++ b/src/frontend/lib/types/Auth.tsx
@@ -25,7 +25,8 @@ export enum FlowEnum {
MfaAuthenticate = 'mfa_authenticate',
Reauthenticate = 'reauthenticate',
MfaReauthenticate = 'mfa_reauthenticate',
- MfaTrust = 'mfa_trust'
+ MfaTrust = 'mfa_trust',
+ MfaRegister = 'mfa_register'
}
export interface Flow {
diff --git a/src/frontend/lib/types/Filters.tsx b/src/frontend/lib/types/Filters.tsx
index 1ef44a3a84..53d5a563ca 100644
--- a/src/frontend/lib/types/Filters.tsx
+++ b/src/frontend/lib/types/Filters.tsx
@@ -39,7 +39,7 @@ export type TableFilterType = 'boolean' | 'choice' | 'date' | 'text' | 'api';
*/
export type TableFilter = {
name: string;
- label: string;
+ label?: string;
description?: string;
type?: TableFilterType;
choices?: TableFilterChoice[];
diff --git a/src/frontend/lib/types/Forms.tsx b/src/frontend/lib/types/Forms.tsx
index f37a291921..1bc3dc62f3 100644
--- a/src/frontend/lib/types/Forms.tsx
+++ b/src/frontend/lib/types/Forms.tsx
@@ -111,6 +111,8 @@ export type ApiFormFieldType = {
read_only?: boolean;
placeholder?: string;
placeholderAutofill?: boolean;
+ placeholderWarningCompare?: string | number;
+ placeholderWarning?: string;
description?: string;
preFieldContent?: JSX.Element;
postFieldContent?: JSX.Element;
diff --git a/src/frontend/lib/types/Icons.tsx b/src/frontend/lib/types/Icons.tsx
index c06cb197c5..ea03bfba0c 100644
--- a/src/frontend/lib/types/Icons.tsx
+++ b/src/frontend/lib/types/Icons.tsx
@@ -1,8 +1,6 @@
-import type { Icon, IconProps } from '@tabler/icons-react';
+import type { IconCircle } from '@tabler/icons-react';
-export type TablerIconType = React.ForwardRefExoticComponent<
- Omit & React.RefAttributes
->;
+export type TablerIconType = typeof IconCircle;
export type InvenTreeIconType = {
[key: string]: TablerIconType;
diff --git a/src/frontend/lib/types/Settings.tsx b/src/frontend/lib/types/Settings.tsx
index 08b89a9f5f..46e1b10abe 100644
--- a/src/frontend/lib/types/Settings.tsx
+++ b/src/frontend/lib/types/Settings.tsx
@@ -34,6 +34,8 @@ export interface Setting {
method?: string;
required?: boolean;
read_only?: boolean;
+ confirm?: boolean;
+ confirm_text?: string;
}
export interface SettingChoice {
diff --git a/src/frontend/lib/types/Tables.tsx b/src/frontend/lib/types/Tables.tsx
index ba0675e285..99f02ce06d 100644
--- a/src/frontend/lib/types/Tables.tsx
+++ b/src/frontend/lib/types/Tables.tsx
@@ -99,6 +99,8 @@ export type TableState = {
* @param cellsStyle - The style of the cells in the column
* @param extra - Extra data to pass to the render function
* @param noContext - Disable context menu for this column
+ * @param copyable - Enable copy button on hover (uses accessor to get value, or custom function)
+ * @param copyAccessor - Custom accessor path for copy value (defaults to column accessor)
*/
export type TableColumnProps = {
accessor?: string;
@@ -123,6 +125,8 @@ export type TableColumnProps = {
extra?: any;
noContext?: boolean;
style?: MantineStyleProp;
+ copyable?: boolean | ((record: T) => string);
+ copyAccessor?: string;
};
/**
diff --git a/src/frontend/package.json b/src/frontend/package.json
index 1e6d57d0b3..229a2d350c 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -1,7 +1,7 @@
{
"name": "@inventreedb/ui",
"description": "UI components for the InvenTree project",
- "version": "0.7.0",
+ "version": "0.9.0",
"private": false,
"type": "module",
"license": "MIT",
@@ -40,14 +40,15 @@
"compile": "lingui compile --typescript"
},
"dependencies": {
- "@codemirror/autocomplete": "6.18.7",
- "@codemirror/lang-liquid": "6.3.0",
- "@codemirror/language": "6.11.3",
- "@codemirror/lint": "6.8.5",
- "@codemirror/search": "6.5.11",
- "@codemirror/state": "6.5.2",
- "@codemirror/theme-one-dark": "6.1.3",
- "@codemirror/view": "6.38.2",
+ "@codecov/vite-plugin": "^1.9.1",
+ "@codemirror/autocomplete": "^6.20.1",
+ "@codemirror/lang-liquid": "^6.3.2",
+ "@codemirror/language": "^6.12.2",
+ "@codemirror/lint": "^6.9.5",
+ "@codemirror/search": "^6.6.0",
+ "@codemirror/state": "^6.5.4",
+ "@codemirror/theme-one-dark": "^6.1.3",
+ "@codemirror/view": "6.39.16",
"@emotion/react": "^11.13.3",
"@fortawesome/fontawesome-svg-core": "^7.0.0",
"@fortawesome/free-regular-svg-icons": "^7.0.0",
@@ -58,8 +59,8 @@
"@fullcalendar/interaction": "^6.1.15",
"@fullcalendar/react": "^6.1.15",
"@github/webauthn-json": "^2.1.1",
- "@lingui/core": "^5.3.1",
- "@lingui/react": "^5.3.1",
+ "@lingui/core": "^5.9.2",
+ "@lingui/react": "^5.9.2",
"@mantine/carousel": "^8.2.7",
"@mantine/charts": "^8.2.7",
"@mantine/core": "^8.2.7",
@@ -72,14 +73,14 @@
"@mantine/spotlight": "^8.2.7",
"@mantine/vanilla-extract": "^8.2.7",
"@messageformat/date-skeleton": "^1.1.0",
- "@sentry/react": "^10.7.0",
+ "@sentry/react": "^10.43.0",
"@tabler/icons-react": "^3.17.0",
"@tanstack/react-query": "^5.56.2",
- "@uiw/codemirror-theme-vscode": "4.25.1",
- "@uiw/react-codemirror": "4.25.1",
+ "@uiw/codemirror-theme-vscode": "4.25.7",
+ "@uiw/react-codemirror": "^4.25.7",
"@uiw/react-split": "^5.9.3",
- "@vanilla-extract/css": "^1.17.1",
- "axios": "^1.8.4",
+ "@vanilla-extract/css": "^1.18.0",
+ "axios": "^1.13.6",
"clsx": "^2.1.1",
"codemirror": "6.0.2",
"dayjs": "^1.11.13",
@@ -91,11 +92,11 @@
"mantine-contextmenu": "^8.2.0",
"mantine-datatable": "^8.2.0",
"qrcode": "^1.5.4",
- "react": "^19.1.2",
- "react-dom": "^19.1.2",
+ "react": "^19.2.4",
+ "react-dom": "^19.2.4",
"react-grid-layout": "1.4.4",
"react-hook-form": "^7.62.0",
- "react-is": "^19.1.2",
+ "react-is": "^19.2.4",
"react-router-dom": "^6.26.2",
"react-select": "^5.9.0",
"react-simplemde-editor": "^5.2.0",
@@ -105,35 +106,37 @@
"zustand": "^5.0.8"
},
"devDependencies": {
- "@babel/core": "^7.26.10",
- "@babel/preset-react": "^7.26.3",
- "@babel/preset-typescript": "^7.27.0",
- "@babel/runtime": "^7.27.0",
- "@codecov/vite-plugin": "^1.9.0",
- "@lingui/babel-plugin-lingui-macro": "^5.3.1",
- "@lingui/cli": "^5.3.1",
- "@lingui/macro": "^5.3.1",
- "@playwright/test": "1.56.0",
- "@types/node": "^24.3.0",
+ "@babel/core": "^7.29.0",
+ "@babel/preset-react": "^7.28.5",
+ "@babel/preset-typescript": "^7.28.5",
+ "@babel/runtime": "^7.28.6",
+ "@lingui/babel-plugin-lingui-macro": "^5.9.2",
+ "@lingui/cli": "^5.9.2",
+ "@lingui/macro": "^5.9.2",
+ "@playwright/test": "^1.58.2",
+ "@types/node": "^25.5.0",
"@types/qrcode": "^1.5.5",
- "@types/react": "^19.1.10",
- "@types/react-dom": "^19.1.7",
+ "@types/react": "^19.2.14",
+ "@types/react-dom": "^19.2.3",
"@types/react-grid-layout": "^1.3.5",
"@types/react-router-dom": "^5.3.3",
"@types/react-window": "^1.8.8",
- "@vanilla-extract/vite-plugin": "^5.1.1",
- "@vitejs/plugin-react": "^5.0.2",
+ "@vanilla-extract/vite-plugin": "^5.1.4",
+ "@vitejs/plugin-react": "^5.2.0",
"babel-plugin-macros": "^3.1.0",
- "nyc": "^17.1.0",
+ "nyc": "^18.0.0",
"otpauth": "^9.4.1",
"path": "^0.12.7",
- "rollup": "^4.0.0",
- "rollup-plugin-license": "^3.5.3",
- "typescript": "^5.8.2",
+ "rollup": "^4.59.0",
+ "rollup-plugin-license": "^3.7.0",
+ "typescript": "^5.9.3",
"vite": "7.1.11",
"vite-plugin-babel-macros": "^1.0.6",
- "vite-plugin-dts": "^4.5.3",
+ "vite-plugin-dts": "^4.5.4",
"vite-plugin-externals": "^0.6.2",
- "vite-plugin-istanbul": "^6.0.2"
+ "vite-plugin-istanbul": "^8.0.0"
+ },
+ "resolutions": {
+ "undici": "^6.24.0"
}
}
diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts
index 182c669ba4..6cc8bf43f4 100644
--- a/src/frontend/playwright.config.ts
+++ b/src/frontend/playwright.config.ts
@@ -48,13 +48,22 @@ export default defineConfig({
name: 'chromium',
use: {
...devices['Desktop Chrome']
- }
+ },
+ testIgnore: /customization/ // Ignore all tests in the "customization" folder for this project
},
{
name: 'firefox',
use: {
...devices['Desktop Firefox']
- }
+ },
+ testIgnore: /customization/ // Ignore all tests in the "customization" folder for this project
+ },
+ {
+ name: 'customization',
+ use: {
+ ...devices['Desktop Firefox']
+ },
+ testIgnore: /pui_.*\.spec\.ts/ // Ignore all "pui_*.spec.ts" tests for this project
}
],
@@ -87,6 +96,15 @@ export default defineConfig({
stdout: 'pipe',
stderr: 'pipe',
timeout: 120 * 1000
+ },
+ {
+ command: 'invoke worker',
+ env: {
+ INVENTREE_DEBUG: 'True',
+ INVENTREE_LOG_LEVEL: 'INFO',
+ INVENTREE_PLUGINS_ENABLED: 'True',
+ INVENTREE_PLUGINS_MANDATORY: 'samplelocate'
+ }
}
],
globalSetup: './playwright/global-setup.ts',
diff --git a/src/frontend/playwright/global-setup.ts b/src/frontend/playwright/global-setup.ts
index 6386959cbf..4930c98b23 100644
--- a/src/frontend/playwright/global-setup.ts
+++ b/src/frontend/playwright/global-setup.ts
@@ -2,7 +2,13 @@ import { type FullConfig, chromium, request } from '@playwright/test';
import fs from 'node:fs';
import path from 'node:path';
-import { apiUrl } from '../tests/defaults';
+import {
+ adminuser,
+ allaccessuser,
+ apiUrl,
+ readeruser,
+ stevenuser
+} from '../tests/defaults';
import { doCachedLogin } from '../tests/login';
async function globalSetup(config: FullConfig) {
@@ -45,26 +51,22 @@ async function globalSetup(config: FullConfig) {
// Perform login for each user (each in a separate browser instance)
await doCachedLogin(await chromium.launch(), {
- username: 'admin',
- password: 'inventree',
+ user: adminuser,
baseUrl: baseUrl
});
await doCachedLogin(await chromium.launch(), {
- username: 'allaccess',
- password: 'nolimits',
+ user: allaccessuser,
baseUrl: baseUrl
});
await doCachedLogin(await chromium.launch(), {
- username: 'reader',
- password: 'readonly',
+ user: readeruser,
baseUrl: baseUrl
});
await doCachedLogin(await chromium.launch(), {
- username: 'steven',
- password: 'wizardstaff',
+ user: stevenuser,
baseUrl: baseUrl
});
}
diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx
index cbaae4965a..e0d205ca08 100644
--- a/src/frontend/src/App.tsx
+++ b/src/frontend/src/App.tsx
@@ -1,6 +1,8 @@
import { QueryClient } from '@tanstack/react-query';
import axios from 'axios';
+import { ApiEndpoints, apiUrl } from '@lib/index';
+import { frontendID, serviceName } from './defaults/defaults';
import { useLocalState } from './states/LocalState';
// Global API instance
@@ -33,3 +35,27 @@ export const queryClient = new QueryClient({
}
}
});
+export function setTraceId() {
+ // check if we are in a secure context (https) - if not use of crypto is not allowed
+ if (!window.isSecureContext) {
+ return '';
+ }
+
+ const runID = crypto.randomUUID().replace(/-/g, '');
+ const traceid = `00-${runID}-${frontendID}-01`;
+ api.defaults.headers['traceparent'] = traceid;
+
+ return runID;
+}
+export function removeTraceId(traceid: string) {
+ delete api.defaults.headers['traceparent'];
+
+ api
+ .post(apiUrl(ApiEndpoints.system_internal_trace_end), {
+ traceid: traceid,
+ service: serviceName
+ })
+ .catch((error) => {
+ console.error('Error removing trace ID:', error);
+ });
+}
diff --git a/src/frontend/src/components/Boundary.tsx b/src/frontend/src/components/Boundary.tsx
index 119b8fc9eb..b96ec01108 100644
--- a/src/frontend/src/components/Boundary.tsx
+++ b/src/frontend/src/components/Boundary.tsx
@@ -4,7 +4,9 @@ import { ErrorBoundary, type FallbackRender } from '@sentry/react';
import { IconExclamationCircle } from '@tabler/icons-react';
import { type ReactNode, useCallback } from 'react';
-function DefaultFallback({ title }: Readonly<{ title: string }>): ReactNode {
+export function DefaultFallback({
+ title
+}: Readonly<{ title: string }>): ReactNode {
return (
{
console.error(`ERR: Error rendering component: ${label}`);
+ console.error(error);
},
[]
);
diff --git a/src/frontend/src/components/buttons/CopyButton.tsx b/src/frontend/src/components/buttons/CopyButton.tsx
index b9e283daa9..a43b4b3099 100644
--- a/src/frontend/src/components/buttons/CopyButton.tsx
+++ b/src/frontend/src/components/buttons/CopyButton.tsx
@@ -1,6 +1,7 @@
import { t } from '@lingui/core/macro';
import {
ActionIcon,
+ type ActionIconVariant,
Button,
type DefaultMantineColor,
type FloatingPosition,
@@ -22,7 +23,8 @@ export function CopyButton({
tooltipPosition,
content,
size,
- color = 'gray'
+ color = 'gray',
+ variant = 'transparent'
}: Readonly<{
value: any;
label?: string;
@@ -32,9 +34,15 @@ export function CopyButton({
content?: JSX.Element;
size?: MantineSize;
color?: DefaultMantineColor;
+ variant?: ActionIconVariant;
}>) {
const ButtonComponent = label ? Button : ActionIcon;
+ // Disable the copy button if we are not in a secure context, as the Clipboard API is not available
+ if (!window.isSecureContext) {
+ return null;
+ }
+
return (
{({ copied, copy }) => (
@@ -46,8 +54,12 @@ export function CopyButton({
{
+ e.stopPropagation();
+ e.preventDefault();
+ copy();
+ }}
+ variant={copied ? 'transparent' : (variant ?? 'transparent')}
size={size ?? 'sm'}
>
{copied ? (
diff --git a/src/frontend/src/components/calendar/Calendar.tsx b/src/frontend/src/components/calendar/Calendar.tsx
index 6fb789a6ae..50f416a175 100644
--- a/src/frontend/src/components/calendar/Calendar.tsx
+++ b/src/frontend/src/components/calendar/Calendar.tsx
@@ -29,6 +29,10 @@ import {
} from '@tabler/icons-react';
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useShallow } from 'zustand/react/shallow';
+import {
+ defaultLocale,
+ getPriorityLocale
+} from '../../contexts/LanguageContext';
import type { CalendarState } from '../../hooks/UseCalendar';
import { useLocalState } from '../../states/LocalState';
import { FilterSelectDrawer } from '../../tables/FilterSelectDrawer';
@@ -60,7 +64,19 @@ export default function Calendar({
const [locale] = useLocalState(useShallow((s) => [s.language]));
// Ensure underscore is replaced with dash
- const calendarLocale = useMemo(() => locale.replace('_', '-'), [locale]);
+ const calendarLocale = useMemo(() => {
+ let _locale: string | null = locale;
+
+ if (!_locale) {
+ _locale = getPriorityLocale();
+ }
+
+ _locale = _locale || defaultLocale;
+
+ _locale = _locale.replace('_', '-');
+
+ return _locale;
+ }, [locale]);
const selectMonth = useCallback(
(date: DateValue) => {
@@ -175,7 +191,7 @@ export default function Calendar({
variant='transparent'
aria-label='calendar-export-data'
>
-
+
diff --git a/src/frontend/src/components/dashboard/DashboardWidgetLibrary.tsx b/src/frontend/src/components/dashboard/DashboardWidgetLibrary.tsx
index 7c5268faac..7b2352a18f 100644
--- a/src/frontend/src/components/dashboard/DashboardWidgetLibrary.tsx
+++ b/src/frontend/src/components/dashboard/DashboardWidgetLibrary.tsx
@@ -9,12 +9,13 @@ import GetStartedWidget from './widgets/GetStartedWidget';
import LanguageSelectDashboardWidget from './widgets/LanguageSelectWidget';
import NewsWidget from './widgets/NewsWidget';
import QueryCountDashboardWidget from './widgets/QueryCountDashboardWidget';
+import StocktakeDashboardWidget from './widgets/StocktakeDashboardWidget';
/**
*
* @returns A list of built-in dashboard widgets which display the number of results for a particular query
*/
-export function BuiltinQueryCountWidgets(): DashboardWidgetProps[] {
+function BuiltinQueryCountWidgets(): DashboardWidgetProps[] {
const user = useUserState.getState();
const globalSettings = useGlobalSettingsState.getState();
@@ -186,7 +187,7 @@ export function BuiltinQueryCountWidgets(): DashboardWidgetProps[] {
});
}
-export function BuiltinGettingStartedWidgets(): DashboardWidgetProps[] {
+function BuiltinGettingStartedWidgets(): DashboardWidgetProps[] {
return [
{
label: 'gstart',
@@ -207,10 +208,14 @@ export function BuiltinGettingStartedWidgets(): DashboardWidgetProps[] {
];
}
-export function BuiltinSettingsWidgets(): DashboardWidgetProps[] {
+function BuiltinSettingsWidgets(): DashboardWidgetProps[] {
return [ColorToggleDashboardWidget(), LanguageSelectDashboardWidget()];
}
+function BuiltinActionWidgets(): DashboardWidgetProps[] {
+ return [StocktakeDashboardWidget()];
+}
+
/**
*
* @returns A list of built-in dashboard widgets
@@ -219,6 +224,7 @@ export default function DashboardWidgetLibrary(): DashboardWidgetProps[] {
return [
...BuiltinQueryCountWidgets(),
...BuiltinGettingStartedWidgets(),
- ...BuiltinSettingsWidgets()
+ ...BuiltinSettingsWidgets(),
+ ...BuiltinActionWidgets()
];
}
diff --git a/src/frontend/src/components/dashboard/widgets/StocktakeDashboardWidget.tsx b/src/frontend/src/components/dashboard/widgets/StocktakeDashboardWidget.tsx
new file mode 100644
index 0000000000..03e94af071
--- /dev/null
+++ b/src/frontend/src/components/dashboard/widgets/StocktakeDashboardWidget.tsx
@@ -0,0 +1,71 @@
+import { ApiEndpoints, UserRoles, apiUrl } from '@lib/index';
+import { t } from '@lingui/core/macro';
+import { Button, Stack } from '@mantine/core';
+import { IconClipboardList } from '@tabler/icons-react';
+import { useState } from 'react';
+import useDataOutput from '../../../hooks/UseDataOutput';
+import { useCreateApiFormModal } from '../../../hooks/UseForm';
+import { useUserState } from '../../../states/UserState';
+import type { DashboardWidgetProps } from '../DashboardWidget';
+
+function StocktakeWidget() {
+ const [outputId, setOutputId] = useState(undefined);
+
+ useDataOutput({
+ title: t`Generating Stocktake Report`,
+ id: outputId
+ });
+
+ const stocktakeForm = useCreateApiFormModal({
+ title: t`Generate Stocktake Report`,
+ url: apiUrl(ApiEndpoints.part_stocktake_generate),
+ fields: {
+ part: {
+ filters: {
+ active: true
+ }
+ },
+ category: {},
+ location: {},
+ generate_entry: {
+ value: false
+ },
+ generate_report: {
+ value: true
+ }
+ },
+ submitText: t`Generate`,
+ successMessage: null,
+ onFormSuccess: (response) => {
+ if (response.output?.pk) {
+ setOutputId(response.output.pk);
+ }
+ }
+ });
+
+ return (
+ <>
+ {stocktakeForm.modal}
+
+ }
+ onClick={() => stocktakeForm.open()}
+ >{t`Generate Stocktake Report`}
+
+ >
+ );
+}
+
+export default function StocktakeDashboardWidget(): DashboardWidgetProps {
+ const user = useUserState();
+
+ return {
+ label: 'stk',
+ title: t`Stocktake`,
+ description: t`Generate a new stocktake report`,
+ minHeight: 1,
+ minWidth: 2,
+ render: () => ,
+ enabled: user.hasAddRole(UserRoles.part)
+ };
+}
diff --git a/src/frontend/src/components/details/Details.tsx b/src/frontend/src/components/details/Details.tsx
index b04ce1d492..2e61e7377a 100644
--- a/src/frontend/src/components/details/Details.tsx
+++ b/src/frontend/src/components/details/Details.tsx
@@ -54,10 +54,16 @@ export type DetailsField = {
type BadgeType = 'owner' | 'user' | 'group';
type ValueFormatterReturn = string | number | null | React.ReactNode;
-type StringDetailField = {
- type: 'string' | 'text' | 'date';
- unit?: boolean;
-};
+type StringDetailField =
+ | {
+ type: 'string' | 'text';
+ unit?: boolean;
+ }
+ | {
+ type: 'date';
+ unit?: boolean;
+ showTime?: boolean;
+ };
type NumberDetailField = {
type: 'number';
@@ -109,7 +115,7 @@ function HoverNameBadge(data: any, type: BadgeType) {
return [
`${data.label}: ${data.name}`,
data.name,
- getDetailUrl(data.owner_model, data.pk, true),
+ getDetailUrl(data.owner_model, data.owner_id, true),
undefined,
undefined
];
@@ -260,7 +266,13 @@ function NameBadge({
}
function DateValue(props: Readonly) {
- return {formatDate(props.field_value?.toString())} ;
+ return (
+
+ {formatDate(props.field_value?.toString(), {
+ showTime: props.field_data?.showTime
+ })}
+
+ );
}
// Return a formatted "number" value, with optional unit
diff --git a/src/frontend/src/components/details/DetailsImage.tsx b/src/frontend/src/components/details/DetailsImage.tsx
index 3efdc9386b..98336aab4c 100644
--- a/src/frontend/src/components/details/DetailsImage.tsx
+++ b/src/frontend/src/components/details/DetailsImage.tsx
@@ -82,8 +82,14 @@ const removeModal = (apiPath: string, setImage: (image: string) => void) =>
),
labels: { confirm: t`Remove`, cancel: t`Cancel` },
onConfirm: async () => {
- await api.patch(apiPath, { image: null });
- setImage(backup_image);
+ api.patch(apiPath, { image: null }).then(() => {
+ setImage(backup_image);
+ showNotification({
+ title: t`Image removed`,
+ message: t`The image has been removed successfully`,
+ color: 'green'
+ });
+ });
}
});
diff --git a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx
index 796c191268..c0799f0403 100644
--- a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx
+++ b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx
@@ -112,9 +112,9 @@ export const PdfPreviewComponent: PreviewAreaComponent = forwardRef(
style={{
display: 'flex',
justifyContent: 'center',
- alignItems: 'center',
height: '100%',
- width: '100%'
+ width: '100%',
+ paddingTop: '50px'
}}
>
Preview not available, click "Reload Preview".
diff --git a/src/frontend/src/components/forms/DateTimeField.tsx b/src/frontend/src/components/forms/DateTimeField.tsx
new file mode 100644
index 0000000000..7c888f72af
--- /dev/null
+++ b/src/frontend/src/components/forms/DateTimeField.tsx
@@ -0,0 +1,75 @@
+import type { ApiFormFieldType } from '@lib/types/Forms';
+import { t } from '@lingui/core/macro';
+import { DateTimePicker } from '@mantine/dates';
+import dayjs from 'dayjs';
+import customParseFormat from 'dayjs/plugin/customParseFormat';
+import { useCallback, useId, useMemo } from 'react';
+import type { FieldValues, UseControllerReturn } from 'react-hook-form';
+
+dayjs.extend(customParseFormat);
+
+export default function DateTimeField({
+ controller,
+ definition
+}: Readonly<{
+ controller: UseControllerReturn;
+ definition: ApiFormFieldType;
+}>) {
+ const fieldId = useId();
+
+ const {
+ field,
+ fieldState: { error }
+ } = controller;
+
+ const valueFormat = 'YYYY-MM-DD HH:mm:ss';
+
+ const onChange = useCallback(
+ (value: any) => {
+ // Convert the returned date object to a string
+ if (value) {
+ value = value.toString();
+ value = dayjs(value).format(valueFormat);
+ }
+
+ field.onChange(value);
+ definition.onValueChange?.(value);
+ },
+ [field.onChange, definition, valueFormat]
+ );
+
+ const dateTimeValue: Date | null = useMemo(() => {
+ let dv: Date | null = null;
+
+ if (field.value) {
+ dv = dayjs(field.value).toDate();
+ }
+
+ // Ensure that the date is valid
+ if (dv instanceof Date && !Number.isNaN(dv.getTime())) {
+ return dv;
+ } else {
+ return null;
+ }
+ }, [field.value]);
+
+ return (
+
+ );
+}
diff --git a/src/frontend/src/components/forms/fields/ApiFormField.tsx b/src/frontend/src/components/forms/fields/ApiFormField.tsx
index cc6f12e710..793ab1f217 100644
--- a/src/frontend/src/components/forms/fields/ApiFormField.tsx
+++ b/src/frontend/src/components/forms/fields/ApiFormField.tsx
@@ -6,6 +6,7 @@ import { type Control, type FieldValues, useController } from 'react-hook-form';
import type { ApiFormFieldSet, ApiFormFieldType } from '@lib/types/Forms';
import { IconFileUpload } from '@tabler/icons-react';
+import DateTimeField from '../DateTimeField';
import { BooleanField } from './BooleanField';
import { ChoiceField } from './ChoiceField';
import DateField from './DateField';
@@ -84,6 +85,7 @@ export function ApiFormField({
onValueChange: undefined,
adjustFilters: undefined,
adjustValue: undefined,
+ allow_null: undefined,
read_only: undefined,
children: undefined,
exclude: undefined
@@ -161,10 +163,13 @@ export function ApiFormField({
/>
);
case 'date':
- case 'datetime':
return (
);
+ case 'datetime':
+ return (
+
+ );
case 'integer':
case 'decimal':
case 'float':
@@ -175,6 +180,10 @@ export function ApiFormField({
fieldName={fieldName}
definition={reducedDefinition}
placeholderAutofill={fieldDefinition.placeholderAutofill ?? false}
+ placeholderWarningCompare={
+ fieldDefinition.placeholderWarningCompare ?? undefined
+ }
+ placeholderWarning={fieldDefinition.placeholderWarning ?? undefined}
onChange={(value: any) => {
onChange(value);
}}
@@ -233,6 +242,11 @@ export function ApiFormField({
/>
);
default:
+ // This should never happen - it represents a critical UI issue which should be caught in CI
+ console.error(
+ `Invalid field type for field '${fieldName}': '${fieldDefinition.field_type}'`
+ );
+
return (
Invalid field type for field '{fieldName}': '
diff --git a/src/frontend/src/components/forms/fields/AutoFillRightSection.tsx b/src/frontend/src/components/forms/fields/AutoFillRightSection.tsx
index c3c5a5661e..4365d97392 100644
--- a/src/frontend/src/components/forms/fields/AutoFillRightSection.tsx
+++ b/src/frontend/src/components/forms/fields/AutoFillRightSection.tsx
@@ -1,6 +1,6 @@
import { t } from '@lingui/core/macro';
import { Tooltip } from '@mantine/core';
-import { IconCopyCheck, IconX } from '@tabler/icons-react';
+import { IconCopyCheck, IconExclamationMark, IconX } from '@tabler/icons-react';
/**
* Custom "RightSection" component for form fields,
@@ -55,3 +55,21 @@ export default function AutoFillRightSection({
);
}
}
+
+export function AutoFillWarning({
+ fieldName,
+ message
+}: {
+ fieldName: string;
+ message: string;
+}) {
+ return (
+
+
+
+ );
+}
diff --git a/src/frontend/src/components/forms/fields/DateField.tsx b/src/frontend/src/components/forms/fields/DateField.tsx
index 56e5eb0a45..c1fc187d8a 100644
--- a/src/frontend/src/components/forms/fields/DateField.tsx
+++ b/src/frontend/src/components/forms/fields/DateField.tsx
@@ -22,12 +22,7 @@ export default function DateField({
fieldState: { error }
} = controller;
- const valueFormat = useMemo(() => {
- // Determine the format based on the field type
- return definition.field_type == 'date'
- ? 'YYYY-MM-DD'
- : 'YYYY-MM-DD HH:mm:ss';
- }, [definition.field_type]);
+ const valueFormat = 'YYYY-MM-DD';
const onChange = useCallback(
(value: any) => {
@@ -35,6 +30,8 @@ export default function DateField({
if (value) {
value = value.toString();
value = dayjs(value).format(valueFormat);
+
+ // Strip the time portion from the date input
value = value.toString().split('T')[0];
}
diff --git a/src/frontend/src/components/forms/fields/NumberField.tsx b/src/frontend/src/components/forms/fields/NumberField.tsx
index 63bfbb2868..0369d0935a 100644
--- a/src/frontend/src/components/forms/fields/NumberField.tsx
+++ b/src/frontend/src/components/forms/fields/NumberField.tsx
@@ -1,7 +1,7 @@
import { NumberInput } from '@mantine/core';
import { useId, useMemo } from 'react';
import type { FieldValues, UseControllerReturn } from 'react-hook-form';
-import AutoFillRightSection from './AutoFillRightSection';
+import AutoFillRightSection, { AutoFillWarning } from './AutoFillRightSection';
/**
* Custom implementation of the mantine component,
@@ -12,12 +12,16 @@ export default function NumberField({
fieldName,
definition,
placeholderAutofill,
+ placeholderWarningCompare,
+ placeholderWarning,
onChange
}: Readonly<{
controller: UseControllerReturn;
definition: any;
fieldName: string;
placeholderAutofill?: boolean;
+ placeholderWarningCompare?: number | string;
+ placeholderWarning?: string;
onChange: (value: any) => void;
}>) {
const fieldId = useId();
@@ -56,6 +60,43 @@ export default function NumberField({
return val;
}, [definition.field_type, value]);
+ const rightSection = useMemo(() => {
+ if (
+ definition.placeholder &&
+ placeholderAutofill &&
+ numericalValue == null
+ ) {
+ return (
+
+ );
+ } else if (placeholderWarning && numericalValue != null) {
+ if (
+ placeholderWarningCompare != null &&
+ numericalValue === placeholderWarningCompare
+ ) {
+ return undefined;
+ }
+ return (
+
+ );
+ }
+ return undefined;
+ }, [
+ definition,
+ placeholderAutofill,
+ placeholderWarning,
+ placeholderWarningCompare,
+ numericalValue,
+ field.name,
+ field.value,
+ onChange
+ ]);
+
return (
- )
- }
+ rightSection={rightSection}
/>
);
}
diff --git a/src/frontend/src/components/forms/fields/RelatedModelField.tsx b/src/frontend/src/components/forms/fields/RelatedModelField.tsx
index 85398bac35..9155bf3c4c 100644
--- a/src/frontend/src/components/forms/fields/RelatedModelField.tsx
+++ b/src/frontend/src/components/forms/fields/RelatedModelField.tsx
@@ -380,6 +380,7 @@ export function RelatedModelField({
onValueChange: undefined,
adjustFilters: undefined,
exclude: undefined,
+ allow_null: undefined,
read_only: undefined
};
}, [definition]);
diff --git a/src/frontend/src/components/importer/ImportDataSelector.tsx b/src/frontend/src/components/importer/ImportDataSelector.tsx
index db4556ab86..d91a94f776 100644
--- a/src/frontend/src/components/importer/ImportDataSelector.tsx
+++ b/src/frontend/src/components/importer/ImportDataSelector.tsx
@@ -244,7 +244,11 @@ export default function ImporterDataSelector({
url: ApiEndpoints.import_session_row_list,
pk: selectedRow.pk,
title: t`Delete Row`,
- onFormSuccess: () => table.refreshTable()
+ onFormSuccess: () => {
+ table.clearSelectedRecords();
+ table.refreshTable();
+ session.refreshSession();
+ }
});
const rowErrors = useCallback((row: any) => {
@@ -431,6 +435,8 @@ export default function ImporterDataSelector({
enableSelection: true,
enableBulkDelete: true,
afterBulkDelete: () => {
+ table.clearSelectedRecords();
+ table.refreshTable();
session.refreshSession();
}
}}
diff --git a/src/frontend/src/components/importer/ImporterColumnSelector.tsx b/src/frontend/src/components/importer/ImporterColumnSelector.tsx
index 4036b4f3b5..8031495cac 100644
--- a/src/frontend/src/components/importer/ImporterColumnSelector.tsx
+++ b/src/frontend/src/components/importer/ImporterColumnSelector.tsx
@@ -84,16 +84,28 @@ function ImporterDefaultField({
}) {
const api = useApi();
- const [rawValue, setRawValue] = useState('');
+ const [rawValue, setRawValue] = useState(undefined);
+
+ // Initialize raw value with provided default
+ useEffect(() => {
+ setRawValue(session.fieldDefaults[fieldName]);
+ }, [fieldName, session.fieldDefaults]);
const fieldType: string = useMemo(() => {
return session.availableFields[fieldName]?.type;
}, [fieldName, session.availableFields]);
- const [value] = useDebouncedValue(rawValue, fieldType == 'string' ? 500 : 10);
-
const onChange = useCallback(
(value: any) => {
+ if (value === undefined) {
+ value = session.fieldDefaults[fieldName];
+ }
+
+ // No change - do nothing
+ if (value === session.fieldDefaults[fieldName]) {
+ return;
+ }
+
// Update the default value for the field
const defaults = {
...session.fieldDefaults,
@@ -114,6 +126,21 @@ function ImporterDefaultField({
[fieldName, session, session.fieldDefaults]
);
+ const getDebounceTime = (type: string) => {
+ switch (type) {
+ case 'string':
+ return 500;
+ case 'number':
+ case 'float':
+ case 'integer':
+ return 200;
+ default:
+ return 50;
+ }
+ };
+
+ const [value] = useDebouncedValue(rawValue, getDebounceTime(fieldType));
+
// Update the default value after the debounced value changes
useEffect(() => {
onChange(value);
diff --git a/src/frontend/src/components/importer/ImporterDrawer.tsx b/src/frontend/src/components/importer/ImporterDrawer.tsx
index 2ed836627c..eb5a4343af 100644
--- a/src/frontend/src/components/importer/ImporterDrawer.tsx
+++ b/src/frontend/src/components/importer/ImporterDrawer.tsx
@@ -42,7 +42,7 @@ function ImportDrawerStepper({
>
-
+
@@ -133,7 +133,7 @@ export default function ImporterDrawer({
);
- }, [session.sessionData]);
+ }, [currentStep, session.sessionData]);
return (
(
@@ -19,6 +21,21 @@ export const InvenTreeLogoHomeButton = forwardRef(
}
);
-export const InvenTreeLogo = () => {
+/*
+ * Render the InvenTree logo
+ * - Uses the custom logo if one is defined on the server
+ * - Otherwise, uses the default logo
+ */
+export function InvenTreeLogo(): ReactNode {
+ const [server] = useServerApiState(
+ useShallow((state) => [state.server, state.fetchServerApiState])
+ );
+
+ if (server.server && server.customize?.logo) {
+ return (
+
+ );
+ }
+
return ;
-};
+}
diff --git a/src/frontend/src/components/items/LanguageSelect.tsx b/src/frontend/src/components/items/LanguageSelect.tsx
index 6ef3cdfc0a..3650603670 100644
--- a/src/frontend/src/components/items/LanguageSelect.tsx
+++ b/src/frontend/src/components/items/LanguageSelect.tsx
@@ -1,8 +1,12 @@
import { Select } from '@mantine/core';
import { useEffect, useState } from 'react';
+import { t } from '@lingui/core/macro';
import { useShallow } from 'zustand/react/shallow';
-import { getSupportedLanguages } from '../../contexts/LanguageContext';
+import {
+ activateLocale,
+ getSupportedLanguages
+} from '../../contexts/LanguageContext';
import { useLocalState } from '../../states/LocalState';
export function LanguageSelect({ width = 80 }: Readonly<{ width?: number }>) {
@@ -28,13 +32,21 @@ export function LanguageSelect({ width = 80 }: Readonly<{ width?: number }>) {
}));
setLangOptions(newLangOptions);
setValue(locale);
+ activateLocale(locale); // Ensure the locale is activated on component load
}, [locale]);
return (
,
placeholder: t`Search...`
diff --git a/src/frontend/src/components/panels/NotesPanel.tsx b/src/frontend/src/components/panels/NotesPanel.tsx
index 07ce614ab1..a200a706d4 100644
--- a/src/frontend/src/components/panels/NotesPanel.tsx
+++ b/src/frontend/src/components/panels/NotesPanel.tsx
@@ -10,11 +10,13 @@ import type { PanelType } from './Panel';
export default function NotesPanel({
model_type,
model_id,
- editable
+ editable,
+ has_note
}: {
model_type: ModelType;
model_id: number | undefined;
editable?: boolean;
+ has_note?: boolean;
}): PanelType {
const user = useUserState.getState();
@@ -22,6 +24,7 @@ export default function NotesPanel({
name: 'notes',
label: t`Notes`,
icon: ,
+ notification_dot: has_note ? 'info' : null,
content:
model_type && model_id ? (
-
-
- {expanded && panel.label}
-
-
+
+
+
+ {expanded && panel.label}
+
+
+
)
diff --git a/src/frontend/src/components/panels/ParametersPanel.tsx b/src/frontend/src/components/panels/ParametersPanel.tsx
index 03450e2aa8..574909cdc6 100644
--- a/src/frontend/src/components/panels/ParametersPanel.tsx
+++ b/src/frontend/src/components/panels/ParametersPanel.tsx
@@ -8,16 +8,19 @@ import type { PanelType } from './Panel';
export default function ParametersPanel({
model_type,
model_id,
+ hidden,
allowEdit = true
}: {
model_type: ModelType;
model_id: number | undefined;
+ hidden?: boolean;
allowEdit?: boolean;
}): PanelType {
return {
name: 'parameters',
label: t`Parameters`,
icon: ,
+ hidden: hidden ?? false,
content:
model_type && model_id ? (
{
const [locale, host] = useLocalState(useShallow((s) => [s.language, s.host]));
+ const [server] = useServerApiState(useShallow((s) => [s.server]));
const navigate = useNavigate();
const user = useUserState();
const { colorScheme } = useMantineColorScheme();
@@ -57,7 +60,7 @@ export const useInvenTreeContext = () => {
user: user,
host: host,
i18n: i18n,
- locale: locale,
+ locale: locale || server.default_locale || defaultLocale,
api: api,
queryClient: queryClient,
navigate: navigate,
diff --git a/src/frontend/src/components/plugins/PluginDrawer.tsx b/src/frontend/src/components/plugins/PluginDrawer.tsx
index ce3c7f7342..02a97b51e7 100644
--- a/src/frontend/src/components/plugins/PluginDrawer.tsx
+++ b/src/frontend/src/components/plugins/PluginDrawer.tsx
@@ -93,6 +93,14 @@ export default function PluginDrawer({
name={t`Active`}
value={pluginInstance?.active}
/>
+ {pluginInstance?.meta.website && (
+
+ )}
diff --git a/src/frontend/src/components/render/Build.tsx b/src/frontend/src/components/render/Build.tsx
index 5ba72f0809..eff0e68b0f 100644
--- a/src/frontend/src/components/render/Build.tsx
+++ b/src/frontend/src/components/render/Build.tsx
@@ -36,13 +36,9 @@ export function RenderBuildLine({
}: Readonly): ReactNode {
return (
);
}
diff --git a/src/frontend/src/components/render/Company.tsx b/src/frontend/src/components/render/Company.tsx
index 96dbcd40ce..e8050d5f12 100644
--- a/src/frontend/src/components/render/Company.tsx
+++ b/src/frontend/src/components/render/Company.tsx
@@ -82,7 +82,8 @@ export function RenderSupplierPart(
const secondary: string = instance.SKU;
let suffix: string = part?.full_name ?? '';
- if (instance.pack_quantity) {
+ // Display non-unitary pack quantities
+ if (instance.pack_quantity && instance.pack_quantity_native != 1) {
suffix += ` (${instance.pack_quantity})`;
}
diff --git a/src/frontend/src/components/render/StatusRenderer.tsx b/src/frontend/src/components/render/StatusRenderer.tsx
index 6ecfe6bb88..cf08aea6c7 100644
--- a/src/frontend/src/components/render/StatusRenderer.tsx
+++ b/src/frontend/src/components/render/StatusRenderer.tsx
@@ -30,7 +30,8 @@ interface RenderStatusLabelOptionsInterface {
function renderStatusLabel(
key: string | number,
codes: StatusCodeListInterface,
- options: RenderStatusLabelOptionsInterface = {}
+ options: RenderStatusLabelOptionsInterface = {},
+ fallback_key: string | number | null = null
) {
let text = null;
let color = null;
@@ -46,6 +47,19 @@ function renderStatusLabel(
}
}
+ if (!text && fallback_key !== null) {
+ // Handle fallback key (if provided)
+ for (const name in codes.values) {
+ const entry: StatusCodeInterface = codes.values[name];
+
+ if (entry?.key == fallback_key) {
+ text = entry.label;
+ color = entry.color;
+ break;
+ }
+ }
+ }
+
if (!text) {
console.error(
`ERR: renderStatusLabel could not find match for code ${key}`
@@ -164,11 +178,13 @@ export function getStatusCodeLabel(
export const StatusRenderer = ({
status,
type,
- options
+ options,
+ fallbackStatus
}: {
status: string | number;
type: ModelType | string;
options?: RenderStatusLabelOptionsInterface;
+ fallbackStatus?: string | number | null;
}) => {
const statusCodes = getStatusCodes(type);
@@ -183,7 +199,7 @@ export const StatusRenderer = ({
return null;
}
- return renderStatusLabel(status, statusCodes, options);
+ return renderStatusLabel(status, statusCodes, options, fallbackStatus);
};
/*
diff --git a/src/frontend/src/components/settings/SettingItem.tsx b/src/frontend/src/components/settings/SettingItem.tsx
index fd85367231..8b9b3ef84e 100644
--- a/src/frontend/src/components/settings/SettingItem.tsx
+++ b/src/frontend/src/components/settings/SettingItem.tsx
@@ -1,3 +1,4 @@
+import { t } from '@lingui/core/macro';
import {
Button,
Group,
@@ -6,6 +7,7 @@ import {
Stack,
Switch,
Text,
+ Tooltip,
useMantineColorScheme
} from '@mantine/core';
import { IconEdit } from '@tabler/icons-react';
@@ -20,6 +22,24 @@ import { vars } from '../../theme';
import { Boundary } from '../Boundary';
import { RenderInstance } from '../render/Instance';
+type ConfirmResult = {
+ requires_confirmation: boolean;
+ confirmed: boolean;
+ proceed?: boolean;
+};
+function confirmSettingChange(setting: Setting): ConfirmResult {
+ if (setting.confirm) {
+ const confirmed = window.confirm(
+ setting.confirm_text || t`Do you want to proceed to change this setting?`
+ );
+ return {
+ requires_confirmation: true,
+ confirmed: confirmed || false,
+ proceed: confirmed
+ };
+ }
+ return { requires_confirmation: false, confirmed: false, proceed: true };
+}
/**
* Render a single setting value
*/
@@ -29,8 +49,8 @@ function SettingValue({
onToggle
}: Readonly<{
setting: Setting;
- onEdit: (setting: Setting) => void;
- onToggle: (setting: Setting, value: boolean) => void;
+ onEdit: (setting: Setting, confirmed: boolean) => void;
+ onToggle: (setting: Setting, value: boolean, confirmed: boolean) => void;
}>) {
// Determine the text to display for the setting value
const valueText: string = useMemo(() => {
@@ -54,7 +74,9 @@ function SettingValue({
// Launch the edit dialog for this setting
const editSetting = useCallback(() => {
if (!setting.read_only) {
- onEdit(setting);
+ const confirm = confirmSettingChange(setting);
+ if (!confirm.proceed) return;
+ onEdit(setting, confirm.confirmed);
}
}, [setting, onEdit]);
@@ -62,7 +84,9 @@ function SettingValue({
const toggleSetting = useCallback(
(event: any) => {
if (!setting.read_only) {
- onToggle(setting, event.currentTarget.checked);
+ const confirm = confirmSettingChange(setting);
+ if (!confirm.proceed) return;
+ onToggle(setting, event.currentTarget.checked, confirm.confirmed);
}
},
[setting, onToggle]
@@ -170,8 +194,8 @@ export function SettingItem({
}: Readonly<{
setting: Setting;
shaded: boolean;
- onEdit: (setting: Setting) => void;
- onToggle: (setting: Setting, value: boolean) => void;
+ onEdit: (setting: Setting, confirmed: boolean) => void;
+ onToggle: (setting: Setting, value: boolean, confirmed: boolean) => void;
}>) {
const { colorScheme } = useMantineColorScheme();
@@ -192,7 +216,18 @@ export function SettingItem({
{setting.description}
-
+
+ {setting.confirm && (
+
+
+
+ )}
+
+
diff --git a/src/frontend/src/components/settings/SettingList.tsx b/src/frontend/src/components/settings/SettingList.tsx
index ca1e76627f..a0eb5ebd18 100644
--- a/src/frontend/src/components/settings/SettingList.tsx
+++ b/src/frontend/src/components/settings/SettingList.tsx
@@ -1,6 +1,6 @@
import { t } from '@lingui/core/macro';
import { Trans } from '@lingui/react/macro';
-import { Alert, Skeleton, Stack, Text } from '@mantine/core';
+import { Alert, Divider, Skeleton, Stack, Text, Title } from '@mantine/core';
import { notifications } from '@mantine/notifications';
import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { useStore } from 'zustand';
@@ -24,11 +24,13 @@ import { SettingItem } from './SettingItem';
* Display a list of setting items, based on a list of provided keys
*/
export function SettingList({
+ heading,
settingsState,
keys,
onChange,
onLoaded
}: Readonly<{
+ heading?: string;
settingsState: SettingsStateProps;
keys?: string[];
onChange?: () => void;
@@ -91,7 +93,7 @@ export function SettingList({
// Callback for editing a single setting instance
const onValueEdit = useCallback(
- (setting: Setting) => {
+ (setting: Setting, confirmed: boolean) => {
setSetting(setting);
editSettingModal.open();
},
@@ -100,13 +102,17 @@ export function SettingList({
// Callback for toggling a single boolean setting instance
const onValueToggle = useCallback(
- (setting: Setting, value: boolean) => {
+ (setting: Setting, value: boolean, confirmed: boolean) => {
+ let data: any = {
+ value: value
+ };
+ if (confirmed) {
+ data = { ...data, manual_confirm: true };
+ }
api
.patch(
apiUrl(settingsState.endpoint, setting.key, settingsState.pathParams),
- {
- value: value
- }
+ data
)
.then(() => {
notifications.hide('setting');
@@ -158,6 +164,8 @@ export function SettingList({
<>
{editSettingModal.modal}
+ {heading && {heading} }
+ {heading && }
{(keys || allKeys)?.map((key, i) => {
const setting = settingsState?.settings?.find(
(s: any) => s.key === key
@@ -194,16 +202,26 @@ export function SettingList({
);
}
-export function UserSettingList({ keys }: Readonly<{ keys: string[] }>) {
+export function UserSettingList({
+ keys,
+ heading
+}: Readonly<{ keys: string[]; heading?: string }>) {
const userSettings = useUserSettingsState();
- return ;
+ return (
+
+ );
}
-export function GlobalSettingList({ keys }: Readonly<{ keys: string[] }>) {
+export function GlobalSettingList({
+ keys,
+ heading
+}: Readonly<{ keys: string[]; heading?: string }>) {
const globalSettings = useGlobalSettingsState();
- return ;
+ return (
+
+ );
}
export function PluginSettingList({
diff --git a/src/frontend/src/contexts/LanguageContext.tsx b/src/frontend/src/contexts/LanguageContext.tsx
index 2dedfa37dd..ef6d8b902e 100644
--- a/src/frontend/src/contexts/LanguageContext.tsx
+++ b/src/frontend/src/contexts/LanguageContext.tsx
@@ -65,9 +65,29 @@ export function LanguageContext({
const [language] = useLocalState(useShallow((state) => [state.language]));
const [server] = useServerApiState(useShallow((state) => [state.server]));
+ const [activeLocale, setActiveLocale] = useState(null);
+
useEffect(() => {
- activateLocale(defaultLocale);
- }, []);
+ // Update the locale based on prioritization:
+ // 1. Locally selected locale
+ // 2. Server default locale
+ // 3. English (fallback)
+
+ let locale: string | null = activeLocale;
+
+ if (!!language) {
+ locale = language;
+ } else if (!!server.default_locale) {
+ locale = server.default_locale;
+ } else {
+ locale = defaultLocale;
+ }
+
+ if (locale != activeLocale) {
+ setActiveLocale(locale);
+ activateLocale(locale);
+ }
+ }, [activeLocale, language, server.default_locale, defaultLocale]);
const [loadedState, setLoadedState] = useState<
'loading' | 'loaded' | 'error'
@@ -77,7 +97,7 @@ export function LanguageContext({
useEffect(() => {
isMounted.current = true;
- let lang = language;
+ let lang: string = language || defaultLocale;
// Ensure that the selected language is supported
if (!Object.keys(getSupportedLanguages()).includes(lang)) {
@@ -96,7 +116,7 @@ export function LanguageContext({
*/
const locales: (string | undefined)[] = [];
- if (lang != 'pseudo-LOCALE') {
+ if (!!lang && lang != 'pseudo-LOCALE') {
locales.push(lang);
}
@@ -156,8 +176,26 @@ export function LanguageContext({
return {children} ;
}
-export async function activateLocale(locale: string) {
- const { messages } = await import(`../locales/${locale}/messages.ts`);
- i18n.load(locale, messages);
- i18n.activate(locale);
+// This function is used to determine the locale to activate based on the prioritization rules.
+export function getPriorityLocale(): string {
+ const serverDefault = useServerApiState.getState().server.default_locale;
+ const userDefault = useLocalState.getState().language;
+
+ return userDefault || serverDefault || defaultLocale;
+}
+
+export async function activateLocale(locale: string | null) {
+ if (!locale) {
+ locale = getPriorityLocale();
+ }
+
+ const localeDir = locale.split('-')[0]; // Extract the base locale (e.g., 'en' from 'en-US')
+
+ try {
+ const { messages } = await import(`../locales/${localeDir}/messages.ts`);
+ i18n.load(locale, messages);
+ i18n.activate(locale);
+ } catch (err) {
+ console.error(`Failed to load locale ${locale}:`, err);
+ }
}
diff --git a/src/frontend/src/contexts/ThemeContext.tsx b/src/frontend/src/contexts/ThemeContext.tsx
index a0fb46842e..0bd1e0a589 100644
--- a/src/frontend/src/contexts/ThemeContext.tsx
+++ b/src/frontend/src/contexts/ThemeContext.tsx
@@ -1,6 +1,10 @@
import { msg } from '@lingui/core/macro';
import { Trans } from '@lingui/react';
-import { MantineProvider, createTheme } from '@mantine/core';
+import {
+ MantineProvider,
+ type MantineThemeOverride,
+ createTheme
+} from '@mantine/core';
import { ModalsProvider } from '@mantine/modals';
import { Notifications } from '@mantine/notifications';
import { ContextMenuProvider } from 'mantine-contextmenu';
@@ -20,23 +24,31 @@ export function ThemeContext({
}: Readonly<{ children: JSX.Element }>) {
const [userTheme] = useLocalState(useShallow((state) => [state.userTheme]));
+ let customUserTheme: MantineThemeOverride | undefined = undefined;
+
// Theme
- const myTheme = createTheme({
- primaryColor: userTheme.primaryColor,
- white: userTheme.whiteColor,
- black: userTheme.blackColor,
- defaultRadius: userTheme.radius,
- breakpoints: {
- xs: '30em',
- sm: '48em',
- md: '64em',
- lg: '74em',
- xl: '90em'
- }
- });
+ try {
+ customUserTheme = createTheme({
+ primaryColor: userTheme.primaryColor,
+ white: userTheme.whiteColor,
+ black: userTheme.blackColor,
+ defaultRadius: userTheme.radius,
+ breakpoints: {
+ xs: '30em',
+ sm: '48em',
+ md: '64em',
+ lg: '74em',
+ xl: '90em'
+ }
+ });
+ } catch (error) {
+ console.error('Error creating theme with user settings:', error);
+ // Fallback to default theme if there's an error
+ customUserTheme = undefined;
+ }
return (
-
+
setNavigationOpen(true),
leftSection:
},
- {
- id: 'scan',
- label: t`Scan`,
- description: t`Scan a barcode or QR code`,
- onClick: () => openQrModal(navigate),
- leftSection:
- },
{
id: 'user-settings',
label: t`User Settings`,
-
description: t`Go to your user settings`,
onClick: () => navigate('/settings/user'),
leftSection:
}
];
+ user?.isStaff() &&
+ _actions.push({
+ id: 'data-import',
+ label: t`Import Data`,
+ description: t`Import data from a file`,
+ onClick: () => navigate('/settings/admin/import'),
+ leftSection:
+ });
+
// Page Actions
user?.hasViewRole(UserRoles.purchase_order) &&
_actions.push({
@@ -130,6 +131,15 @@ export function getActions(navigate: NavigateFunction) {
leftSection:
});
+ globalSettings.isSet('BARCODE_ENABLE') &&
+ _actions.push({
+ id: 'scan',
+ label: t`Scan`,
+ description: t`Scan a barcode or QR code`,
+ onClick: () => openQrModal(navigate),
+ leftSection:
+ });
+
user?.hasViewRole(UserRoles.build) &&
_actions.push({
id: 'builds',
@@ -169,5 +179,5 @@ export function getActions(navigate: NavigateFunction) {
return _actions;
}, [navigate, setNavigationOpen, globalSettings, user]);
- return actions;
+ return actions.sort((a, b) => (a.label ?? '').localeCompare(b.label ?? ''));
}
diff --git a/src/frontend/src/defaults/defaults.tsx b/src/frontend/src/defaults/defaults.tsx
index fc91644c1b..b3aa22bca1 100644
--- a/src/frontend/src/defaults/defaults.tsx
+++ b/src/frontend/src/defaults/defaults.tsx
@@ -36,3 +36,6 @@ export const SizeMarks: SiteMarkProps[] = [
{ value: 75, label: 'lg' },
{ value: 100, label: 'xl' }
];
+
+export const frontendID = '706f6f7062757474';
+export const serviceName = 'FRONTEND';
diff --git a/src/frontend/src/defaults/links.tsx b/src/frontend/src/defaults/links.tsx
index 350bcd7d1e..9198dad1c8 100644
--- a/src/frontend/src/defaults/links.tsx
+++ b/src/frontend/src/defaults/links.tsx
@@ -70,9 +70,9 @@ export function getNavTabs(user: UserStateProps): NavTab[] {
}
export const docLinks = {
- app: 'https://docs.inventree.org/app/',
+ app: 'https://docs.inventree.org/en/latest/app/',
getting_started: 'https://docs.inventree.org/en/latest/start/',
- api: 'https://docs.inventree.org/en/latest/api/api/',
+ api: 'https://docs.inventree.org/en/latest/api/',
developer: 'https://docs.inventree.org/en/latest/develop/contributing/',
faq: 'https://docs.inventree.org/en/latest/faq/',
github: 'https://github.com/inventree/inventree',
diff --git a/src/frontend/src/forms/BomForms.tsx b/src/frontend/src/forms/BomForms.tsx
index ce573186a0..d512c66428 100644
--- a/src/frontend/src/forms/BomForms.tsx
+++ b/src/frontend/src/forms/BomForms.tsx
@@ -16,10 +16,15 @@ import { useUserState } from '../states/UserState';
/**
* Field set for BomItem form
*/
-export function bomItemFields(): ApiFormFieldSet {
+export function bomItemFields({
+ showAssembly = false
+}: {
+ showAssembly?: boolean;
+}): ApiFormFieldSet {
return {
part: {
- hidden: true
+ disabled: true,
+ hidden: !showAssembly
},
sub_part: {
filters: {
diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx
index 22706a8b50..ca17b8c1c2 100644
--- a/src/frontend/src/forms/BuildForms.tsx
+++ b/src/frontend/src/forms/BuildForms.tsx
@@ -226,12 +226,39 @@ export function useBuildOrderOutputFields({
}, [quantity, batchGenerator.result, serialGenerator.result, trackable]);
}
+export function useBuildAutoAllocateFields({
+ item_type
+}: {
+ item_type: 'all' | 'tracked' | 'untracked';
+}): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ location: {},
+ exclude_location: {},
+ item_type: {
+ value: item_type,
+ hidden: true
+ },
+ interchangeable: {
+ hidden: item_type === 'tracked'
+ },
+ substitutes: {},
+ optional_items: {
+ hidden: item_type === 'tracked',
+ value: item_type === 'tracked' ? false : undefined
+ }
+ };
+ }, [item_type]);
+}
+
function BuildOutputFormRow({
props,
- record
+ record,
+ withQuantityColumn = true
}: Readonly<{
props: TableFieldRowProps;
record: any;
+ withQuantityColumn?: boolean;
}>) {
const stockItemColumn = useMemo(() => {
if (record.serial) {
@@ -271,15 +298,18 @@ function BuildOutputFormRow({
{stockItemColumn}
-
-
- {quantityColumn}
-
-
+ {withQuantityColumn && (
+
+
+ {quantityColumn}
+
+
+ )}
{record.batch}
{' '}
@@ -294,10 +324,12 @@ function BuildOutputFormRow({
export function useCompleteBuildOutputsForm({
build,
outputs,
+ hasTrackedItems,
onFormSuccess
}: {
build: any;
outputs: any[];
+ hasTrackedItems: boolean;
onFormSuccess: (response: any) => void;
}) {
const [location, setLocation] = useState(null);
@@ -348,9 +380,11 @@ export function useCompleteBuildOutputsForm({
}
},
notes: {},
- accept_incomplete_allocation: {}
+ accept_incomplete_allocation: {
+ hidden: !hasTrackedItems
+ }
};
- }, [location, outputs]);
+ }, [location, outputs, hasTrackedItems]);
return useCreateApiFormModal({
url: apiUrl(ApiEndpoints.build_output_complete, build.pk),
@@ -465,7 +499,12 @@ export function useCancelBuildOutputsForm({
modelRenderer: (row: TableFieldRowProps) => {
const record = outputs.find((output) => output.pk == row.item.output);
return (
-
+
);
},
headers: [
@@ -814,7 +853,7 @@ export function useConsumeBuildItemsForm({
url: ApiEndpoints.build_order_consume,
pk: buildId,
title: t`Consume Stock`,
- successMessage: t`Stock items scheduled to be consumed`,
+ successMessage: null,
onFormSuccess: onFormSuccess,
size: '80%',
fields: consumeFields,
@@ -915,7 +954,7 @@ export function useConsumeBuildLinesForm({
url: ApiEndpoints.build_order_consume,
pk: buildId,
title: t`Consume Stock`,
- successMessage: t`Stock items scheduled to be consumed`,
+ successMessage: null,
onFormSuccess: onFormSuccess,
fields: consumeFields,
initialData: {
diff --git a/src/frontend/src/forms/CompanyForms.tsx b/src/frontend/src/forms/CompanyForms.tsx
index 8336aa4fc8..e94bfedded 100644
--- a/src/frontend/src/forms/CompanyForms.tsx
+++ b/src/frontend/src/forms/CompanyForms.tsx
@@ -39,6 +39,7 @@ export function useSupplierPartFields({
},
manufacturer_part: {
value: manufacturerPartId,
+ autoFill: true,
filters: {
manufacturer: manufacturerId,
part_detail: true,
@@ -71,6 +72,7 @@ export function useSupplierPartFields({
packaging: {
icon:
},
+ primary: {},
active: {}
};
diff --git a/src/frontend/src/forms/PartForms.tsx b/src/frontend/src/forms/PartForms.tsx
index bdb3e25b74..2a54f9a10d 100644
--- a/src/frontend/src/forms/PartForms.tsx
+++ b/src/frontend/src/forms/PartForms.tsx
@@ -1,4 +1,3 @@
-import { ApiEndpoints, ModelType, apiUrl } from '@lib/index';
import type { ApiFormFieldSet } from '@lib/types/Forms';
import { t } from '@lingui/core/macro';
import { IconBuildingStore, IconCopy, IconPackages } from '@tabler/icons-react';
@@ -10,8 +9,10 @@ import { useGlobalSettingsState } from '../states/SettingsStates';
*/
export function usePartFields({
create = false,
+ partId,
duplicatePartInstance
}: {
+ partId?: number;
duplicatePartInstance?: any;
create?: boolean;
}): ApiFormFieldSet {
@@ -54,13 +55,6 @@ export function usePartFields({
structural: false
}
},
- default_supplier: {
- model: ModelType.company,
- api_url: apiUrl(ApiEndpoints.company_list),
- filters: {
- is_supplier: true
- }
- },
default_expiry: {},
minimum_stock: {},
responsible: {
@@ -199,6 +193,7 @@ export function usePartFields({
return fields;
}, [
+ partId,
virtual,
purchaseable,
create,
@@ -263,7 +258,6 @@ export function partStocktakeFields(): ApiFormFieldSet {
cost_min: {},
cost_min_currency: {},
cost_max: {},
- cost_max_currency: {},
- note: {}
+ cost_max_currency: {}
};
}
diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx
index 284899efe5..27dc17d086 100644
--- a/src/frontend/src/forms/PurchaseOrderForms.tsx
+++ b/src/frontend/src/forms/PurchaseOrderForms.tsx
@@ -113,16 +113,6 @@ export function usePurchaseOrderLineItemFields({
}
}, [create, part, quantity, priceBreaks]);
- useEffect(() => {
- if (autoPricing) {
- setPurchasePrice('');
- }
- }, [autoPricing]);
-
- useEffect(() => {
- setAutoPricing(purchasePrice === '');
- }, [purchasePrice]);
-
const fields = useMemo(() => {
const fields: ApiFormFieldSet = {
order: {
@@ -159,6 +149,7 @@ export function usePurchaseOrderLineItemFields({
purchase_price: {
icon: ,
value: purchasePrice,
+ disabled: autoPricing,
placeholder: suggestedPurchasePrice,
placeholderAutofill: true,
onValueChange: setPurchasePrice
@@ -169,6 +160,7 @@ export function usePurchaseOrderLineItemFields({
onValueChange: setPurchasePriceCurrency
},
auto_pricing: {
+ default: create !== false,
value: autoPricing,
onValueChange: setAutoPricing
},
@@ -300,7 +292,8 @@ export function usePurchaseOrderFields({
value: duplicateOrderId
},
copy_lines: {},
- copy_extra_lines: {}
+ copy_extra_lines: {},
+ copy_parameters: {}
}
};
}
@@ -361,12 +354,7 @@ function LineItemFormRow({
// Serial number generator
const serialNumberGenerator = useSerialNumberGenerator({
- isEnabled: () => batchOpen && trackable,
- onGenerate: (value: any) => {
- if (value) {
- props.changeFn(props.idx, 'serial_numbers', value);
- }
- }
+ isEnabled: () => trackable
});
const [packagingOpen, packagingHandlers] = useDisclosure(false, {
@@ -384,7 +372,6 @@ function LineItemFormRow({
const [batchOpen, batchHandlers] = useDisclosure(false, {
onClose: () => {
props.changeFn(props.idx, 'batch_code', undefined);
- props.changeFn(props.idx, 'serial_numbers', undefined);
},
onOpen: () => {
// Generate a new batch code
@@ -392,6 +379,14 @@ function LineItemFormRow({
part: record?.supplier_part_detail?.part,
order: record?.order
});
+ }
+ });
+
+ const [serialOpen, serialHandlers] = useDisclosure(false, {
+ onClose: () => {
+ props.changeFn(props.idx, 'serial_numbers', undefined);
+ },
+ onOpen: () => {
// Generate new serial numbers
if (trackable) {
serialNumberGenerator.update({
@@ -435,14 +430,6 @@ function LineItemFormRow({
props.changeFn(props.idx, 'barcode', barcode);
}, [barcode]);
- const batchToolTip: string = useMemo(() => {
- if (trackable) {
- return t`Assign Batch Code and Serial Numbers`;
- } else {
- return t`Assign Batch Code`;
- }
- }, [trackable]);
-
// Update location field description on state change
useEffect(() => {
if (!opened) {
@@ -564,10 +551,21 @@ function LineItemFormRow({
size='sm'
onClick={() => batchHandlers.toggle()}
icon={ }
- tooltip={batchToolTip}
+ tooltip={t`Assign Batch Code`}
tooltipAlignment='top'
variant={batchOpen ? 'outline' : 'transparent'}
/>
+ {trackable && (
+ serialHandlers.toggle()}
+ icon={ }
+ tooltip={t`Assign Serial Numbers`}
+ tooltipAlignment='top'
+ variant={serialOpen ? 'outline' : 'transparent'}
+ />
+ )}
+
{settings.isSet('STOCK_ENABLE_EXPIRY') && (
props.changeFn(props.idx, 'serial_numbers', value)
}
@@ -726,7 +724,10 @@ function LineItemFormRow({
field_type: 'string',
label: t`Serial Numbers`,
description: t`Enter serial numbers for received items`,
- value: props.item.serial_numbers
+ value: props.item.serial_numbers,
+ placeholderAutofill: true,
+ placeholder:
+ serialNumberGenerator.result && `${serialNumberGenerator.result}`
}}
error={props.rowErrors?.serial_numbers?.message}
/>
diff --git a/src/frontend/src/forms/ReturnOrderForms.tsx b/src/frontend/src/forms/ReturnOrderForms.tsx
index 92f631feab..ca4e5a51f6 100644
--- a/src/frontend/src/forms/ReturnOrderForms.tsx
+++ b/src/frontend/src/forms/ReturnOrderForms.tsx
@@ -91,7 +91,8 @@ export function useReturnOrderFields({
value: false,
hidden: true
},
- copy_extra_lines: {}
+ copy_extra_lines: {},
+ copy_parameters: {}
}
};
}
diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx
index 7550534dc0..b4b4fa4c4e 100644
--- a/src/frontend/src/forms/SalesOrderForms.tsx
+++ b/src/frontend/src/forms/SalesOrderForms.tsx
@@ -24,7 +24,9 @@ import type {
ApiFormFieldSet,
ApiFormFieldType
} from '@lib/types/Forms';
+import dayjs from 'dayjs';
import type { TableFieldRowProps } from '../components/forms/fields/TableField';
+import useBackgroundTask from '../hooks/UseBackgroundTask';
import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm';
import { useGlobalSettingsState } from '../states/SettingsStates';
import { useUserState } from '../states/UserState';
@@ -90,7 +92,8 @@ export function useSalesOrderFields({
value: duplicateOrderId
},
copy_lines: {},
- copy_extra_lines: {}
+ copy_extra_lines: {},
+ copy_parameters: {}
}
};
}
@@ -174,7 +177,9 @@ export function useSalesOrderLineItemFields({
},
sale_price: {
placeholder: salePrice,
- placeholderAutofill: true
+ placeholderAutofill: true,
+ placeholderWarningCompare: salePrice,
+ placeholderWarning: t`Price based on part and quantity differs${salePrice ? `; suggested: (${salePrice})` : '.'}`
},
sale_price_currency: {
icon: ,
@@ -251,6 +256,45 @@ export function useUncheckShipmentForm({
});
}
+export function useCompleteShipmentForm({
+ shipment,
+ onSuccess
+}: {
+ shipment: any;
+ onSuccess: () => void;
+}) {
+ const [taskId, setTaskId] = useState('');
+
+ const completeShipmentFields = useSalesOrderShipmentCompleteFields({});
+
+ useBackgroundTask({
+ taskId: taskId,
+ message: t`Completing shipment`,
+ successMessage: t`Shipment completed successfully`,
+ onSuccess: onSuccess
+ });
+
+ return useCreateApiFormModal({
+ url: ApiEndpoints.sales_order_shipment_complete,
+ pk: shipment.pk,
+ title: t`Complete Shipment`,
+ fields: completeShipmentFields,
+ focus: 'tracking_number',
+ initialData: {
+ ...shipment,
+ shipment_date: dayjs().format('YYYY-MM-DD')
+ },
+ successMessage: null,
+ onFormSuccess: (response: any) => {
+ if (response.task_id) {
+ setTaskId(response.task_id);
+ } else {
+ onSuccess();
+ }
+ }
+ });
+}
+
function SalesOrderAllocateLineRow({
props,
record,
@@ -402,6 +446,7 @@ export function useAllocateToSalesOrderForm({
}
},
shipment: {
+ autoFill: true,
filters: {
shipped: false,
order_detail: true,
diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx
index 70476d591e..3ab80b7543 100644
--- a/src/frontend/src/forms/StockForms.tsx
+++ b/src/frontend/src/forms/StockForms.tsx
@@ -51,6 +51,7 @@ import { RenderStockLocation } from '../components/render/Stock';
import { InvenTreeIcon } from '../functions/icons';
import {
useApiFormModal,
+ useBulkEditApiFormModal,
useCreateApiFormModal,
useDeleteApiFormModal
} from '../hooks/UseForm';
@@ -58,6 +59,7 @@ import {
useBatchCodeGenerator,
useSerialNumberGenerator
} from '../hooks/UseGenerator';
+import useStatusCodes from '../hooks/UseStatusCodes';
import { useGlobalSettingsState } from '../states/SettingsStates';
import { StatusFilterOptions } from '../tables/Filter';
@@ -136,6 +138,10 @@ export function useStockFields({
);
}, [globalSettings]);
+ const stockItemStatusCodes = useStatusCodes({
+ modelType: ModelType.stockitem
+ });
+
return useMemo(() => {
const fields: ApiFormFieldSet = {
part: {
@@ -237,7 +243,8 @@ export function useStockFields({
placeholder: batchGenerator.result
},
status_custom_key: {
- label: t`Stock Status`
+ label: t`Stock Status`,
+ default: stockItemStatusCodes.OK
},
expiry_date: {
icon: ,
@@ -640,7 +647,8 @@ function StockOperationsRow({
{stockString}
@@ -1038,6 +1046,30 @@ function stockMergeFields(items: any[]): ApiFormFieldSet {
const records = Object.fromEntries(items.map((item) => [item.pk, item]));
+ // Extract all non-null location values from the items
+ const locationValues = [
+ ...new Set(
+ items.filter((item) => item.location).map((item) => item.location)
+ )
+ ];
+
+ // Extract all non-null default location values from the items
+ const defaultLocationValues = [
+ ...new Set(
+ items
+ .filter((item) => item.part_detail?.default_location)
+ .map((item) => item.part_detail?.default_location)
+ )
+ ];
+
+ // Select a default location value
+ const defaultLocation =
+ locationValues.length === 1
+ ? locationValues[0]
+ : defaultLocationValues.length === 1
+ ? defaultLocationValues[0]
+ : undefined;
+
const fields: ApiFormFieldSet = {
items: {
field_type: 'table',
@@ -1067,7 +1099,7 @@ function stockMergeFields(items: any[]): ApiFormFieldSet {
]
},
location: {
- default: items[0]?.part_detail?.default_location,
+ default: defaultLocation,
filters: {
structural: false
}
@@ -1344,6 +1376,38 @@ export function useChangeStockStatus(props: StockOperationProps) {
});
}
+export function useChangeStockBatchCode(props: StockOperationProps) {
+ // Return a common batch code value if all items share the same batch code, otherwise return undefined
+ const batchCode = useMemo(() => {
+ const batchCodeValues = new Set(
+ props.items?.filter((item) => item.batch).map((item) => item.batch)
+ );
+
+ if (batchCodeValues.size === 1) {
+ return batchCodeValues.values().next().value;
+ }
+
+ return undefined;
+ }, [props.items]);
+
+ return useBulkEditApiFormModal({
+ url: ApiEndpoints.stock_item_list,
+ items: props.items?.map((item: any) => item.pk) ?? [],
+ title: t`Change Batch Code`,
+ preFormContent: (
+
+ {t`Change batch code for the selected stock items`}
+
+ ),
+ fields: {
+ batch: {
+ value: batchCode
+ }
+ },
+ onFormSuccess: props.refresh
+ });
+}
+
export function useMergeStockItem(props: StockOperationProps) {
return useStockOperationModal({
...props,
@@ -1472,6 +1536,10 @@ export function useTestResultFields({
setChoices([]);
setFieldType('string');
}
+ } else {
+ // No choices defined - this is a free-form text field
+ setChoices([]);
+ setFieldType('string');
}
}
},
diff --git a/src/frontend/src/functions/auth.tsx b/src/frontend/src/functions/auth.tsx
index f1c9335d50..e2e58d4da4 100644
--- a/src/frontend/src/functions/auth.tsx
+++ b/src/frontend/src/functions/auth.tsx
@@ -90,7 +90,7 @@ export async function doBasicLogin(
const host: string = getHost();
- // Attempt login with
+ // Attempt login with basic info
await api
.post(
apiUrl(ApiEndpoints.auth_login),
@@ -119,12 +119,13 @@ export async function doBasicLogin(
await handlePossibleMFAError(err);
break;
case 409:
+ doLogout(navigate);
notifications.show({
- title: t`Already logged in`,
- message: t`There is a conflicting session on the server for this browser. Please logout of that first.`,
+ title: t`Logged Out`,
+ message: t`There was a conflicting session for this browser, which has been logged out.`,
color: 'red',
id: 'auth-login-error',
- autoClose: false
+ autoClose: true
});
break;
default:
@@ -146,10 +147,16 @@ export async function doBasicLogin(
}
});
+ // see if mfa registration is required
+ if (loginDone) {
+ // stop further processing if mfa setup is required
+ if (!(await MfaSetupOk(navigate))) loginDone = false;
+ }
+
+ // we are successfully logged in - gather required states for app
if (loginDone) {
await fetchUserState();
- // see if mfa registration is required
- await fetchGlobalStates(navigate);
+ await fetchGlobalStates();
observeProfile();
} else if (!success) {
clearUserState();
@@ -237,13 +244,41 @@ export const doSimpleLogin = async (email: string) => {
return mail;
};
+function MfaSetupOk(navigate: NavigateFunction) {
+ return api
+ .get(apiUrl(ApiEndpoints.auth_base))
+ .then(() => {
+ return true;
+ })
+ .catch((err) => {
+ if (err?.response?.status == 401) {
+ const mfa_register = err.response.data.id == FlowEnum.MfaRegister;
+ if (mfa_register && navigate != undefined) {
+ navigate('/mfa-setup');
+ return false;
+ }
+ } else {
+ console.error(err);
+ }
+ return true;
+ });
+}
+
function observeProfile() {
// overwrite language and theme info in session with profile info
const user = useUserState.getState().getUser();
const { language, setLanguage, userTheme, setTheme, setWidgets, setLayouts } =
useLocalState.getState();
+ const { server } = useServerApiState.getState(); //(useShallow((state) => [state.server]));
+
+ // fast exit if loading is disabled for this server
+ if (server.customize?.disable_theme_storage) {
+ return;
+ }
+
if (user) {
+ // set profile language
if (user.profile?.language && language != user.profile.language) {
showNotification({
title: t`Language changed`,
@@ -254,6 +289,7 @@ function observeProfile() {
setLanguage(user.profile.language, true);
}
+ // set profile theme
if (user.profile?.theme) {
// extract keys of usertheme and set them to the values of user.profile.theme
const newTheme = Object.keys(userTheme).map((key) => {
@@ -275,6 +311,7 @@ function observeProfile() {
}
}
+ // set profile widgets/layouts
if (user.profile?.widgets) {
const data = user.profile.widgets;
// split data into widgets and layouts (either might be undefined)
@@ -325,19 +362,14 @@ export async function handleMfaLogin(
) {
const { setAuthContext } = useServerApiState.getState();
- const result = await authApi(
- apiUrl(ApiEndpoints.auth_login_2fa),
- undefined,
- 'post',
- {
- code: values.code
- }
- )
+ return await authApi(apiUrl(ApiEndpoints.auth_login_2fa), undefined, 'post', {
+ code: values.code
+ })
.then((response) => {
handleSuccessFullAuth(response, navigate, location, setError);
return true;
})
- .catch((err) => {
+ .catch(async (err) => {
// Already logged in, but with a different session
if (err?.response?.status == 409) {
notifications.show({
@@ -353,11 +385,12 @@ export async function handleMfaLogin(
);
if (mfa_trust?.is_pending) {
setAuthContext(err.response.data.data);
- authApi(apiUrl(ApiEndpoints.auth_trust), undefined, 'post', {
+ await authApi(apiUrl(ApiEndpoints.auth_trust), undefined, 'post', {
trust: values.remember ?? false
}).then((response) => {
handleSuccessFullAuth(response, navigate, location, setError);
});
+ return true;
}
} else {
const errors = err.response?.data?.errors;
@@ -370,7 +403,6 @@ export async function handleMfaLogin(
}
return false;
});
- return result;
}
/**
@@ -381,7 +413,7 @@ export async function handleMfaLogin(
* - An existing CSRF cookie is stored in the browser
*/
export const checkLoginState = async (
- navigate: any,
+ navigate: NavigateFunction,
redirect?: any,
no_redirect?: boolean
) => {
@@ -395,22 +427,25 @@ export const checkLoginState = async (
const { isLoggedIn, fetchUserState } = useUserState.getState();
// Callback function when login is successful
- const loginSuccess = () => {
+ const loginSuccess = async () => {
setLoginChecked(true);
showLoginNotification({
title: t`Logged In`,
message: t`Successfully logged in`
});
+ MfaSetupOk(navigate).then(async (isOk) => {
+ if (isOk) {
+ observeProfile();
+ await fetchGlobalStates();
- observeProfile();
-
- fetchGlobalStates(navigate);
- followRedirect(navigate, redirect);
+ followRedirect(navigate, redirect);
+ }
+ });
};
if (isLoggedIn()) {
// Already logged in
- loginSuccess();
+ await loginSuccess();
return;
}
@@ -419,7 +454,7 @@ export const checkLoginState = async (
await fetchUserState();
if (isLoggedIn()) {
- loginSuccess();
+ await loginSuccess();
} else if (!no_redirect) {
setLoginChecked(true);
navigate('/login', { state: redirect });
@@ -428,8 +463,8 @@ export const checkLoginState = async (
};
function handleSuccessFullAuth(
- response?: any,
- navigate?: NavigateFunction,
+ response: any,
+ navigate: NavigateFunction,
location?: Location,
setError?: (message: string | undefined) => void
) {
@@ -446,12 +481,16 @@ function handleSuccessFullAuth(
}
setAuthenticated();
- fetchUserState().finally(() => {
- observeProfile();
- fetchGlobalStates(navigate);
+ // see if mfa registration is required
+ MfaSetupOk(navigate).then(async (isOk) => {
+ if (isOk) {
+ await fetchUserState();
+ observeProfile();
+ await fetchGlobalStates();
- if (navigate && location) {
- followRedirect(navigate, location?.state);
+ if (location !== undefined) {
+ followRedirect(navigate, location?.state);
+ }
}
});
}
@@ -544,7 +583,12 @@ export function handleVerifyTotp(
authApi(apiUrl(ApiEndpoints.auth_totp), undefined, 'post', {
code: value
}).then(() => {
- followRedirect(navigate, location?.state);
+ showNotification({
+ title: t`MFA Setup successful`,
+ message: t`MFA via TOTP has been set up successfully; you will need to login again.`,
+ color: 'green'
+ });
+ doLogout(navigate);
});
};
}
@@ -688,8 +732,8 @@ export function handleChangePassword(
}
export async function handleWebauthnLogin(
- navigate?: NavigateFunction,
- location?: Location
+ navigate: NavigateFunction,
+ location: Location
) {
const { setAuthContext } = useServerApiState.getState();
diff --git a/src/frontend/src/functions/tables.tsx b/src/frontend/src/functions/tables.tsx
index 0abe409b2b..04142f2c5a 100644
--- a/src/frontend/src/functions/tables.tsx
+++ b/src/frontend/src/functions/tables.tsx
@@ -24,3 +24,15 @@ export function shortenString({
return `${str.slice(0, N)} ... ${str.slice(-N)}`;
}
+
+/**
+ * Generate a short hash from a long string
+ */
+export function hashString(str: string): string {
+ let hash = 0;
+ for (let i = 0; i < str.length; i++) {
+ hash = (hash << 5) - hash + str.charCodeAt(i);
+ hash |= 0; // Convert to 32bit integer
+ }
+ return hash.toString(36);
+}
diff --git a/src/frontend/src/hooks/UseBackgroundTask.tsx b/src/frontend/src/hooks/UseBackgroundTask.tsx
new file mode 100644
index 0000000000..aab807b02f
--- /dev/null
+++ b/src/frontend/src/hooks/UseBackgroundTask.tsx
@@ -0,0 +1,18 @@
+import useMonitorBackgroundTask, {
+ type MonitorBackgroundTaskProps
+} from '@lib/hooks/MonitorBackgroundTask';
+import { useApi } from '../contexts/ApiContext';
+
+/**
+ * Hook for monitoring the progress of a background task running on the server
+ */
+export default function useBackgroundTask(
+ props: Omit
+) {
+ const api = useApi();
+
+ return useMonitorBackgroundTask({
+ ...props,
+ api: api
+ });
+}
diff --git a/src/frontend/src/hooks/UseDataOutput.tsx b/src/frontend/src/hooks/UseDataOutput.tsx
index 84be903f70..8210a2276e 100644
--- a/src/frontend/src/hooks/UseDataOutput.tsx
+++ b/src/frontend/src/hooks/UseDataOutput.tsx
@@ -1,14 +1,6 @@
-import { ProgressBar } from '@lib/components/ProgressBar';
-import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
-import { apiUrl } from '@lib/functions/Api';
-import { t } from '@lingui/core/macro';
-import { useDocumentVisibility } from '@mantine/hooks';
-import { notifications, showNotification } from '@mantine/notifications';
-import { IconCircleCheck, IconExclamationCircle } from '@tabler/icons-react';
-import { useQuery } from '@tanstack/react-query';
-import { useEffect, useState } from 'react';
+import useMonitorDataOutput from '@lib/hooks/MonitorDataOutput';
import { useApi } from '../contexts/ApiContext';
-import { generateUrl } from '../functions/urls';
+import { useLocalState } from '../states/LocalState';
/**
* Hook for monitoring a data output process running on the server
@@ -21,97 +13,12 @@ export default function useDataOutput({
id?: number;
}) {
const api = useApi();
+ const { getHost } = useLocalState.getState();
- const visibility = useDocumentVisibility();
-
- const [loading, setLoading] = useState(false);
-
- useEffect(() => {
- if (!!id) {
- setLoading(true);
- showNotification({
- id: `data-output-${id}`,
- title: title,
- loading: true,
- autoClose: false,
- withCloseButton: false,
- message:
- });
- } else setLoading(false);
- }, [id, title]);
-
- useQuery({
- enabled: !!id && loading && visibility === 'visible',
- refetchInterval: 500,
- queryKey: ['data-output', id, title],
- queryFn: () =>
- api
- .get(apiUrl(ApiEndpoints.data_output, id))
- .then((response) => {
- const data = response?.data ?? {};
-
- if (!!data.errors || !!data.error) {
- setLoading(false);
-
- const error: string =
- data?.error ?? data?.errors?.error ?? t`Process failed`;
-
- notifications.update({
- id: `data-output-${id}`,
- loading: false,
- icon: ,
- autoClose: 2500,
- title: title,
- message: error,
- color: 'red'
- });
- } else if (data.complete) {
- setLoading(false);
- notifications.update({
- id: `data-output-${id}`,
- loading: false,
- autoClose: 2500,
- title: title,
- message: t`Process completed successfully`,
- color: 'green',
- icon:
- });
-
- if (data.output) {
- const url = generateUrl(data.output);
- window.open(url.toString(), '_blank');
- }
- } else {
- notifications.update({
- id: `data-output-${id}`,
- loading: true,
- autoClose: false,
- withCloseButton: false,
- message: (
- 0}
- animated
- />
- )
- });
- }
-
- return data;
- })
- .catch(() => {
- setLoading(false);
- notifications.update({
- id: `data-output-${id}`,
- loading: false,
- autoClose: 2500,
- title: title,
- message: t`Process failed`,
- color: 'red'
- });
- return {};
- })
+ return useMonitorDataOutput({
+ api: api,
+ title: title,
+ id: id,
+ hostname: getHost()
});
}
diff --git a/src/frontend/src/hooks/UseFilterSet.tsx b/src/frontend/src/hooks/UseFilterSet.tsx
index 7638b91532..9d0300cb46 100644
--- a/src/frontend/src/hooks/UseFilterSet.tsx
+++ b/src/frontend/src/hooks/UseFilterSet.tsx
@@ -1,21 +1,43 @@
import type { FilterSetState, TableFilter } from '@lib/types/Filters';
import { useLocalStorage } from '@mantine/hooks';
-import { useCallback } from 'react';
+import { useCallback, useMemo } from 'react';
-export function useFilterSet(filterKey: string): FilterSetState {
+export function useFilterSet(
+ filterKey: string,
+ initialFilters?: TableFilter[]
+): FilterSetState {
// Array of active filters (saved to local storage)
- const [activeFilters, setActiveFilters] = useLocalStorage({
+ const [storedFilters, setStoredFilters] = useLocalStorage<
+ TableFilter[] | null
+ >({
key: `inventree-filterset-${filterKey}`,
- defaultValue: [],
+ defaultValue: null,
sync: false,
getInitialValueInEffect: false
});
+ const activeFilters: TableFilter[] = useMemo(() => {
+ if (storedFilters == null) {
+ // If there are no stored filters, set initial values
+ const filters = initialFilters || [];
+ setStoredFilters(filters);
+ return filters;
+ }
+ return storedFilters || [];
+ }, [storedFilters]);
+
// Callback to clear all active filters from the table
const clearActiveFilters = useCallback(() => {
- setActiveFilters([]);
+ setStoredFilters([]);
}, []);
+ const setActiveFilters = useCallback(
+ (filters: TableFilter[]) => {
+ setStoredFilters(filters);
+ },
+ [setStoredFilters]
+ );
+
return {
filterKey,
activeFilters,
diff --git a/src/frontend/src/hooks/UseImportSession.tsx b/src/frontend/src/hooks/UseImportSession.tsx
index 5410e77ee7..4e97c05944 100644
--- a/src/frontend/src/hooks/UseImportSession.tsx
+++ b/src/frontend/src/hooks/UseImportSession.tsx
@@ -42,6 +42,7 @@ export function useImportSession({
} = useInstance({
endpoint: ApiEndpoints.import_session_list,
pk: sessionId,
+ hasPrimaryKey: true,
defaultValue: {}
});
diff --git a/src/frontend/src/hooks/UseInstance.tsx b/src/frontend/src/hooks/UseInstance.tsx
index 9caf729aea..75158a9d5a 100644
--- a/src/frontend/src/hooks/UseInstance.tsx
+++ b/src/frontend/src/hooks/UseInstance.tsx
@@ -85,7 +85,7 @@ export function useInstance({
pk == null ||
pk == undefined ||
pk.toString().length == 0 ||
- pk == '-1'
+ pk.toString() == '-1'
) {
setInstance(defaultValue);
return defaultValue;
diff --git a/src/frontend/src/hooks/UseStockAdjustActions.tsx b/src/frontend/src/hooks/UseStockAdjustActions.tsx
index f0450bf0b3..9fe864a25a 100644
--- a/src/frontend/src/hooks/UseStockAdjustActions.tsx
+++ b/src/frontend/src/hooks/UseStockAdjustActions.tsx
@@ -8,6 +8,7 @@ import { ActionDropdown } from '../components/items/ActionDropdown';
import {
useAddStockItem,
useAssignStockItem,
+ useChangeStockBatchCode,
useChangeStockStatus,
useCountStockItem,
useDeleteStockItem,
@@ -26,6 +27,7 @@ interface StockAdjustActionProps {
assign?: boolean;
count?: boolean;
changeStatus?: boolean;
+ changeBatch?: boolean;
delete?: boolean;
merge?: boolean;
remove?: boolean;
@@ -55,6 +57,7 @@ export function useStockAdjustActions(
const addStock = useAddStockItem(props.formProps);
const assignStock = useAssignStockItem(props.formProps);
const changeStatus = useChangeStockStatus(props.formProps);
+ const changeBatch = useChangeStockBatchCode(props.formProps);
const countStock = useCountStockItem(props.formProps);
const deleteStock = useDeleteStockItem(props.formProps);
const mergeStock = useMergeStockItem(props.formProps);
@@ -74,6 +77,7 @@ export function useStockAdjustActions(
props.assign != false && modals.push(assignStock);
props.count != false && modals.push(countStock);
props.changeStatus != false && modals.push(changeStatus);
+ props.changeBatch != false && modals.push(changeBatch);
props.merge != false && modals.push(mergeStock);
props.remove != false && modals.push(removeStock);
props.transfer != false && modals.push(transferStock);
@@ -153,6 +157,16 @@ export function useStockAdjustActions(
}
});
+ props.changeBatch != false &&
+ menuActions.push({
+ name: t`Change Batch Code`,
+ icon: ,
+ tooltip: t`Change batch code of selected stock items`,
+ onClick: () => {
+ changeBatch.open();
+ }
+ });
+
props.assign != false &&
menuActions.push({
name: t`Assign Stock`,
diff --git a/src/frontend/src/hooks/UseTable.tsx b/src/frontend/src/hooks/UseTable.tsx
index 79d10e87f4..49a2c50569 100644
--- a/src/frontend/src/hooks/UseTable.tsx
+++ b/src/frontend/src/hooks/UseTable.tsx
@@ -2,17 +2,28 @@ import { randomId } from '@mantine/hooks';
import { useCallback, useMemo, useState } from 'react';
import { useSearchParams } from 'react-router-dom';
-import type { FilterSetState } from '@lib/types/Filters';
+import type { FilterSetState, TableFilter } from '@lib/types/Filters';
import type { TableState } from '@lib/types/Tables';
import { useFilterSet } from './UseFilterSet';
+export type TableStateExtraProps = {
+ idAccessor?: string;
+ initialFilters?: TableFilter[];
+};
+
/**
* A custom hook for managing the state of an component.
*
* Refer to the TableState type definition for more information.
*/
-export function useTable(tableName: string, idAccessor = 'pk'): TableState {
+export function useTable(
+ tableName: string,
+ tableProps: TableStateExtraProps = {
+ idAccessor: 'pk',
+ initialFilters: []
+ }
+): TableState {
// Function to generate a new ID (to refresh the table)
function generateTableName() {
return `${tableName.replaceAll('-', '')}-${randomId()}`;
@@ -38,7 +49,10 @@ export function useTable(tableName: string, idAccessor = 'pk'): TableState {
[generateTableName]
);
- const filterSet: FilterSetState = useFilterSet(`table-${tableName}`);
+ const filterSet: FilterSetState = useFilterSet(
+ `table-${tableName}`,
+ tableProps.initialFilters
+ );
// Array of expanded records
const [expandedRecords, setExpandedRecords] = useState([]);
@@ -59,7 +73,7 @@ export function useTable(tableName: string, idAccessor = 'pk'): TableState {
// Array of selected primary key values
const selectedIds = useMemo(
- () => selectedRecords.map((r) => r[idAccessor || 'pk']),
+ () => selectedRecords.map((r) => r[tableProps.idAccessor || 'pk']),
[selectedRecords]
);
@@ -89,7 +103,7 @@ export function useTable(tableName: string, idAccessor = 'pk'): TableState {
// Find the matching record in the table
const index = _records.findIndex(
- (r) => r[idAccessor || 'pk'] === record.pk
+ (r) => r[tableProps.idAccessor || 'pk'] === record.pk
);
if (index >= 0) {
@@ -106,6 +120,11 @@ export function useTable(tableName: string, idAccessor = 'pk'): TableState {
[records]
);
+ const idAccessor = useMemo(
+ () => tableProps.idAccessor || 'pk',
+ [tableProps.idAccessor]
+ );
+
const [isLoading, setIsLoading] = useState(false);
return {
diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po
index 4af1aee875..974f047eaa 100644
--- a/src/frontend/src/locales/ar/messages.po
+++ b/src/frontend/src/locales/ar/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ar\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
@@ -22,12 +22,12 @@ msgstr ""
#: src/components/items/ActionDropdown.tsx:289
#: src/pages/Index/Scan.tsx:64
msgid "Duplicate"
-msgstr ""
+msgstr "نسخه مطابقة"
#: lib/components/RowActions.tsx:46
#: src/components/items/ActionDropdown.tsx:245
msgid "Edit"
-msgstr ""
+msgstr "تعديل"
#: lib/components/RowActions.tsx:56
#: src/components/forms/ApiForm.tsx:754
@@ -35,47 +35,47 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
-msgstr ""
+msgstr "حذف"
#: lib/components/RowActions.tsx:66
#: src/components/details/DetailsImage.tsx:83
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
-msgstr ""
+msgstr "إلغاء"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
-msgstr ""
+msgstr "الإجراءات"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
-msgstr ""
+msgstr "بحث"
#: lib/components/YesNoButton.tsx:20
msgid "Pass"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "مسح"
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr "الخيارات"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "اختر موقع المصدر لتخصيص المخزون"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "تم تخصيص عناصر المخزون"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "التخصيص التلقائي قيد التنفيذ"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "تخصيص تلقائي للمخزون"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "تخصيص المخزون تِلْقائيًا لهذا البناء وفقا للخيارات المحددة"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "إلغاء تخصيص المخزون"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "إلغاء تخصيص جميع المخزون الغير متابع لطلب البناء هذا"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "إلغاء تخصيص المخزون من العنصر المحدد"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "تم إلغاء تخصيص المخزون"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po
index 43660f9cce..207ae4fba0 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po
index 940e5f2888..f878b3a1af 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -35,7 +35,7 @@ msgstr "Upravit"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Odstranit"
@@ -44,36 +44,36 @@ msgstr "Odstranit"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Zrušit"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Akce"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Hledat"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Selhání"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ano"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Ne"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Díl"
@@ -134,7 +138,7 @@ msgstr "Díl"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Díly"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr "Parametr"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametry"
@@ -180,37 +184,37 @@ msgstr "Šablony testu položky"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Díl dodavatele"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Díly dodavatele"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Díl výrobce"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Díly výrobce"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Kategorie dílu"
@@ -218,19 +222,22 @@ msgstr "Kategorie dílu"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Kategorie dílů"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Skladová položka"
@@ -238,22 +245,22 @@ msgstr "Skladová položka"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Skladové položky"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Umístění skladu"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Skladová umístění"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Typy skladových umístění"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Historie skladu"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Položky sestavy"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Firmy"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Kód projektu"
@@ -330,21 +337,21 @@ msgstr "Kódy projektu"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Objednávka"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Objednávky"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Řádky objednávky"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Prodejní objednávka"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Prodejní objednávky"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Nastavení prodejních objednávek"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Vrácená objednávka"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Vrácené objednávky"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adresa"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresy"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakty"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Správce"
@@ -451,15 +458,15 @@ msgstr "Správci"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Uživatel"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Šablony hlášení"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Nastavení pluginu"
@@ -543,31 +550,31 @@ msgstr "Výběrová pole"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Administrace"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Vytvořené objednávky"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Proces se nezdařil"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Proces byl úspěšně dokončen"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Chyba při vykreslování komponenty"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Došlo k chybě při vykreslování této komponenty. Více informací najdete v konzoli."
@@ -637,7 +648,7 @@ msgstr "Čárový kód"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Skenovat"
@@ -668,8 +679,8 @@ msgstr "Zadat data čárového kódu"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Skenovat čárový kód"
@@ -688,7 +699,7 @@ msgstr "Čárkový kód neodpovídá očekávanému typu modelu"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Dokončeno"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Nepodařilo se propojit čárový kód"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Odkaz"
@@ -754,7 +765,7 @@ msgstr "Tímto odstraníte odkaz na přidružený čárový kód"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Odstranit čárový kód"
@@ -766,11 +777,11 @@ msgstr "Otevřít v administrátorském rozhraní"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Zkopírováno"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopírovat"
@@ -798,19 +809,15 @@ msgstr "Tisk reportu"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Tisk štítku"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Tisk"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Tisk"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Tisk reportu"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Tiskové akce"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Tisk štítků"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Tisk reportu"
@@ -860,8 +867,8 @@ msgstr "Budete přesměrováni na poskytovatele pro další akce."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Otevřít skener čárového kódu"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Zrušit odběr oznámení"
msgid "Subscribe to notifications"
msgstr "Přihlásit se k odběru oznámení"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Filtry kalendáře"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Předchozí měsíc"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Vybrat měsíc"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Příští měsíc"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Stáhnout data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Exportovat data"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Chyba při aktualizaci objednávky"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Po splatnosti"
@@ -937,7 +949,7 @@ msgstr "Přijmout rozložení"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Nejsou k dispozici žádné widgety"
msgid "There are no more widgets available for the dashboard"
msgstr "Pro nástěnku nejsou dostupné žádné další widgety"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Odebírané díly"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Zobrazit počet částí, ke kterým jste přihlášeni"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Sledované kategorie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Zobrazit počet kategorií, ke kterým jste se přihlásili"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Neplatné kusovníky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Sestavy vyžadující ověření kusovníku"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Nízké zásoby"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Zobraz počet polžek s nízkou skladovou zásobou"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Vyžadováno pro vytvoření objednávek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Zobrazit části, které jsou vyžadovány pro aktivní objednávky staveb"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Položky s prošlou platností"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Zobrazit počet skladových položek, které vypršely"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Zastaralé položky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Zobrazit počet položek skladu, které jsou zastaralé"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Aktivní objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Zobrazit počet objednávek sestavení, které jsou momentálně aktivní"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Po termínu sestavení objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Zobrazit počet objednávek po termínu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Přiřazené objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Zobrazit počet objednávek sestavení, které vám jsou přiděleny"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Aktivní objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Zobrazit počet aktivních objednávek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Zpožděné objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Zobrazit počet objednávek po splatnosti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Přiřazené prodejní objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Zobrazit počet objednávek, které vám jsou přiděleny"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Čekající zásilky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Zobrazit počet nevyřízených zásilek objednávek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Aktivní objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Zobrazit počet aktuálně aktivních objednávek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Objednávky po splatnosti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Zobrazit počet objednávek po splatnosti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Přiřazené objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Zobrazit počet objednávek, které vám jsou přiděleny"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Aktivní vratkové objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Zobrazit počet vrácených objednávek, které jsou aktuálně aktivní"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Po termínu vrácení"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Zobrazit počet objednávek po splatnosti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Přiřazené vrácené objednávky"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Zobrazit počet vrácených objednávek, které vám jsou přiděleny"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Začínáme"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Začínáme s InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Aktualizace novinek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Nejnovější zprávy z InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Žádné novinky"
msgid "There are no unread news items"
msgstr "Žádné nepřečtené novinky"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Generuji report inventury"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Generovat report inventury"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Generovat"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Inventura"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Generovat nový report inventury"
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Žádné nepřečtené novinky"
msgid "Superuser"
msgstr "Superuser"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Personál"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "E-mail: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Žádný název není definován"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Odstranit přidružený obrázek z této položky?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Odstranit"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Nahrajte přetažením"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klepnutím vyberte soubor(y)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Obrázek byl nahrán"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Obrázek byl úspěšně nahrán"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Chyba nahrávání"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Vymazat"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Odeslat"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Vybrat z existujících obrázků"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Vybrat obrázek"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Stáhnout vzdálený obrázek"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Nahrát nový obrázek"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Nahrát obrázek"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Smazat obrázek"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Stáhnout obrázek"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Obraz byl úspěšně stažen"
@@ -1546,7 +1589,7 @@ msgstr "Existují chyby pro jedno nebo více polí formuláře"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Aktualizovat"
@@ -1579,21 +1622,21 @@ msgstr "Přihlášení proběhlo úspěšně"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Přihlášení se nezdařilo"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Zkontrolujte vstup a zkuste to znovu."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "E-mail byl doručen úspěšně"
@@ -1628,7 +1671,7 @@ msgstr "Vaše uživatelské jméno"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Heslo"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Zadejte heslo znova"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registrovat"
@@ -1720,6 +1763,10 @@ msgstr "Registrace není aktivní"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Příčinou může být chybějící nastavení e-mailu, případně to bylo rozhodnuto záměrně"
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Vybrat datum a čas"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Server"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Verze rozhraní API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Pluginy"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Povoleno"
@@ -1850,7 +1898,7 @@ msgstr "Zastaveno"
msgid "Running"
msgstr "Spuštěno"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Vyberte soubor k nahrání"
@@ -1858,7 +1906,7 @@ msgstr "Vyberte soubor k nahrání"
msgid "Accept suggested value"
msgstr "Přijmout doporučenou hodnotu"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Vyberte datum"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Nezařazené"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Hledat..."
@@ -1890,13 +1938,13 @@ msgstr "Vyberte balení"
msgid "{0} icons"
msgstr "Ikony {0}"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Načítání"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nebyly nalezeny žádné výsledky"
@@ -1940,49 +1988,49 @@ msgstr "Upravit data"
msgid "Delete Row"
msgstr "Odstranit řádek"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Řádek"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Řádek obsahuje chyby"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Přijmout"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Platný"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrovat podle stavu ověření řádku"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Hotovo"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrovat podle stavu dokončení řádku"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importovat vybrané řádky"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Zpracovávání dat"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Vyskytla se chyba"
@@ -2002,31 +2050,31 @@ msgstr "Vyberte sloupec, nebo ponechte prázdné pro ignorování tohoto pole."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorovat toto pole"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapování datových sloupců do databázových polí"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Přijmout mapování sloupců"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Databázové pole"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Popis pole:"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Importovaný sloupec"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Výchozí hodnota"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Namapovat sloupce"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importovat Data"
+msgid "Import Rows"
+msgstr "Importovat řádky"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Data byla úspěšně importována"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Zavřít"
@@ -2104,8 +2152,8 @@ msgstr "Možnosti"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Akce čárového kódu"
@@ -2177,10 +2225,15 @@ msgstr "Neznámá chyba"
msgid "None"
msgstr "Žádné"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr "Výchozí jazyk"
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Zvolit jazyk"
@@ -2208,9 +2261,10 @@ msgstr "Aktualizace skupinových rolí"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Aktualizováno"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Role"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Zobrazení"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Změnit"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Přidat"
@@ -2255,14 +2309,14 @@ msgstr "Žádné položky"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "K dispozici"
@@ -2320,7 +2374,7 @@ msgstr "Odkazy"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentace"
@@ -2523,7 +2577,7 @@ msgstr "Další informace o {code}"
msgid "Notifications"
msgstr "Notifikace"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nic nenalezeno..."
@@ -2547,7 +2601,7 @@ msgstr "Nastavení"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Uživatelská nastavení"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Nastavení systému"
@@ -2578,14 +2632,14 @@ msgstr "Nastavení systému"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centrum správce"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Odhlásit"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Zásoby"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Výroba"
@@ -2636,21 +2690,21 @@ msgstr "Výroba"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Nákup"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Prodej"
@@ -2705,7 +2759,7 @@ msgstr "Odstranit skupinu vyhledávání"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Dodavatelé"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Výrobci"
@@ -2768,21 +2822,21 @@ msgstr "Pro hledání nejsou k dispozici žádné výsledky"
msgid "Attachments"
msgstr "Přílohy"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Poznámky"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plugin poskytnutý"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Sbalit panely"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Rozbalit panely"
@@ -2809,19 +2863,19 @@ msgstr "Informace o pluginu"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Datum"
@@ -2845,48 +2899,54 @@ msgstr "Datum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktivní"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Webová stránka"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Název balíčku"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Instalační cesta"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Vestavěný"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Balík"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Nastavení pluginů"
@@ -2969,65 +3029,65 @@ msgstr "Neznámý model: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Doprava"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Neaktivní"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuální"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Není skladem"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "V objednávce"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Ve výrobě"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detaily"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategorie"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Lokace"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Sériové číslo"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Množství"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Dávka"
@@ -3193,45 +3251,53 @@ msgstr "Přidat vlastní stav"
msgid "Create a new custom state for your workflow"
msgstr "Vytvořit nový vlastní stav pro váš pracovní postup"
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Chcete pokračovat ve změně tohoto nastavení?"
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Toto nastavení vyžaduje potvrzení"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Upravit nastavení"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Nastavení {key} bylo úspěšně aktualizováno"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Nastavení aktualizováno"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Nastavení {0} bylo úspěšně aktualizováno"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Při úpravě nastavení došlo k chybě"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Chyba při načítání nastavení"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Žádné nastavení"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Nejsou k dispozici žádná konfigurovatelná nastavení"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Bez specifikovaného nastavení"
@@ -3608,19 +3674,19 @@ msgstr "Již importováno"
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Dodavatel"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Načítání..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr "Další"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Upravit díl"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr "Požadavky prodeje"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Na skladě"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Požadované množství"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Nová položka dodavatele"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Položka dodavatele vytvořena"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Opravte chyby ve vybraných položkách"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Objednat položky"
@@ -4038,77 +4104,89 @@ msgstr "Objednat položky"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Přejít na InvenTree nástěnku"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Navštivte dokumentaci pro více informací o InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "O InvenTree.org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informace o serveru"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "O této instanci Inventree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informace o licenci"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licence pro závislosti služby"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Otevřít navigaci"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Otevřít hlavní navigační menu"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Naskenovat čárový kód nebo QR kód"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr "Přejít do uživatelského nastavení"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Importovat data"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Importovat data ze souboru"
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr "Přejít na objednávky"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr "Přejít na prodejní objednávky"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr "Přejít na vratky"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Naskenovat čárový kód nebo QR kód"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr "Přejít na výrobní příkazy"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr "Přejít do nastavení systému"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Přejít do Admin centra"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Spravovat pluginy InvenTree"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "O InvenTree.org"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Náhradní díl"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Upravit náhrady kusovníku"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Přidat náhradu"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Náhrada přidána"
@@ -4374,53 +4452,53 @@ msgstr "Náhrada přidána"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Výstup sestavy"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr "Množství k dokončení"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Stav"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Dokončit výstupy sestavy"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Výrobní příkaz byl dokončen"
@@ -4428,143 +4506,133 @@ msgstr "Výrobní příkaz byl dokončen"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr "Množství k vyřazení"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Vyřazení výstupů výrobních příkazů"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Vybrané výstupy výrobních příkazů budou vyhotoveny, ale označeny za vyřazené"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Přidělené skladové položky budou spotřebovány"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Výrobní příkaz byl vyřazen"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Výrobní příkaz byl vyřazen"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Zrušit výrobní příkazy"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Vybrané výrobní příkazy budou odstraněny"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Přidělené skladové položky budou vráceny do skladu"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Výrobní příkaz byl zrušen"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IČO"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Přiděleno"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Zdrojové umístění"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Vyberte umístění pro přiřazení zásob"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Přidělit zásoby"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Zásoba přidělena"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Spotřebovat zásoby"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr "Zásoby plánované ke spotřebě"
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Spotřebovat zásoby"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Plně spotřebovány"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Spotřebovány"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr "Vyberte kód projektu pro tuto položku"
@@ -4572,16 +4640,16 @@ msgstr "Vyberte kód projektu pro tuto položku"
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Odebírané"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Přihlásit se k odběru oznámení pro tuto položku"
@@ -4593,11 +4661,11 @@ msgstr "Přihlásit se k odběru oznámení pro tuto položku"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Nadřazená kategorie"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Přihlásit se k odběru oznámení pro tuto kategorii"
@@ -4605,67 +4673,71 @@ msgstr "Přihlásit se k odběru oznámení pro tuto kategorii"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Přiřadit kód dávky a sériová čísla"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Přiřadit kód dávky"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Zvolte umístění"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Cíl položky byl vybrán"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Vybráno výchozí umístění kategorie dílu"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Vybráno skladové umístění"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Výchozí lokace vybrána"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Nastavit umístění"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Přiřadit kód dávky"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Přiřadit sériové čísla"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Nastavit datum expirace"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Upravit balení"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Upravit balení"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Změnit stav"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Přidat poznámku"
@@ -4673,56 +4745,56 @@ msgstr "Přidat poznámku"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Uložit ve výchozím umístění"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Uložit na cíl řádkového předmětu "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Uložit již s přijatými zásobami"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Kód dávky"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Zadat kód dávky pro příchozí položky skladu"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Sériová čísla"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Zadat sériová čísla pro příchozí skladové položky"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Datum expirace"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Zadejte datum expirace pro přijaté položky"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Zadejte datum expirace pro přijaté položky"
msgid "Packaging"
msgstr "Balení"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Poznámka"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Číslo zboží (SKU)"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Přijaté"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Řádek přijatých položek"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Přijaté položky"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Přijaté položky"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Položka byla přijata na skladě"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr "Cena založena na dílu a množství se liší{0}"
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr "Zkontrolovat zásilku"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr "Označení zásilky jako zkontrolovanou znamená, že jste ověřily, že všechny položky v této zásilce jsou správné"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr "Zásilka označena jako zkontrolována"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr "Odznačit zásilku"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr "Označení zásilky jako nezkontrolované znamená, že zásilka vyžaduje další ověření"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr "Zásilka označená jako nezkontrolována"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Dokončit zásilku"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr "Ponechte prázdné pro použití adresy objednávky"
@@ -4806,193 +4896,202 @@ msgstr "Ponechte prázdné pro použití adresy objednávky"
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Přidat dané množství jako balení namísto jednotlivých položek"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Zadejte počáteční množství pro tuto skladovou položku"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Zadejte sériová čísla pro novou skladbu (nebo ponechte prázdné)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Stav skladu"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Nová skladová položka"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Vyberte skladovou položku k instalaci"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Potvrdit převod zásob"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Přesunout do výchozího umístění"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Přesunout"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Vrátit"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Počet"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Přidat zásobu"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Zásoba přidána"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Zvyšte množství vybraných skladových položek o danou částku."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Snížit zásobu"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Zásoba snížena"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Snižte množství vybraných skladových položek o danou částku."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Převést zásobu"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Skladová položka převedena"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Přesunout vybrané položky do určeného umístění."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Vrátit zásoby"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Zásoby vráceny"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Vrátit vybrané položky do skladu na určené místo."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Spočítat zásoby"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Spočítáno"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Spočítat vybrané skladové položky, a podle toho upravit množství."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Změnit stav skladu"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Stav skladu byl změněn"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Změnit stav vybraných skladových položek."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr "Změnit kód sarže"
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr "Změnit kód sarže pro vybrané skladové položky"
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Sloučit zásoby"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Zásoby sloučeny"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Sloučit skladové položky"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Sloučení nelze vrátit zpět"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Při slučování položek mohou být informace o sledování ztraceny"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Informace o dodavateli mohou být při slučování položek ztraceny"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Přiřadit sklad zákazníkovi"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Zásoby přiřazené zákazníkovi"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Odstranit skladové položky"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Skladová položka odstraněna"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Tato operace trvale odstraní vybrané skladové položky."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Nadřazené skladové umístění"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Najít sériové číslo"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Žádné odpovídající položky"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Více odpovídajících položek"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Neplatná odpověď ze serveru"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Seznam záznamů pro výběr"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Interní chyba serveru"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Již přihlášeno!"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Vyskytl se konflikt relací na serveru pro tento prohlížeč, prosím nejdřív se odhlašte."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Odhlášen(a)"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr "Žádná odezva ze serveru."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+msgstr "Pro tento prohlížeč došlo ke konfliktní relaci, která byla odhlášena."
#: 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 "No response from server."
+msgstr "Žádná odezva ze serveru."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "MFA přihlášení úspěšné"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "Údaje o MFA byly automaticky poskytnuty v prohlížeči"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Odhlášen(a)"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Úspěšně odhlášen/a"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Jazyk změněn"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Váš aktivní jazyk byl změněn podle nastavení Vašeho profilu"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Motiv změněn"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Váš aktivní jazyk byl změněn podle nastavení Vašeho profilu"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Zkontrolujte doručenou poštu pro odkaz pro obnovení. Funguje to pouze v případě, že máte účet. Zkontrolujte také ve spamu."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Obnovení selhalo"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Již přihlášeno!"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Vyskytl se konflikt relací na serveru pro tento prohlížeč, prosím nejdřív se odhlašte."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Přihlášen"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Úspěšně přihlášen/a"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Nepodařilo se nastavit MFA"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "Nastavení MFA bylo úspěšné"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr "MFA přes TOTP bylo úspěšně nastaveno; budete se muset znovu přihlásit."
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Nastavení hesla"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Heslo bylo úspěšně nastaveno. Nyní se můžete přihlásit s novým heslem"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Heslo nelze změnit"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Dvě pole s hesly se neshodují"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Heslo bylo změněno"
@@ -5210,23 +5320,14 @@ msgstr "Vypršel časový limit žádosti."
msgid "Exporting Data"
msgstr "Exportování dat"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Export dat"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Export"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Proces se nezdařil"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Proces byl úspěšně dokončen"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Položka vytvořena"
@@ -5255,52 +5356,56 @@ msgstr "Opravdu chcete tuto položku odstranit?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Počítat vybrané položky"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Přidat do vybraných skladových položek"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Odstranit z vybraných skladových položek"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Převést vybrané skladové položky"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Sloučit vybrané skladové položky"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Změnit stav vybraných skladových položek"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr "Změnit kód sarže vybraných skladových položek"
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Přiřadit zásoby"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Přiřadit vybrané skladové položky zákazníkovi"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Vrátit vybrané položky do skladu"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Odstranit skladovou položku"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Odstranit vybrané skladové položky"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Akce skladu"
@@ -5357,15 +5462,15 @@ msgstr "Nic nevybráno"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Přihlášení"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Přihlašování"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Nemáte účet?"
@@ -5383,12 +5488,12 @@ msgstr "Nemáte účet?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Vícefaktorové ověření"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP kód"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Pozice"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Typ"
@@ -5933,220 +6038,220 @@ msgstr "Upravit profil"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr "Znovuověření proběhlo úspěšně"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr "Byli jste úspěšně znovu ověřeni."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr "Chyba při znovu ověření"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr "Znovuověření selhalo"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr "Nepodařilo se zrovuověřit"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr "Znovu ověřit"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr "Pro pokračování je vyžadováno znovu ověření."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Zadejte své heslo"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr "Vložte jeden z vašich TOTP kódů"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr "WebAuthn údaje odstraněny"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr "WebAuthn údaje úspěšně odstraněny."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr "Chyba při odstraňování WebAuthn údajů"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr "Odstranit WebAuthn údaje"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr "Potvrdit odstranění"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr "Potvrdit odstranění WebAuth údajů"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr "TOTP odstraněn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr "TOTP token byl úspěšně odstraněn."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr "Chyba při odstraňování TOTP tokenu"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr "Odstranit TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr "Potvrdit odstranění TOTP kódu"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr "TOTP již registrován"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr "Token TOTP je již pro tento účet zaregistrován."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr "Chyba při načítání registrace TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr "Neočekávaná chyba při načítání registračních dat TOTP."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr "TOTP registrován"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr "TOTP token úspěšně registrován."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Chyba při registraci tokenu TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Registrovat TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr "Chyba při načítání obnovovacích kódů"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Kódy pro obnovení"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr "Následující jednorázové obnovovací kódy jsou k dispozici pro použití"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr "Zkopírovat obnovovací kódy do schránky"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr "Žádné nepoužité kódy"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr "Nejsou k dispozici žádné obnovovací kódy"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr "WebAuthn registrován"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr "WebAuthn údaje úspěšně registrovány"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr "Chyba při registrování WebAuthn údajů"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr "Registrace WebAuthn selhala"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr "Nepodařilo se registrovat údaje WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr "Chyba při načítání registrace WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Časové jednorázové heslo (TOTP)"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Jednorázové předgenerované obnovovací kódy"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr "Webové ověření (WebAuthn) je webový standard pro bezpečné ověření"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Naposledy použito"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Vytvořeno"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Nenakonfigurováno"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Pro tento účet nejsou nakonfigurovány žádné vícefaktorové tokeny"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr "Registrovat metodu ověření"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr "Nejsou dostupné žádné MFA metody"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr "Nejsou k dispozici žádné metody MFA pro konfiguraci"
@@ -6162,47 +6267,47 @@ msgstr "Jednorázové heslo"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Zadejte TOTP kód pro zajištění správné registrace"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E-mailové adresy"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-mailové adresy"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Jednotné přihlášení"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Není povoleno"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Jednotné přihlášení (SSO) není pro tento server povoleno "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Není povoleno"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Jednotné přihlášení (SSO) není pro tento server povoleno "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Přístupové tokeny"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Informace o relaci"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Informace o relaci"
msgid "Timestamp"
msgstr "Časová značka"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Metoda"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Chyba při aktualizaci e-mailu"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Momentálně nejsou registrovány žádné e-mailové adresy."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Následující e-mailové adresy jsou přiřazeny k vašemu účtu:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primární"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Ověřeno"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Neověřeno"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Nastavit jako výchozí"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Znovu zaslat ověření"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Přidat e-mailovou adresu"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-mailová adresa"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Chyba při přidávání e-mailu"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Přidat e-mailovou adresu"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-mailová adresa"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Chyba při přidávání e-mailu"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Přidat email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Chyba při přidávání e-mailu"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Přidat email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "K tomuto účtu nejsou připojeni žádní poskytovatelé."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Můžete se přihlásit ke svému účtu pomocí některého z následujících poskytovatelů"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Odstranit odkaz poskytovatele"
@@ -6420,7 +6526,7 @@ msgstr "Tečky"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Měna"
@@ -6685,30 +6791,34 @@ msgstr "Připojit k modelu"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Pracovník na pozadí není spuštěn"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Služba správce úloh na pozadí není spuštěna. Obraťte se na správce systému."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Pracovník na pozadí není spuštěn"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Služba správce úloh na pozadí není spuštěna. Obraťte se na správce systému."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Čekající úkoly"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Naplánované úlohy"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Neúspěšné úkoly"
@@ -6805,6 +6915,16 @@ msgstr "Ceník"
msgid "Labels"
msgstr "Štítky"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr "Inventura dílu"
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Sledování skladových položek"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "Sestavená část nemusí mít definovaný kusovník (BOM) nebo je kusov
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revize"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revize"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revize"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revize"
msgid "Custom Status"
msgstr "Vlastní status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Externí"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Reference"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Nadřazená sestava"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Množství sestav"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Lze postavit"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Dokončené výstupy"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Vystavil"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Odpovědný"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Libovolné místo"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Cílové umístění"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Vytvořeno"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Počáteční datum"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Cílové datum"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Cílové umístění"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Vytvořeno"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Počáteční datum"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Cílové datum"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Dokončeno"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detaily sestavy"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Požadované díly"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Přidělené zásoby"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Použité zásoby"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Neúplné výstupy"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Externí objednávky"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Podřízené objednávky sestavy"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Výsledky testu"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Upravit výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Přidat výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Zrušit výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Objednávka zrušena"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Zrušit tuto objednávku"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Pozastavit výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Pozastavit tento výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Objednávka pozastavena"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Zadat výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Zadat tuto objednávku"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Objednávka zadána"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Dokončit výrobní příkaz"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Označit tuto objednávku za dokončenou"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Objednávka dokončena"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Zadat objednávku"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Dokončit objednávku"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Akce výrobní objednávky"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Upravit objednávku"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplikovat objednávku"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Pozastavit objednávku"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Zrušit objednávku"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Výrobní příkaz"
@@ -7207,7 +7327,7 @@ msgstr "Výrobní příkaz"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Zobrazit externí výrobní příkazy"
@@ -7219,12 +7339,13 @@ msgstr "Zobrazit externí výrobní příkazy"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Zobrazení tabulky"
@@ -7238,20 +7359,17 @@ msgstr "Zobrazení kalendáře"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr "Parametrické zobrazení"
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Webová stránka"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Telefonní číslo"
@@ -7271,11 +7389,11 @@ msgstr "Výchozí měna"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Výrobce"
@@ -7284,15 +7402,15 @@ msgstr "Výrobce"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Zákazník"
@@ -7320,16 +7438,16 @@ msgstr "Vyrobené díly"
msgid "Assigned Stock"
msgstr "Přiřazené zásoby"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Upravit společnost"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Odstranit společnost"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Akce společnosti"
@@ -7349,7 +7467,7 @@ msgstr "Externí odkaz"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Podrobnosti dílu"
@@ -7363,28 +7481,28 @@ msgstr "Podrobnosti dílu výrobce"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Přijaté zásoby"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Editovat díl výrobce"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Přidat díl výrobce"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Odstranit díl výrobce"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Akce s dílem výrobce"
@@ -7401,7 +7519,7 @@ msgstr "Popis dílu"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Počet kusů v balení"
@@ -7427,28 +7545,28 @@ msgstr "Podrobnosti o dílu dodavatele"
msgid "Supplier Pricing"
msgstr "Cena dodavatele"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Akce týkající se dílu dodavatele"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Upravit položku"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Odstranit položku"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Přidat položku"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Není skladem"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Skupinové role"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Informace o uživateli"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Základní uživatel"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Podkategorie"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Přesunout položky do nadřazené kategorie"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Odstranit položky"
@@ -7577,60 +7695,64 @@ msgstr "Podrobnosti o kategorii"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Přidělení výrobního přikazu"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Přidělení prodejní objednávky"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Schválit kusovník"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Chcete ověřit kusovník materiálu? (BOM)"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr "Kusovník materiálu je naplánovaný na potvrzení"
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Kusovník ověřen"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "Kusovník pro tento díl byl potvrzen"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "Kusovník není ověřen"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "Kusovník pro tento díl již byl ověřen, ale potřebuje překontrolovat"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "Kusovník pro tento díl ještě nebyl potvrzen"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Potvrzeno"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Potvrdil(a)"
@@ -7650,246 +7772,246 @@ msgstr "Potvrdil(a)"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Varianty"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revize"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Výchozí umístění"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Kategorie výchozího umístění"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Jednotky"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Kategorie výchozího umístění"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Jednotky"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Klíčová slova"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Dostupná zásoba"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Na objednávku"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Vyžadováno pro objednávky"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Přířazeno výrobním objednávkám"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Přiřazeno prodejním objednávkám"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimální zásoby"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimální zásoby"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Uzamčeno"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Šablona dílu"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Montážní díl"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Komponenta dílu"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Testovatelný díl"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Sledovací díl"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Zakoupitelný díl"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Prodejní díl"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtuální díl"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Datum vytvoření"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Vytvořil(a)"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Výchozí dodavatel"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Výchozí expirace"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "dny"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Cenový rozsah"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Poslední sériové číslo"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Vybrat revizi části"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianty"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Přiřazení"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Kusovník"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Použito v"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Cena dílu"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Testovací šablony"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Související díly"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Díl je uzamčen"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Parametr dílu nemůže být upraven, díl je uzamčen"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Díl je uzamčen"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Parametr dílu nemůže být upraven, díl je uzamčen"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Požadováno"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr "Deficit"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Přidat díl"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Odstranit díl"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Odstranění této části nelze vrátit zpět"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Objednávka"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Objednat zásoby"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Vyhledat podle sériového čísla"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Akce s položkou"
@@ -7968,35 +8090,46 @@ msgstr "Historie prodeje"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Upravit Zásoby"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Odstranit položku skladů"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr "Report inventury je naplánovaný"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr "Množství na skladu"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Hodnota skladu"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr "Generovat vstup inventury"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimální hodnota"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maximální hodnota"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr "Záznamy inventur"
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maximální hodnota"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Celková cena"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponenta"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimální cena"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Maximální cena"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Jednotková cena"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Výsečový graf"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Sloupcový graf"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Nákupní cena"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Naposledy aktualizováno"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Upravit objednávku"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Přidat do objednávky"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Dokončené řádkové položky"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destinace"
@@ -8275,60 +8411,60 @@ msgstr "Datum vystavení"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Datum dokončení"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Detail objednávky"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Položky"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Položky navíc"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Vystavit objednávku"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Zrušit objednávku"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Pozastavit objednávku"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Dokončit objednávku"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Akce objednávky"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Reference zákazníka"
@@ -8338,7 +8474,7 @@ msgstr "Zpáteční adresa"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr "Není specifikováno"
@@ -8346,29 +8482,29 @@ msgstr "Není specifikováno"
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Upravit vratku"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Přidat vratku"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Zadat vratku"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Zkušit vratku"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Pozastavit vratku"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Dokončit vratku"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Dokončit zásilky"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr "Doručovací adresa"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Upravit projední objednávky"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Přidat prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Zásilky"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Zadat prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Zrušit prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Pozastavit prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Odeslat prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Odeslat tuto objednávku?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Objednávka odeslána"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Dokončit prodejní objednávku"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Odeslat objednávku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Referenční číslo zásilky"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Sledovací číslo"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Číslo faktury"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Přidělené položky"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Zkontroloval(a)"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr "Není zkontrolováno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Datum odeslání"
@@ -8464,173 +8600,167 @@ msgstr "Datum odeslání"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Datum doručení"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Podrobnosti o zásilce"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Upravit zásilku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Zrušit zásilku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Dokončit zásilku"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Nevyřízeno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr "Zkontrolováno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr "Nezkontrolováno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Odesláno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Doručeno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Odeslat zásilku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Akce dodávky"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr "Kontrola"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr "Označit zásilku jako zkontrolovanou"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr "Odznačit zkontrolování"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr "Označit zásilku jako nezkontrolovanou"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Nadřazené umístění"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sublokace"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Typ umístění"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Skladové místo nejvyšší úrovně"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Podrobnosti o umístění"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Výchozí součásti"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Upravit Skladovou pozici"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Přesunout položky na nadřazenou pozici"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Smazat skladovou pozici"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Akce položek"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Akce pro skladové položky na tomto místě"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Upravit Skladovou pozici"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Přesunout položky na nadřazenou pozici"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Smazat skladovou pozici"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Akce položek"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Akce pro skladové položky na tomto místě"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr "Akce umístění"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Akce pro potomky na tomto místě"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Skenovat skladovou položku"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Skenovat tuto položku do umístění"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Chyba při skenování skladové položky"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Skenovat skladové místo"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Skenovat umístění položky do umístění"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Chyba při skenování skladové položky"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Akce umístění"
@@ -8703,10 +8833,6 @@ msgstr "Poslední inventura"
msgid "Stock Details"
msgstr "Podrobnosti zásob"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Sledování skladových položek"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Instalované položky"
msgid "Child Items"
msgstr "Podřízené položky"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Upravit skladovou položku"
@@ -8738,15 +8864,15 @@ msgstr "Upravit skladovou položku"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Položky vytvořeny"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Vytvořeno {n} skladových položek"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Odstranit skladovou položku"
@@ -8758,7 +8884,7 @@ msgstr "Odstranit skladovou položku"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serializovat skladovou položku"
@@ -8766,24 +8892,23 @@ msgstr "Serializovat skladovou položku"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Skladová položka serializována"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Skenovat do umístění"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Skenovat do umístění"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Skenovat tuto položku do umístění"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Úpravy zásob"
@@ -8791,12 +8916,12 @@ msgstr "Úpravy zásob"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serializovat"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serializace skladu"
@@ -8804,7 +8929,7 @@ msgstr "Serializace skladu"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Akce skladové položky"
@@ -8820,17 +8945,17 @@ msgstr "Akce skladové položky"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Zastaralé"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Expirováno"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Není k dispozici"
@@ -8855,6 +8980,72 @@ msgstr "Jste přihlášeni k odběru oznámení v tomto dílu"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Tato skladová položka je ve výrobě"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Tato skladová položka byla přidělena prodejní objednávce"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Tato skladová položka byla přidělena zákazníkovi"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Tato skladová položka je nainstalována v jiné položce"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Tato skladová položka byla spotřebována výrobním příkazem"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Tato skladová položka je nedostupná"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Tato skladová položka expirovala"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Tato skladová položka je zastaralá"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr "Tato položka je nadměrně přidělena"
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Tato položka je plně přidělena"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Tato položka je částečně přidělena"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Není na skladě"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Tato skladová položka byla vyčerpána"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Informace o skladu"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Přidělené řádky"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Vybrat sloupce"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Má kód dávky"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Zobrazit položky, které mají kód dávky"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtrovat položky podle kódu dávky"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Zobrazit položky, které jsou skladem"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Je serializované"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Zobrazit položky, které mají sériové číslo"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Má kód dávky"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Zobrazit položky, které mají kód dávky"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtrovat položky podle kódu dávky"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Zobrazit položky, které jsou skladem"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Je serializované"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Zobrazit položky, které mají sériové číslo"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Sériové"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Filtrovat položky podle sériového čísla"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Sériové níže"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Zobrazit položky s sériovými čísly menší nebo rovno dané hodnotě"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Sériové výše"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Zobrazit položky se sériovým čislem vyšším nebo rovnému dané hodnotě"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Přiřazeno mě"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Zobrazit objednávky, které jsou mi přiděleny"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Vynikající"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Zobrazit vynikající předměty"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Zobrazit předměty po termínu"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Minimální datum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Zobrazit položky po tomto datu"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Maximální datum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Zobrazit položky před tímto datem"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Vytvořeno před"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Zobrazit položky vytvořené před tímto datem"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Vytvořeno po"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Zobrazit položky vytvořené po tomto datu"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Datum začátku před"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Zobrazit položky s počátečním datem před tímto datem"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Datum začátku po"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Zobrazit položky s počátečním datem po tomto datu"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Cílové datum před"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Zobrazit položky s cílovým datem před tímto datem"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Cílové datum po"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Zobrazit položky s cílovým datem po tomto datu"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Dokončeno před"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Zobrazit položky dokončené před tímto datem"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Dokončeno po"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Zobrazit položky dokončené po tomto datu"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Aktualizováno po"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr "Zobrazit objednávky aktualizované po tomto datu"
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Aktualizováno před"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr "Zobrazit objednávky aktualizované před tímto datem"
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Má projektový kód"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Zobrazit objednávky s přiřazeným kódem projektu"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Zahrnout varianty"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Zahrnout výsledky pro varianty dílu"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrovat podle stavu objednávky"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtrovat podle kódu projektu"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtrovat podle odpovědného majitele"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filter by user"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Filtrovat podle výrobce"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Filtrovat podle dodavatele"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filtrovat podle uživatele, který vytvořil objednávku"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Filtrovat podle uživatele, který zadal objednávku"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Filtrovat podle kategorie dílů"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Filtrovat podle polohy naskladnění"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Odstranit filtr"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Zvolte hodnotu filtru"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Zadejte hodnotu filtru"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Vyberte hodnotu data"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Vybrat filtr"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtr"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtry tabulek"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Přidat filtr"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Vymazat filtry"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nebyl nalezen žádný záznam"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Chyba při načítání možností tabulky"
@@ -9156,10 +9366,6 @@ msgstr "Chyba při načítání možností tabulky"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Server vrátil nesprávný datový typ"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Server vrátil nesprávný datový typ"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server vrátil nesprávný datový typ"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Chyba při načítání údajů tabulky"
@@ -9190,57 +9400,57 @@ msgstr "Chyba při načítání údajů tabulky"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Zobrazit podrobnosti"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr "Zobrazit {model}"
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Zobrazit podrobnosti"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Zobrazit {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Odstranit vybrané položky"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Jste si jisti, že chcete odstranit vybrané položky?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Tuto akci nelze vrátit zpět"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Položky smazány"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Odstranění položek se nezdařilo"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Vlastní tabulkové filtry jsou aktivní"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Odstranit vybrané záznamy"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Aktualizovat data"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Aktivní filtry"
@@ -9252,71 +9462,71 @@ msgstr "Aktivní filtry"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Tato položka BOM je definována pro jinou nadřazenou položku"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informace o dílu"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Tato položka kusovníku ještě nebyla schválena"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Náhrady"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtuální díl"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtuální díl"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Externí zásoby"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Zahrnuje náhradní zásoby"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Zahrnuje variantu zásob"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Sestavení"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Sestavení"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Informace o skladu"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Spotřební materiál"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Není k dispozici skladem"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Zobrazovat testovatelné položky"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Zobrazit sledovatelné předměty"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktivní díl"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr "Zobrazit aktivní položky"
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Zobrazit smontované položky"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Zobrazit virtuální díly"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Zobrazit položky s dostupnými zásobami"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Zobrazit položky v objednávce"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Ověřeno"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Zobrazit ověřené položky"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Zděděno"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Zobrazit zděděné položky"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Povolit varianty"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Zobrazit položky, které umožňují výměnu variant"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Volitelné"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Zobrazit volitelné položky"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Spotřební"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Zobrazit spotřební položky"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Má cenu"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Zobrazit položky s cenou"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Importovat BOM data"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Přidat BOM položku"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Položka BOM vytvořena"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Upravit BOM položku"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Položka byla aktualizována"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Odstranit BOM položku"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Položka BOM odstraněna"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Položka kusovníku ověřena"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Chyba při ověřování položky kusovníku"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Zobrazit kusovník"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Ověřit řádek kuosvníku"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Upravit náhrady"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr "Přidat BOM položky"
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr "Přidat jednu BOM položku"
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Importovat ze souboru"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr "Importovat BOM položky ze souboru"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Kusovník nemůže být upraven, díl je uzamčen"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Montáž"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Zobrazit aktivní montáže"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Sledovatelné"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Zobrazit sledovatelné montáže"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Přidělen výstup"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Zobrazit položky přiřazené k výstupu výstavby"
@@ -9538,17 +9754,17 @@ msgstr "Zobrazit položky přiřazené k výstupu výstavby"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Stav objednávky"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Upravit přiřazení zásob"
@@ -9561,8 +9777,8 @@ msgstr "Upravit přiřazení zásob"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr "Odstranit přidělené zásoby"
@@ -9572,18 +9788,28 @@ msgstr "Odstranit přidělené zásoby"
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr "Jste si jisti, že chcete odstranit tuto přiřazenou skladovou zásobu z objednávky?"
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Spotřebovat"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr "Odstranit přidělené zásoby"
@@ -9591,141 +9817,151 @@ msgstr "Odstranit přidělené zásoby"
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Zobrazit skladovou položku"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Zobrazit plně přidělené řádky"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Zobrazit plně spotřebované řádky"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Zobrazit plně spotřebované řádky"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr "Zobrazit předměty s dostatečnými zásobami"
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Zobrazit spotřební řádky"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Zobrazit volitelné řádky"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testovatelné"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Sledováno"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Zobrazit sledované řádky"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr "Zobrazit položky skladem k objednávce"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "Ve výrobě"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Nedostatek zásob"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Není na skladě"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Zděděný"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Jednotkové množství"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Nastavit množství"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Přirozené ztráty"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Zaokrouhlení více"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "Informace kusovníku"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Plně přiděleno"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Vytvořit výrobní příkaz"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Probíhá automatické přidělování"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Automatické přiřazení zásob"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Automaticky přiřadit zásoby do této výstavby podle zvolených možností"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr "Automaticky přiřadí nesledované položky kusovníku do této sestavy dle zvolených možností"
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Uvolnění zásob"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Uvolnit všechny nesledované zásoby pro tuto stavební objednávku"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Uvolnit veškeré zásoby z vybrané položky"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Zásoby byly uvolněné"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Zásoby stavby"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Zobrazit díl"
@@ -9756,31 +9992,31 @@ msgstr "Zobrazit díl"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Má cílové datum"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Zobrazit objednávky s cílovým datem"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Má počáteční datum"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Zobrazit objednávky s počátečním datem"
@@ -9788,7 +10024,7 @@ msgstr "Zobrazit objednávky s počátečním datem"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Přiřazení zásob výrobním objednávkám"
@@ -9796,103 +10032,107 @@ msgstr "Přiřazení zásob výrobním objednávkám"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Přidat výstup výroby"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Výstup výroby vytvořen"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr "Automaticky přiřadí sledované položky kusovníku do této sestavy dle zvolených možností"
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Přidat výstup výroby"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Výstup výroby vytvořen"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Upravit výstup výroby"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Tato akce odstraní veškeré přiřazené zásoby z vybraného výstupu výroby"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Serializovat výstup výroby"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtrovat podle stavu zásob"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Dokončit vybrané výstupy"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Vyřadit vybrané výstupy"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Zrušit vybrané výstupy"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Přidělit"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Přiděleit zásoby k sestavě"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Vyřadit vybrané výstupy"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Zrušit vybrané výstupy"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Přidělit"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Přiděleit zásoby k sestavě"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Dealokovat"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Dealokovat zásoby ze sestavy"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Serializovat výstup výroby"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Dokončit sestavu"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Šrot"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Výstup ze šrotu"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Zrušit výrobní příkazy"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Přidělené řádky"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Vyžadované testy"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Externí výroba"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Tato výrobní objednávka bude vyplněna externím nákupem"
@@ -9917,28 +10157,28 @@ msgstr "Odstranit adresu"
msgid "Are you sure you want to delete this address?"
msgstr "Skutečně chcete tuto adresu odstranit?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Přidat společnost"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Přidat společnost"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Zobrazit aktivní společnosti"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Ukázat společnosti, které jsou dodavateli"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Zobrazit společnosti, které jsou výrobci"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Zobrazit společnosti, které jsou odběrateli"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Zobrazit položku"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Přidat řádek položky"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Upravit řádkovou položku"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Odstranit řádkovou položku"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr "Importovat parametry"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Přidat parametr"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Upravit parametr"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Zobrazit šablony s volbami"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Má jednotky"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notifikace"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Zpráva"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Vyžadované zásoby"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Zobrazit výrobní příkaz"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Jste přihlášeni k odběru oznámení pro tuto kategorii"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Zahrnout podkategorie"
@@ -10560,136 +10800,136 @@ msgstr "Zobrazit nevyřízené objednávky"
msgid "Show received items"
msgstr "Zobrazit přijaté položky"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Zobrazit prodejní objednávku"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimální zásoby"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrovat podle aktivního stavu dílu"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtrovat podle stavu uzamčeného dílu"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrovat podle atributu montáže"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Kusovník schválen"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Filtrovat podle částí s platným kusovníkem"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Zahrnout díly do podkategorií"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrovat podle atributu komponenty"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtrovat podle testovatelného atributu"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrovat podle sledovatelného atributu"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtrovat podle dílů, které mají jednotky"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Má IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtrovat podle dílů, které mají interní číslo dílu (IPN)"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Má zásoby"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Zobrazit díly, které jsou skladem"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrovat podle dílů, které mají nízké zásoby"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Možné zakoupit"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtrovat podle dílů, které lze koupit"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Prodejné"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrovat podle dílů, které lze prodat"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrovat podle dílů, které jsou virtuální"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Není virtuální"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Je šablonou"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtrovat podle dílů, které jsou šablonami"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Je varianta"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Filtrovat podle dílů, které jsou varianta"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Je revizí"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtrovat podle dílů, které jsou revizí"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Má revize"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtrovat podle dílů, které mají revize"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtrovat podle dílů, které mají informace o cenách"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtrovat podle dílů, které mají k dispozici zásoby"
@@ -10701,58 +10941,58 @@ msgstr "Filtrovat podle dílů, které mají k dispozici zásoby"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtrovat podle dílů, které uživatel odebírá"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Importovat díly"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Nastavit Kategorii"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Nastavit kategorii pro vybrané díly"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Objednat vybrané díly"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Přidat díly"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Vytvořit díl"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Vytvořit nový díl"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr "Importovat díly ze souboru"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr "Importovat od dodavatele"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr "Importovat od pluginu dodavatele"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Přidat výsledek testu"
@@ -10774,7 +11014,7 @@ msgstr "Výsledky testu přidány"
msgid "No Result"
msgstr "Žádný výsledek"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Zobrazit výsledky výrobních výstupů v současné výrobě"
@@ -10859,7 +11099,15 @@ msgstr "Zobrazit nadřazený díl"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Šablony dílu nelze upravit, díl je uzamčen"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Vybrat"
@@ -10913,7 +11161,7 @@ msgstr "Upravit seznam výběru"
msgid "Delete Selection List"
msgstr "Odstranit seznam výběru"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Fáze"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Povinné"
@@ -10973,68 +11221,68 @@ msgstr "Popis není k dispozici"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Potvrdit aktivaci pluginu"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Potvrdit deaktivaci pluginu"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Vybraný plugin bude aktivován"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Vybraný plugin bude deaktivován"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Vybraný plugin bude aktivován"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Vybraný plugin bude deaktivován"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Deaktivovat"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktivovat"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Aktivovat vybraný plugin"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktivovat"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Aktivovat vybraný plugin"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Aktualizovat vybraný plugin"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Odinstalovat"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Odinstalovat vybraný plugin"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Odstranit vybranou konfiguraci pluginu"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Aktivovat plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Plugin byl aktivován"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Plugin byl deaktivován"
@@ -11042,20 +11290,20 @@ msgstr "Plugin byl deaktivován"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Instalovat plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Instalovat"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin byl úspěšně nainstalován"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Odinstalovat plugin"
@@ -11063,23 +11311,23 @@ msgstr "Odinstalovat plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Potvrdit odinstalaci pluginu"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Vybraný plugin bude odinstalován."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin byl úspěšně odinstalován"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Odstranit plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Smazání této konfigurace pluginu odstraní všechna související nastavení a data. Jste si jisti, že chcete odstranit tento plugin?"
@@ -11087,11 +11335,11 @@ msgstr "Smazání této konfigurace pluginu odstraní všechna související nas
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Pluginy znovu načteny"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Pluginy byly úspěšně znovu načteny"
@@ -11103,7 +11351,7 @@ msgstr "Pluginy byly úspěšně znovu načteny"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Znovu načíst pluginy"
@@ -11115,7 +11363,7 @@ msgstr "Znovu načíst pluginy"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Detail Pluginu"
@@ -11127,12 +11375,12 @@ msgstr "Detail Pluginu"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Příklad"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Nainstalováno"
@@ -11152,30 +11400,24 @@ msgstr "Nainstalováno"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Aktivní díl"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr "Zobrazit díly výrobce pro aktivní interní díly."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr "Aktivní výrobce"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr "Zobrazit díly výrobce pro aktivní výrobce."
@@ -11196,7 +11438,7 @@ msgstr "Zobrazit díly výrobce pro aktivní výrobce."
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Importovat položky řádku"
@@ -11204,15 +11446,15 @@ msgstr "Importovat položky řádku"
msgid "Supplier Code"
msgstr "Kód dodavatele"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Odkaz dodavatele"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Kód výrobce"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Zobrazit řádkové položky, které byly přijaty"
@@ -11222,30 +11464,22 @@ msgstr "Zobrazit řádkové položky, které byly přijaty"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Přijímat položku"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Přijímat položky"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Základní jednotky"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Přidat díl dodavatele"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr "Importovat díl dodavatele"
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr "Importovat díl dodavatele"
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Přidat díl dodavatele"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Importovat díl dodavatele"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Zobrazit aktivní díly dodavatele"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr "Zobrazit primární díly dodavatele"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Zobrazit aktivní interní díly"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Aktivní dodavatel"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Zobrazit aktivní dodavatele"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Zobrazit díly dodavatele skladem"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Datum přijetí"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Zobrazit položky, které byly přijaty"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtrovat podle stavu položky"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Přijmout vybrané položky"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Přijmout položku"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Zobrazit vynikající příděly"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Přiřazeno k zásilce"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Zobrazit přiřazení přiřazené k zásilce"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Dostupné množství"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Přiřazené množství"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Žádná zásilka"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Neodesláno"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Upravit přiřazení"
@@ -11333,16 +11579,16 @@ msgstr "Upravit přiřazení"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Zobrazit zásilku"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Přiřadit k zásilce"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Přiřadit k zásilce"
@@ -11350,31 +11596,35 @@ msgstr "Přiřadit k zásilce"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Přiřadit sériová čísla"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Přiřadit sériová čísla"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Zobrazit řádky které jsou plně přiřazeny"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Zobrazit řádky které jsou dokončeny"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Přiřadit sérii"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Sestavit zásoby"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Objednat zásoby"
@@ -11386,78 +11636,82 @@ msgstr "Objednat zásoby"
msgid "Create Shipment"
msgstr "Vytvořit zásilku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Předměty"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Upravit zásilku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Zrušit zásilku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Přidat zásilku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr "Zobrazit zásilky které byly zkontrolovány"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Zobrazit zásilky, které byly odeslány"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Zobrazit zásilky, které byly dodány"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Generovat token"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token vygenerován"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Zrušeno"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "Používán"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Naposledy aktivní"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Expiruje"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Zobrazit zrušené tokeny"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Zrušit"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Chyba při rušení tokenu"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Tokeny se zobrazí pouze jednou - nezapomeňte je zaznamenat."
@@ -11990,24 +12244,24 @@ msgstr "Uživatel úspěšně aktualizován"
msgid "Error updating user"
msgstr "Při aktualizaci uživatele došlo k chybě"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Instalovat položku"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Položka nainstalována"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Odinstalovat položku"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Položka odinstalována"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Odinstalovat skladovou položku"
@@ -12028,207 +12282,159 @@ msgstr "Odstranit typ umístění"
msgid "Icon"
msgstr "Ikona"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Tato skladová položka je ve výrobě"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Datum inventury"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Tato skladová položka byla přidělena prodejní objednávce"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Zobrazit skladem pro aktivní díly"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Tato skladová položka byla přidělena zákazníkovi"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Zobrazit skladem pro smontované díly"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Tato skladová položka je nainstalována v jiné položce"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Zobrazit položky, které byly přiřazeny"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Tato skladová položka byla spotřebována výrobním příkazem"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Zobrazit položky, které jsou k dispozici"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Tato skladová položka je nedostupná"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Zahrnout podumístění"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Tato skladová položka expirovala"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Zahrnout zásoby do podumístění"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Tato skladová položka je zastaralá"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Vyčerpané"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Tato položka je plně přidělena"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Zobrazit vyčerpané položky skladem"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Tato položka je částečně přidělena"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Zobrazit položky, které jsou ve výrobě"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Tato skladová položka byla vyčerpána"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Zobrazit položky, které byly spotřebovány v objednávce stavby"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Zobrazit skladové položky, které jsou nainstalovány v jiných položkách"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Odesláno zákazníkovi"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Zobrazit položky, které byly odeslány zákazníkovi"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Zobrazit sledované předměty"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Má nákupní cenu"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Zobrazit položky, které mají kupní cenu"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Zobrazit položky, které expirovaly"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Zobrazit položky, které jsou zastaralé"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Expirovalo před"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Zobrazit položky, které expirovaly před tímto datem"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Expirovalo po"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Zobrazit položky, které expirovaly po tomto datu"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Zobrazit položky upravené před tímto datem"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Zobrazit položky upravené po tomto datu"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventura před"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Zobrazit položky sečtené před tímto datem"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventura po"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Zobrazit položky sečtené po tomto datu"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Datum inventury"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Externí umístění"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Zobrazit skladem pro aktivní díly"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Zobrazit skladem pro smontované díly"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Zobrazit položky, které byly přiřazeny"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Zobrazit položky, které jsou k dispozici"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Zahrnout podumístění"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Zahrnout zásoby do podumístění"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Vyčerpané"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Zobrazit vyčerpané položky skladem"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Zobrazit položky, které jsou ve výrobě"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Zobrazit zásoby na externích lokacích"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Zobrazit položky, které byly spotřebovány v objednávce stavby"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Zobrazit skladové položky, které jsou nainstalovány v jiných položkách"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Odesláno zákazníkovi"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Zobrazit položky, které byly odeslány zákazníkovi"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Zobrazit sledované předměty"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Má nákupní cenu"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Zobrazit položky, které mají kupní cenu"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Zobrazit položky, které expirovaly"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Zobrazit položky, které jsou zastaralé"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Expirovalo před"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Zobrazit položky, které expirovaly před tímto datem"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Expirovalo po"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Zobrazit položky, které expirovaly po tomto datu"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Aktualizováno před"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Zobrazit položky upravené před tímto datem"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Aktualizováno po"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Zobrazit položky upravené po tomto datu"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventura před"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Zobrazit položky sečtené před tímto datem"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventura po"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Zobrazit položky sečtené po tomto datu"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Externí umístění"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Zobrazit zásoby na externích lokacích"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Objednat položky"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Objednat položky"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Dokončeno"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Upravit výsledek testu"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Výsledek testu byl aktualizován"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Odstranit výsledek testu"
@@ -12327,27 +12533,27 @@ msgstr "Nepodařilo se zaznamenat výsledek testu"
msgid "Pass Test"
msgstr "Test splněn"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Zobrazit výsledky pro požadované testy"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Zahrnout nainstalované"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Zobrazit výsledky pro nainstalované skladové položky"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Prošlo"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Zobrazit pouze prošlé testy"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Zobrazit výsledky pro povolené testy"
@@ -12392,15 +12598,23 @@ msgstr "Nastavit nadřazené umístění"
msgid "Set parent location for the selected items"
msgstr "Nastavit nadřazené umístění pro vybrané položky"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr "Starý stav"
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Přídáno"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Odstraněno"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr "Skladová položka již neexistuje"
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Žádné informace o uživateli"
diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po
index a7f35ff844..3502a852ad 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -22,12 +22,12 @@ msgstr ""
#: src/components/items/ActionDropdown.tsx:289
#: src/pages/Index/Scan.tsx:64
msgid "Duplicate"
-msgstr ""
+msgstr "Dupliker"
#: lib/components/RowActions.tsx:46
#: src/components/items/ActionDropdown.tsx:245
msgid "Edit"
-msgstr ""
+msgstr "Rediger"
#: lib/components/RowActions.tsx:56
#: src/components/forms/ApiForm.tsx:754
@@ -35,95 +35,99 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
-msgstr ""
+msgstr "Slet"
#: lib/components/RowActions.tsx:66
#: src/components/details/DetailsImage.tsx:83
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
-msgstr ""
+msgstr "Annuller"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
-msgstr ""
+msgstr "Handlinger"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
-msgstr ""
+msgstr "Søg"
#: lib/components/YesNoButton.tsx:20
msgid "Pass"
-msgstr ""
+msgstr "Ok"
#: lib/components/YesNoButton.tsx:21
msgid "Fail"
-msgstr ""
+msgstr "Fejlet"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
-msgstr ""
+msgstr "Ja"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
-msgstr ""
+msgstr "Nej"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
-msgstr ""
+msgstr "Del"
#: lib/enums/ModelInformation.tsx:30
#: lib/enums/Roles.tsx:35
@@ -134,9 +138,9 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
-msgstr ""
+msgstr "Dele"
#: lib/enums/ModelInformation.tsx:37
#: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:13
@@ -149,280 +153,283 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
-msgstr ""
+msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:45
#: src/tables/part/PartCategoryTemplateTable.tsx:87
msgid "Parameter Template"
-msgstr ""
+msgstr "Parameter Skabelon"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parameter Skabeloner"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
-msgstr ""
+msgstr "Del Testskabelon"
#: lib/enums/ModelInformation.tsx:53
msgid "Part Test Templates"
-msgstr ""
+msgstr "Del Testskabeloner"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
-msgstr ""
+msgstr "Leverandør Del"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
-msgstr ""
+msgstr "Leverandør Dele"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
-msgstr ""
+msgstr "Producent Del"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
-msgstr ""
+msgstr "Producent Dele"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
-msgstr ""
+msgstr "Del Kategori"
#: lib/enums/ModelInformation.tsx:80
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
-msgstr ""
+msgstr "Del Kategorier"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
-msgstr ""
+msgstr "Lagervarer"
#: lib/enums/ModelInformation.tsx:89
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
-msgstr ""
+msgstr "Lagervarer"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
-msgstr ""
+msgstr "Lagerlokation"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
-msgstr ""
+msgstr "Lagerlokationer"
#: lib/enums/ModelInformation.tsx:108
msgid "Stock Location Type"
-msgstr ""
+msgstr "Lager Lokationstype"
#: lib/enums/ModelInformation.tsx:109
msgid "Stock Location Types"
-msgstr ""
+msgstr "Lager Lokationstyper"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
-msgstr ""
+msgstr "Lager Historik"
#: lib/enums/ModelInformation.tsx:115
msgid "Stock Histories"
-msgstr ""
+msgstr "Lager Historik"
#: lib/enums/ModelInformation.tsx:120
msgid "Build"
-msgstr ""
+msgstr "Byg"
#: lib/enums/ModelInformation.tsx:121
msgid "Builds"
-msgstr ""
+msgstr "Bygger"
#: lib/enums/ModelInformation.tsx:130
msgid "Build Line"
-msgstr ""
+msgstr "Bygge linje"
#: lib/enums/ModelInformation.tsx:131
msgid "Build Lines"
-msgstr ""
+msgstr "Bygge linjer"
#: lib/enums/ModelInformation.tsx:138
msgid "Build Item"
-msgstr ""
+msgstr "Byg Emne"
#: lib/enums/ModelInformation.tsx:139
msgid "Build Items"
-msgstr ""
+msgstr "Byg Emner"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
-msgstr ""
+msgstr "Firma"
#: lib/enums/ModelInformation.tsx:145
msgid "Companies"
-msgstr ""
+msgstr "Firmaer"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
-msgstr ""
+msgstr "Projektkode"
#: lib/enums/ModelInformation.tsx:153
#: src/pages/Index/Settings/AdminCenter/Index.tsx:172
msgid "Project Codes"
-msgstr ""
+msgstr "Projektkoder"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
-msgstr ""
+msgstr "Købsordre"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
-msgstr ""
+msgstr "Købsordrer"
#: lib/enums/ModelInformation.tsx:169
msgid "Purchase Order Line"
-msgstr ""
+msgstr "Indkøbsordre linje"
#: lib/enums/ModelInformation.tsx:170
msgid "Purchase Order Lines"
-msgstr ""
+msgstr "Indkøbsordre linjer"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
-msgstr ""
+msgstr "Salgsordrer"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
-msgstr ""
+msgstr "Salgsordrer"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
-msgstr ""
+msgstr "Salg Ordre Forsendelse"
#: lib/enums/ModelInformation.tsx:186
msgid "Sales Order Shipments"
-msgstr ""
+msgstr "Salg Ordre Forsendelser"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
-msgstr ""
+msgstr "Returordre"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
-msgstr ""
+msgstr "Returordre"
#: lib/enums/ModelInformation.tsx:204
msgid "Return Order Line Item"
-msgstr ""
+msgstr "Retur Ordre Linje Vare"
#: lib/enums/ModelInformation.tsx:205
msgid "Return Order Line Items"
-msgstr ""
+msgstr "Retur Ordre Linje Varer"
#: lib/enums/ModelInformation.tsx:210
#: src/tables/company/AddressTable.tsx:52
msgid "Address"
-msgstr ""
+msgstr "Adresse"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
-msgstr ""
+msgstr "Adresser"
#: lib/enums/ModelInformation.tsx:217
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:89
@@ -431,37 +438,37 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:208
#: src/pages/sales/SalesOrderDetail.tsx:201
msgid "Contact"
-msgstr ""
+msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
-msgstr ""
+msgstr "Kontakter"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
-msgstr ""
+msgstr "Ejer"
#: lib/enums/ModelInformation.tsx:225
msgid "Owners"
-msgstr ""
+msgstr "Ejer"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
-msgstr ""
+msgstr "Bruger"
#: lib/enums/ModelInformation.tsx:232
#: src/components/nav/NavigationDrawer.tsx:105
@@ -469,12 +476,12 @@ msgstr ""
#: src/pages/core/CoreIndex.tsx:21
#: src/pages/core/UserDetail.tsx:226
msgid "Users"
-msgstr ""
+msgstr "Brugerne"
#: lib/enums/ModelInformation.tsx:238
#: src/pages/core/GroupDetail.tsx:78
msgid "Group"
-msgstr ""
+msgstr "Gruppe"
#: lib/enums/ModelInformation.tsx:239
#: src/components/nav/NavigationDrawer.tsx:111
@@ -484,126 +491,130 @@ msgstr ""
#: src/pages/core/UserDetail.tsx:99
#: src/tables/settings/UserTable.tsx:276
msgid "Groups"
-msgstr ""
+msgstr "Grupper"
#: lib/enums/ModelInformation.tsx:246
msgid "Import Session"
-msgstr ""
+msgstr "Importer Session"
#: lib/enums/ModelInformation.tsx:247
msgid "Import Sessions"
-msgstr ""
+msgstr "Importer Sessioner"
#: lib/enums/ModelInformation.tsx:254
msgid "Label Template"
-msgstr ""
+msgstr "Etiket Skabelon"
#: lib/enums/ModelInformation.tsx:255
#: src/pages/Index/Settings/AdminCenter/Index.tsx:209
msgid "Label Templates"
-msgstr ""
+msgstr "Etiket Skabeloner"
#: lib/enums/ModelInformation.tsx:262
msgid "Report Template"
-msgstr ""
+msgstr "Rapport skabelon"
#: lib/enums/ModelInformation.tsx:263
#: src/pages/Index/Settings/AdminCenter/Index.tsx:215
msgid "Report Templates"
-msgstr ""
+msgstr "Rapporter Skabeloner"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
-msgstr ""
+msgstr "Plugin indstillinger"
#: lib/enums/ModelInformation.tsx:271
msgid "Plugin Configurations"
-msgstr ""
+msgstr "Plugin indstillinger"
#: lib/enums/ModelInformation.tsx:278
msgid "Content Type"
-msgstr ""
+msgstr "Indholdstype"
#: lib/enums/ModelInformation.tsx:279
msgid "Content Types"
-msgstr ""
+msgstr "Indholdstyper"
#: lib/enums/ModelInformation.tsx:284
msgid "Selection List"
-msgstr ""
+msgstr "Vælg liste"
#: lib/enums/ModelInformation.tsx:285
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:21
msgid "Selection Lists"
-msgstr ""
+msgstr "Valg Lister"
#: lib/enums/ModelInformation.tsx:291
#: src/components/barcodes/BarcodeInput.tsx:114
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
-msgstr ""
+msgstr "Fejl"
#: lib/enums/ModelInformation.tsx:292
#: src/tables/machine/MachineListTable.tsx:402
#: src/tables/machine/MachineTypeTable.tsx:297
msgid "Errors"
-msgstr ""
+msgstr "Fejl"
#: lib/enums/Roles.tsx:31
msgid "Admin"
-msgstr ""
+msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
-msgstr ""
+msgstr "Produktionsordrer"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Proces fejlede"
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
-msgstr ""
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Processen er gennemført"
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr "Render fejl af komponent"
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
-msgstr ""
+msgstr "Der opstod en fejl under render af denne komponent. Se konsollen for mere information."
#: src/components/DashboardItemProxy.tsx:34
#~ msgid "Title"
@@ -611,75 +622,75 @@ msgstr ""
#: src/components/barcodes/BarcodeCameraInput.tsx:103
msgid "Error while scanning"
-msgstr ""
+msgstr "Fejl ved scanning"
#: src/components/barcodes/BarcodeCameraInput.tsx:117
msgid "Error while stopping"
-msgstr ""
+msgstr "Fejl ved stop"
#: src/components/barcodes/BarcodeCameraInput.tsx:159
msgid "Start scanning by selecting a camera and pressing the play button."
-msgstr ""
+msgstr "Start scanningen ved at vælge et kamera og trykke på afspilningsknappen."
#: src/components/barcodes/BarcodeCameraInput.tsx:180
msgid "Stop scanning"
-msgstr ""
+msgstr "Stop scanning"
#: src/components/barcodes/BarcodeCameraInput.tsx:190
msgid "Start scanning"
-msgstr ""
+msgstr "Start scanning"
#: src/components/barcodes/BarcodeInput.tsx:34
#: src/tables/general/BarcodeScanTable.tsx:55
#: src/tables/settings/BarcodeScanHistoryTable.tsx:64
msgid "Barcode"
-msgstr ""
+msgstr "Stregkode"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
-msgstr ""
+msgstr "Scan"
#: src/components/barcodes/BarcodeInput.tsx:53
msgid "Camera Input"
-msgstr ""
+msgstr "Kamerainput"
#: src/components/barcodes/BarcodeInput.tsx:63
msgid "Scanner Input"
-msgstr ""
+msgstr "Scanner Input"
#: src/components/barcodes/BarcodeInput.tsx:105
msgid "Barcode Data"
-msgstr ""
+msgstr "Stregkode Data"
#: src/components/barcodes/BarcodeInput.tsx:109
msgid "No barcode data"
-msgstr ""
+msgstr "Ingen stregkode data"
#: src/components/barcodes/BarcodeInput.tsx:110
msgid "Scan or enter barcode data"
-msgstr ""
+msgstr "Scan eller angiv stregkodedata"
#: src/components/barcodes/BarcodeKeyboardInput.tsx:64
msgid "Enter barcode data"
-msgstr ""
+msgstr "Indtast stregkode data"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
-msgstr ""
+msgstr "Scan stregkode"
#: src/components/barcodes/BarcodeScanDialog.tsx:121
msgid "No matching item found"
-msgstr ""
+msgstr "Ingen matchende vare fundet"
#: src/components/barcodes/BarcodeScanDialog.tsx:150
msgid "Barcode does not match the expected model type"
-msgstr ""
+msgstr "Stregkode matcher ikke den forventede modeltype"
#: src/components/barcodes/BarcodeScanDialog.tsx:161
#: src/components/editors/NotesEditor.tsx:84
@@ -688,99 +699,99 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
-msgstr ""
+msgstr "Succes"
#: src/components/barcodes/BarcodeScanDialog.tsx:167
msgid "Failed to handle barcode"
-msgstr ""
+msgstr "Kunne ikke håndtere stregkode"
#: src/components/barcodes/BarcodeScanDialog.tsx:183
#: src/pages/Index/Scan.tsx:129
msgid "Failed to scan barcode"
-msgstr ""
+msgstr "Kunne ikke scanne stregkode"
#: src/components/barcodes/QRCode.tsx:94
msgid "Low (7%)"
-msgstr ""
+msgstr "Lavt (7%)"
#: src/components/barcodes/QRCode.tsx:95
msgid "Medium (15%)"
-msgstr ""
+msgstr "Mellem (15%)"
#: src/components/barcodes/QRCode.tsx:96
msgid "Quartile (25%)"
-msgstr ""
+msgstr "Kvartil (25%)"
#: src/components/barcodes/QRCode.tsx:97
msgid "High (30%)"
-msgstr ""
+msgstr "Højt (30%)"
#: src/components/barcodes/QRCode.tsx:107
msgid "Custom barcode"
-msgstr ""
+msgstr "Brugerdefineret stregkode"
#: src/components/barcodes/QRCode.tsx:108
msgid "A custom barcode is registered for this item. The shown code is not that custom barcode."
-msgstr ""
+msgstr "En brugerdefineret stregkode er registreret for dette element. Den viste kode er ikke den brugerdefinerede stregkode."
#: src/components/barcodes/QRCode.tsx:127
msgid "Barcode Data:"
-msgstr ""
+msgstr "Stregkode Data:"
#: src/components/barcodes/QRCode.tsx:138
msgid "Select Error Correction Level"
-msgstr ""
+msgstr "Vælg fejlkorrektions niveau"
#: src/components/barcodes/QRCode.tsx:170
msgid "Failed to link barcode"
-msgstr ""
+msgstr "Kunne ikke linke stregkode"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
-msgstr ""
+msgstr "Tilknytning"
#: src/components/barcodes/QRCode.tsx:200
msgid "This will remove the link to the associated barcode"
-msgstr ""
+msgstr "Dette vil fjerne linket til den tilknyttede stregkode"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
-msgstr ""
+msgstr "Fjern linket til stregkode"
#: src/components/buttons/AdminButton.tsx:86
msgid "Open in admin interface"
-msgstr ""
+msgstr "Åbn i admin interface"
#: src/components/buttons/CopyButton.tsx:18
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
-msgstr ""
+msgstr "Kopieret"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
-msgstr ""
+msgstr "Kopier"
#: src/components/buttons/PrintingActions.tsx:56
msgid "Printing Labels"
-msgstr ""
+msgstr "Udskriver Etiketter"
#: src/components/buttons/PrintingActions.tsx:61
msgid "Printing Reports"
-msgstr ""
+msgstr "Udskriver Rapporter"
#: src/components/buttons/PrintingActions.tsx:77
#~ msgid "Printing"
@@ -798,18 +809,14 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
-msgstr ""
+msgstr "Udskriv Labels"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
-msgstr ""
-
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
+msgstr "Udskriv"
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
@@ -819,29 +826,29 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
-msgstr ""
+msgstr "Udskriv rapport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
-msgstr ""
+msgstr "Udskriver Handlinger"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
-msgstr ""
+msgstr "Udskriv labels"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
-msgstr ""
+msgstr "Udskriv Rapporter"
#: src/components/buttons/RemoveRowButton.tsx:9
msgid "Remove this row"
-msgstr ""
+msgstr "Slet denne række"
#: src/components/buttons/SSOButton.tsx:40
msgid "You will be redirected to the provider for further actions."
-msgstr ""
+msgstr "Du vil blive omdirigeret til udbyderen for yderligere handlinger."
#: src/components/buttons/SSOButton.tsx:44
#~ msgid "This provider is not full set up."
@@ -860,16 +867,16 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
-msgstr ""
+msgstr "Åbn spotlight"
#: src/components/buttons/StarredToggleButton.tsx:36
msgid "Subscription Updated"
-msgstr ""
+msgstr "Abonnement opdateret"
#: src/components/buttons/StarredToggleButton.tsx:57
#~ msgid "Unsubscribe from part"
@@ -877,445 +884,481 @@ msgstr ""
#: src/components/buttons/StarredToggleButton.tsx:66
msgid "Unsubscribe from notifications"
-msgstr ""
+msgstr "Afmeld notifikationer"
#: src/components/buttons/StarredToggleButton.tsx:67
msgid "Subscribe to notifications"
-msgstr ""
+msgstr "Tilmeld notifikationer"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
-msgstr ""
+msgstr "Kalender Filter"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
-msgstr ""
+msgstr "Forrige måned"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
-msgstr ""
+msgstr "Vælg måned"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
-msgstr ""
+msgstr "Næste måned"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr ""
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Eksporter Data"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
-msgstr ""
+msgstr "Ordre Opdateret"
#: src/components/calendar/OrderCalendar.tsx:142
msgid "Error updating order"
-msgstr ""
+msgstr "Fejl ved opdatering af ordre"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
-msgstr ""
+msgstr "Overskredet"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr ""
+msgstr "Kunne ikke indlæse dashboard widgets."
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
-msgstr ""
+msgstr "Ingen Widgets Valgt"
#: src/components/dashboard/DashboardLayout.tsx:296
msgid "Use the menu to add widgets to the dashboard"
-msgstr ""
+msgstr "Brug menuen til at tilføje widgets til dashboardet"
#: src/components/dashboard/DashboardMenu.tsx:62
#: src/components/dashboard/DashboardMenu.tsx:138
msgid "Accept Layout"
-msgstr ""
+msgstr "Accepter Layout"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
-msgstr ""
+msgstr "Dashboard"
#: src/components/dashboard/DashboardMenu.tsx:102
msgid "Edit Layout"
-msgstr ""
+msgstr "Rediger layout"
#: src/components/dashboard/DashboardMenu.tsx:111
msgid "Add Widget"
-msgstr ""
+msgstr "Tilføj Widget"
#: src/components/dashboard/DashboardMenu.tsx:120
msgid "Remove Widgets"
-msgstr ""
+msgstr "Fjern Widgets"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "Nulstil Widgets"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
-msgstr ""
+msgstr "Fjern denne widget fra dashboardet"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:77
msgid "Filter dashboard widgets"
-msgstr ""
+msgstr "Filtrer dashboard widgets"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:98
msgid "Add this widget to the dashboard"
-msgstr ""
+msgstr "Tilføj denne widget til dashboardet"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:123
msgid "No Widgets Available"
-msgstr ""
+msgstr "Ingen Widgets Tilgængelige"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:124
msgid "There are no more widgets available for the dashboard"
-msgstr ""
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
-msgid "Subscribed Parts"
-msgstr ""
+msgstr "Der er ikke flere widgets tilgængelige til dashboardet"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
-msgid "Show the number of parts which you have subscribed to"
-msgstr ""
+msgid "Subscribed Parts"
+msgstr "Abonnerede Dele"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
-msgid "Subscribed Categories"
-msgstr ""
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
+msgid "Show the number of parts which you have subscribed to"
+msgstr "Vis antallet af dele, du har abonneret på"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
-msgid "Show the number of part categories which you have subscribed to"
-msgstr ""
+msgid "Subscribed Categories"
+msgstr "Abonnerede kategorier"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
-msgid "Invalid BOMs"
-msgstr ""
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
+msgid "Show the number of part categories which you have subscribed to"
+msgstr "Vis antallet af delkategorier, som du har abonneret på"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+msgid "Invalid BOMs"
+msgstr "Ugyldige styklister"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
-msgstr ""
+msgstr "Samlinger, der kræver stukliste af materiale validering"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
-msgstr ""
+msgstr "Få på lager"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr ""
+msgstr "Vis antallet af dele som er lave på lager"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
-msgstr ""
+msgstr "Påkrævet for byggeordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
-msgstr ""
+msgstr "Vis dele som er nødvendige for aktive byggeordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
-msgstr ""
+msgstr "Udløbet Lagervarer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
-msgstr ""
+msgstr "Vis antallet af lagervarer som er udløbet"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
-msgstr ""
+msgstr "Gamle Lagervarer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
-msgstr ""
+msgstr "Vis antallet af lagervarer som er forældede"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
-msgstr ""
+msgstr "Aktive Byggeordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
-msgstr ""
+msgstr "Vis antallet af byggeordrer som er aktive"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
-msgstr ""
+msgstr "Forsinket Byggeordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
-msgstr ""
+msgstr "Vis antallet af byggeordrer som er forfaldne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
-msgstr ""
+msgstr "Tildelte Byggeordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
-msgstr ""
+msgstr "Vis antallet af byggeordrer som er tildelt dig"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
-msgstr ""
+msgstr "Aktiver Salgsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
-msgstr ""
+msgstr "Vis antallet af salgsordrer som er aktive"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
-msgstr ""
+msgstr "Forfaldne Salgsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
-msgstr ""
+msgstr "Vis antallet af salgsordrer som er forfaldne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
-msgstr ""
+msgstr "Tildelte Salgsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
-msgstr ""
+msgstr "Vis antallet af salgsordrer, som er tildelt dig"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "Afventer Forsendelser"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
-msgstr ""
+msgstr "Vis antallet af afventende forsendelser af salgsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
-msgstr ""
+msgstr "Aktive Indkøbsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
-msgstr ""
+msgstr "Vis antallet af indkøbsordrer som er aktive"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
-msgstr ""
+msgstr "Forfaldne Indkøbsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
-msgstr ""
+msgstr "Vis antallet af indkøbsordrer som er forfaldne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
-msgstr ""
+msgstr "Tildelte Indkøbsordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
-msgstr ""
+msgstr "Vis antallet af indkøbsordrer som er tildelt dig"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
-msgstr ""
+msgstr "Aktive Returordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
-msgstr ""
+msgstr "Vis antallet af returordrer som er aktive"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
-msgstr ""
+msgstr "Forfaldne Returordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
-msgstr ""
+msgstr "Vis antallet af returordrer som er forfaldne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
-msgstr ""
+msgstr "Tildelte Returordrer"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
-msgstr ""
+msgstr "Vis antallet af returordrer, som er tildelt dig"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
-msgstr ""
+msgstr "Sådan kommer du igang"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
-msgstr ""
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
-#: src/components/dashboard/widgets/NewsWidget.tsx:123
-msgid "News Updates"
-msgstr ""
+msgstr "Kom godt i gang med InvenTree"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/widgets/NewsWidget.tsx:123
+msgid "News Updates"
+msgstr "Nyhedsopdateringer"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
-msgstr ""
+msgstr "De seneste nyheder fra InvenTree"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
msgid "Change Color Mode"
-msgstr ""
+msgstr "Skift Farvetilstand"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
-msgstr ""
+msgstr "Skift farve for brugergrænseflade"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18
msgid "Change Language"
-msgstr ""
+msgstr "Ændre Sprog"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:23
msgid "Change the language of the user interface"
-msgstr ""
+msgstr "Ændre sprog på brugergrænsefladen"
#: src/components/dashboard/widgets/NewsWidget.tsx:60
#: src/components/nav/NotificationDrawer.tsx:94
#: src/pages/Notifications.tsx:53
msgid "Mark as read"
-msgstr ""
+msgstr "Marker som læst"
#: src/components/dashboard/widgets/NewsWidget.tsx:115
msgid "Requires Superuser"
-msgstr ""
+msgstr "Kræver Superbruger"
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr ""
+msgstr "Denne widget kræver superbruger tilladelser"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
-msgstr ""
+msgstr "Ingen Nyheder"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
+msgstr "Der er ingen ulæste nyheder"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Generering af lageroptællingsrapport"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Generer af lageroptællingsrapport"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Generer"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
msgstr ""
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
#: src/tables/settings/UserTable.tsx:410
msgid "Superuser"
-msgstr ""
+msgstr "Superbruger"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
-msgstr ""
+msgstr "Personale"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
-msgstr ""
+msgstr "E-mail: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
-msgstr ""
+msgstr "Intet navn defineret"
#: src/components/details/DetailsImage.tsx:77
msgid "Remove Image"
-msgstr ""
+msgstr "Fjern billede"
#: src/components/details/DetailsImage.tsx:80
msgid "Remove the associated image from this item?"
-msgstr ""
+msgstr "Fjern det tilknyttede billede fra denne vare?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
+msgstr "Fjern"
+
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
-msgstr ""
+msgstr "Træk og slip for at uploade"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
-msgstr ""
+msgstr "Klik for at vælge fil(er)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
-msgstr ""
+msgstr "Billede uploadet"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr ""
+msgstr "Billede downloadet"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
-msgstr ""
-
-#: src/components/details/DetailsImage.tsx:250
-#: src/components/forms/fields/AutoFillRightSection.tsx:34
-msgid "Clear"
-msgstr ""
+msgstr "Upload fejl"
#: src/components/details/DetailsImage.tsx:256
+#: src/components/forms/fields/AutoFillRightSection.tsx:34
+msgid "Clear"
+msgstr "Ryd"
+
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
-msgstr ""
+msgstr "Indsend"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
-msgstr ""
+msgstr "Vælg fra eksisterende billeder"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
-msgstr ""
+msgstr "Vælg billede"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
-msgstr ""
+msgstr "Download eksternt billede"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
-msgstr ""
+msgstr "Upload nyt billede"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
-msgstr ""
+msgstr "Upload billede"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
-msgstr ""
+msgstr "Slet billede"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
-msgstr ""
+msgstr "Download billede"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr ""
+msgstr "Billede downloadet"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1347,23 +1390,23 @@ msgstr ""
#: src/components/editors/NotesEditor.tsx:75
msgid "Image upload failed"
-msgstr ""
+msgstr "Upload af billede fejlede"
#: src/components/editors/NotesEditor.tsx:85
msgid "Image uploaded successfully"
-msgstr ""
+msgstr "Billede blev uploadet"
#: src/components/editors/NotesEditor.tsx:119
msgid "Notes saved successfully"
-msgstr ""
+msgstr "Noter er gemt"
#: src/components/editors/NotesEditor.tsx:130
msgid "Failed to save notes"
-msgstr ""
+msgstr "Kunne ikke gemme noter"
#: src/components/editors/NotesEditor.tsx:133
msgid "Error Saving Notes"
-msgstr ""
+msgstr "Kunne Ikke Gemme Noter"
#: src/components/editors/NotesEditor.tsx:151
#~ msgid "Disable Editing"
@@ -1371,15 +1414,15 @@ msgstr ""
#: src/components/editors/NotesEditor.tsx:153
msgid "Save Notes"
-msgstr ""
+msgstr "Gem noter"
#: src/components/editors/NotesEditor.tsx:172
msgid "Close Editor"
-msgstr ""
+msgstr "Luk redigering"
#: src/components/editors/NotesEditor.tsx:179
msgid "Enable Editing"
-msgstr ""
+msgstr "Aktiver Redigering"
#: src/components/editors/NotesEditor.tsx:198
#~ msgid "Preview Notes"
@@ -1391,7 +1434,7 @@ msgstr ""
#: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9
msgid "Code"
-msgstr ""
+msgstr "Kode"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44
#~ msgid "Failed to parse error response from server."
@@ -1399,23 +1442,23 @@ msgstr ""
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "Fejl under visning"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
-msgstr ""
+msgstr "Forhåndsvisning ikke tilgængelig, klik \"Genindlæs forhåndsvisning\"."
#: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9
msgid "PDF Preview"
-msgstr ""
+msgstr "PDF forhåndsvisning"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:110
msgid "Error loading template"
-msgstr ""
+msgstr "Fejl ved indlæsning af skabelon"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:122
msgid "Error saving template"
-msgstr ""
+msgstr "Fejl under gemning af skabelon"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151
#~ msgid "Save & Reload preview?"
@@ -1423,36 +1466,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "Could not load the template from the server."
-msgstr ""
+msgstr "Kunne ikke indlæse skabelonen fra serveren."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:176
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:319
msgid "Save & Reload Preview"
-msgstr ""
+msgstr "Gem & Genindlæs Forhåndsvisning"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:181
msgid "Are you sure you want to Save & Reload the preview?"
-msgstr ""
+msgstr "Er du sikker på du vil gemme og genindlæse forhåndsvisningen?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:183
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?"
-msgstr ""
+msgstr "For at vise forhåndsvisningen skal den nuværende skabelon udskiftes på serveren med dine ændringer, som kan ødelægge etiketten hvis den er under aktiv brug. Vil du fortsætte?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:187
msgid "Save & Reload"
-msgstr ""
+msgstr "Gem & Genindlæs"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:219
msgid "Preview updated"
-msgstr ""
+msgstr "Forhåndsvisning opdateret"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:220
msgid "The preview has been updated successfully."
-msgstr ""
+msgstr "Forhåndsvisningen er blevet opdateret."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "En ukendt fejl opstod under render af forhåndsvisningen."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1460,15 +1503,15 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:311
msgid "Reload preview"
-msgstr ""
+msgstr "Genindlæs forhåndsvisninger"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:312
msgid "Use the currently stored template from the server"
-msgstr ""
+msgstr "Brug den gemte skabelon fra serveren"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:320
msgid "Save the current template and reload the preview"
-msgstr ""
+msgstr "Gem den nuværende skabelon og genindlæs forhåndsvisningen"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322
#~ msgid "to preview"
@@ -1476,65 +1519,65 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:379
msgid "Select instance to preview"
-msgstr ""
+msgstr "Vælg eksempel til forhåndsvisning"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423
msgid "Error rendering template"
-msgstr ""
+msgstr "Render fejl af skabelon"
#: src/components/errors/ClientError.tsx:23
msgid "Client Error"
-msgstr ""
+msgstr "Klient Fejl"
#: src/components/errors/ClientError.tsx:24
msgid "Client error occurred"
-msgstr ""
+msgstr "Klient fejl opstod"
#: src/components/errors/GenericErrorPage.tsx:50
msgid "Status Code"
-msgstr ""
+msgstr "Status Kode"
#: src/components/errors/GenericErrorPage.tsx:63
msgid "Return to the index page"
-msgstr ""
+msgstr "Tilbage til indekssiden"
#: src/components/errors/NotAuthenticated.tsx:8
msgid "Not Authenticated"
-msgstr ""
+msgstr "Ikke Godkendt"
#: src/components/errors/NotAuthenticated.tsx:9
msgid "You are not logged in."
-msgstr ""
+msgstr "Du er ikke logget ind."
#: src/components/errors/NotFound.tsx:8
msgid "Page Not Found"
-msgstr ""
+msgstr "Side ikke fundet"
#: src/components/errors/NotFound.tsx:9
msgid "This page does not exist"
-msgstr ""
+msgstr "Siden eksisterer ikke"
#: src/components/errors/PermissionDenied.tsx:8
#: src/functions/notifications.tsx:25
msgid "Permission Denied"
-msgstr ""
+msgstr "Adgang nægtet"
#: src/components/errors/PermissionDenied.tsx:9
msgid "You do not have permission to view this page."
-msgstr ""
+msgstr "Du har ikke tilladelse til at se denne side."
#: src/components/errors/ServerError.tsx:8
msgid "Server Error"
-msgstr ""
+msgstr "Serverfejl"
#: src/components/errors/ServerError.tsx:9
msgid "A server error occurred"
-msgstr ""
+msgstr "Der opstod en serverfejl"
#: src/components/forms/ApiForm.tsx:107
#: src/components/forms/ApiForm.tsx:613
msgid "Form Error"
-msgstr ""
+msgstr "Formular Fejl"
#: src/components/forms/ApiForm.tsx:487
#~ msgid "Form Errors Exist"
@@ -1542,13 +1585,13 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:623
msgid "Errors exist for one or more form fields"
-msgstr ""
+msgstr "Fejl findes i et eller flere formularfelter"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
-msgstr ""
+msgstr "Opdater"
#: src/components/forms/AuthenticationForm.tsx:48
#: src/components/forms/AuthenticationForm.tsx:74
@@ -1571,50 +1614,50 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:73
msgid "Login successful"
-msgstr ""
+msgstr "Login succesfuld"
#: src/components/forms/AuthenticationForm.tsx:74
msgid "Logged in successfully"
-msgstr ""
+msgstr "Logget ind"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
-msgstr ""
+msgstr "Login mislykkedes"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
-msgstr ""
+msgstr "Tjek din indtastning og prøv igen."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
-msgstr ""
+msgstr "Mail levering succesfuld"
#: src/components/forms/AuthenticationForm.tsx:101
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
-msgstr ""
+msgstr "Tjek din indbakke for login-linket. Hvis du har en konto, vil du modtage et login-link. Tjek også spam."
#: src/components/forms/AuthenticationForm.tsx:105
msgid "Mail delivery failed"
-msgstr ""
+msgstr "Mail levering mislykkedes"
#: src/components/forms/AuthenticationForm.tsx:125
msgid "Or continue with other methods"
-msgstr ""
+msgstr "Eller fortsæt med andre metoder"
#: src/components/forms/AuthenticationForm.tsx:136
#: src/components/forms/AuthenticationForm.tsx:296
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:64
#: src/pages/core/UserDetail.tsx:48
msgid "Username"
-msgstr ""
+msgstr "Brugernavn"
#: src/components/forms/AuthenticationForm.tsx:136
#~ msgid "I will use username and password"
@@ -1623,107 +1666,111 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:138
#: src/components/forms/AuthenticationForm.tsx:298
msgid "Your username"
-msgstr ""
+msgstr "Dit brugernavn"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
-msgstr ""
+msgstr "Adgangskode"
#: src/components/forms/AuthenticationForm.tsx:145
#: src/components/forms/AuthenticationForm.tsx:313
msgid "Your password"
-msgstr ""
+msgstr "Din adgangskode"
#: src/components/forms/AuthenticationForm.tsx:164
msgid "Reset password"
-msgstr ""
+msgstr "Nulstil adgangskode"
#: src/components/forms/AuthenticationForm.tsx:173
#: src/components/forms/AuthenticationForm.tsx:303
#: src/pages/Auth/Reset.tsx:17
#: src/pages/core/UserDetail.tsx:71
msgid "Email"
-msgstr ""
+msgstr "E-mail"
#: src/components/forms/AuthenticationForm.tsx:174
#: src/pages/Auth/Reset.tsx:18
msgid "We will send you a link to login - if you are registered"
-msgstr ""
+msgstr "Vi vil sende dig et link til login - hvis du er registreret"
#: src/components/forms/AuthenticationForm.tsx:190
msgid "Send me an email"
-msgstr ""
+msgstr "Send mig en e-mail"
#: src/components/forms/AuthenticationForm.tsx:192
msgid "Use username and password"
-msgstr ""
+msgstr "Brug brugernavn og adgangskode"
#: src/components/forms/AuthenticationForm.tsx:201
msgid "Log In"
-msgstr ""
+msgstr "Log Ind"
#: src/components/forms/AuthenticationForm.tsx:203
#: src/pages/Auth/Reset.tsx:26
msgid "Send Email"
-msgstr ""
+msgstr "Send E-mail"
#: src/components/forms/AuthenticationForm.tsx:239
msgid "Passwords do not match"
-msgstr ""
+msgstr "Adgangskoder stemmer ikke overens"
#: src/components/forms/AuthenticationForm.tsx:256
msgid "Registration successful"
-msgstr ""
+msgstr "Registrering gennemført"
#: src/components/forms/AuthenticationForm.tsx:257
msgid "Please confirm your email address to complete the registration"
-msgstr ""
+msgstr "Bekræft venligst din e-mailadresse for at fuldføre registreringen"
#: src/components/forms/AuthenticationForm.tsx:280
msgid "Input error"
-msgstr ""
+msgstr "Indtastningsfejl"
#: src/components/forms/AuthenticationForm.tsx:281
msgid "Check your input and try again. "
-msgstr ""
+msgstr "Tjek din indtastning og prøv igen. "
#: src/components/forms/AuthenticationForm.tsx:305
msgid "This will be used for a confirmation"
-msgstr ""
+msgstr "Dette vil blive brugt til en bekræftelse"
#: src/components/forms/AuthenticationForm.tsx:318
msgid "Password repeat"
-msgstr ""
+msgstr "Gentag adgangskode"
#: src/components/forms/AuthenticationForm.tsx:320
msgid "Repeat password"
-msgstr ""
+msgstr "Gentag Password"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
-msgstr ""
+msgstr "Registrer"
#: src/components/forms/AuthenticationForm.tsx:338
msgid "Or use SSO"
-msgstr ""
+msgstr "Eller brug Single Sign-on"
#: src/components/forms/AuthenticationForm.tsx:348
msgid "Registration not active"
-msgstr ""
+msgstr "Registrering ikke aktiv"
#: src/components/forms/AuthenticationForm.tsx:349
msgid "This might be related to missing mail settings or could be a deliberate decision."
-msgstr ""
+msgstr "Dette kan være relateret til manglende mail-indstillinger eller kunne være en bevidst beslutning."
+
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Vælg dato og klokkeslæt"
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
-msgstr ""
+msgstr "Vært"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:70
@@ -1731,36 +1778,36 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
#: src/tables/settings/PendingTasksTable.tsx:37
#: src/tables/stock/LocationTypesTable.tsx:74
msgid "Name"
-msgstr ""
+msgstr "Navn"
#: src/components/forms/HostOptionsForm.tsx:75
msgid "No one here..."
-msgstr ""
+msgstr "Ingen her..."
#: src/components/forms/HostOptionsForm.tsx:86
msgid "Add Host"
-msgstr ""
+msgstr "Tilføj Vært"
#: src/components/forms/HostOptionsForm.tsx:90
#: src/components/items/RoleTable.tsx:224
#: src/components/items/TransferList.tsx:215
#: src/components/items/TransferList.tsx:223
msgid "Save"
-msgstr ""
+msgstr "Gem"
#: src/components/forms/InstanceOptions.tsx:43
#~ msgid "Select destination instance"
@@ -1768,12 +1815,12 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:58
msgid "Select Server"
-msgstr ""
+msgstr "Vælg Server"
#: src/components/forms/InstanceOptions.tsx:68
#: src/components/forms/InstanceOptions.tsx:92
msgid "Edit host options"
-msgstr ""
+msgstr "Rediger vært indstillinger"
#: src/components/forms/InstanceOptions.tsx:71
#~ msgid "Edit possible host options"
@@ -1781,7 +1828,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:76
msgid "Save host selection"
-msgstr ""
+msgstr "Gem værtsvalg"
#: src/components/forms/InstanceOptions.tsx:98
#~ msgid "Version: {0}"
@@ -1802,26 +1849,27 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:118
#: src/pages/Index/Settings/SystemSettings.tsx:46
msgid "Server"
-msgstr ""
+msgstr "Server"
#: src/components/forms/InstanceOptions.tsx:130
#: src/components/plugins/PluginDrawer.tsx:88
#: src/tables/plugin/PluginListTable.tsx:127
msgid "Version"
-msgstr ""
+msgstr "Version"
#: src/components/forms/InstanceOptions.tsx:136
#: src/components/modals/AboutInvenTreeModal.tsx:124
#: src/components/modals/ServerInfoModal.tsx:34
msgid "API Version"
-msgstr ""
+msgstr "API Version"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
-msgstr ""
+msgstr "Plugins"
#: src/components/forms/InstanceOptions.tsx:143
#: src/tables/general/ParameterTemplateTable.tsx:153
@@ -1829,76 +1877,76 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
-msgstr ""
+msgstr "Aktiveret"
#: src/components/forms/InstanceOptions.tsx:143
msgid "Disabled"
-msgstr ""
+msgstr "Deaktiveret"
#: src/components/forms/InstanceOptions.tsx:149
msgid "Worker"
-msgstr ""
+msgstr "Arbejder"
#: src/components/forms/InstanceOptions.tsx:150
#: src/tables/settings/FailedTasksTable.tsx:48
msgid "Stopped"
-msgstr ""
+msgstr "Standset"
#: src/components/forms/InstanceOptions.tsx:150
msgid "Running"
-msgstr ""
+msgstr "Køre"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Vælg den fil, du vil uploade"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Accepter foreslået værdi"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Vælg dato"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
-msgstr ""
+msgstr "Intet ikon valgt"
#: src/components/forms/fields/IconField.tsx:161
msgid "Uncategorized"
-msgstr ""
+msgstr "Ukategoriseret"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
-msgstr ""
+msgstr "Søg..."
#: src/components/forms/fields/IconField.tsx:225
#: src/components/wizards/ImportPartWizard.tsx:304
msgid "Select category"
-msgstr ""
+msgstr "Vælg kategori"
#: src/components/forms/fields/IconField.tsx:234
msgid "Select pack"
-msgstr ""
+msgstr "Vælg pakke"
#. placeholder {0}: filteredIcons.length
#: src/components/forms/fields/IconField.tsx:239
msgid "{0} icons"
-msgstr ""
+msgstr "{0} ikoner"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
-msgstr ""
+msgstr "Indlæser"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
-msgstr ""
+msgstr "Ingen resultater fundet"
#: src/components/forms/fields/TableField.tsx:46
msgid "modelRenderer entry required for tables"
@@ -1906,11 +1954,11 @@ msgstr ""
#: src/components/forms/fields/TableField.tsx:187
msgid "No entries available"
-msgstr ""
+msgstr "Ingen poster tilgængelige"
#: src/components/forms/fields/TableField.tsx:198
msgid "Add new row"
-msgstr ""
+msgstr "Tilføj ny række"
#: src/components/images/DetailsImage.tsx:252
#~ msgid "Select image"
@@ -1918,77 +1966,77 @@ msgstr ""
#: src/components/images/Thumbnail.tsx:12
msgid "Thumbnail"
-msgstr ""
+msgstr "Thumbnail"
#: src/components/importer/ImportDataSelector.tsx:175
msgid "Importing Rows"
-msgstr ""
+msgstr "Importerer Rækker"
#: src/components/importer/ImportDataSelector.tsx:176
msgid "Please wait while the data is imported"
-msgstr ""
+msgstr "Vent venligst mens data importeres"
#: src/components/importer/ImportDataSelector.tsx:193
msgid "An error occurred while importing data"
-msgstr ""
+msgstr "En fejl opstod under import af data"
#: src/components/importer/ImportDataSelector.tsx:214
msgid "Edit Data"
-msgstr ""
+msgstr "Rediger data"
#: src/components/importer/ImportDataSelector.tsx:246
msgid "Delete Row"
-msgstr ""
+msgstr "Slet række"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
-msgstr ""
+msgstr "Række"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
-msgstr ""
+msgstr "Rækken indeholder fejl"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
-msgstr ""
+msgstr "Acceptere"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
-msgstr ""
+msgstr "Gyldig"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
-msgstr ""
+msgstr "Filtrer efter rækkevaliderings status"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
-msgstr ""
+msgstr "Færdiggjort"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
-msgstr ""
+msgstr "Filtrer efter rækkefuldførelse status"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
-msgstr ""
+msgstr "Importer markerede rækker"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
-msgstr ""
+msgstr "Behandler Data"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
-msgstr ""
+msgstr "En feil opstod"
#: src/components/importer/ImporterColumnSelector.tsx:69
msgid "Select column, or leave blank to ignore this field."
-msgstr ""
+msgstr "Vælg kolonne, eller efterlad blank for at ignorere dette felt."
#: src/components/importer/ImporterColumnSelector.tsx:91
#~ msgid "Select a column from the data file"
@@ -2002,57 +2050,57 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
-msgstr ""
+msgstr "Ignorer dette felt"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
-msgstr ""
+msgstr "Kortlægning af datakolonner til databasefelter"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
-msgstr ""
+msgstr "Accepter Kolonnekortlægning"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
-msgstr ""
+msgstr "Databasefelt"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
-msgstr ""
+msgstr "Feltbeskrivelse"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
-msgstr ""
+msgstr "Importerede Kolonne"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
-msgstr ""
+msgstr "Standardværdi"
#: src/components/importer/ImporterDrawer.tsx:43
msgid "Upload File"
-msgstr ""
+msgstr "Upload Fil"
#: src/components/importer/ImporterDrawer.tsx:44
msgid "Map Columns"
-msgstr ""
+msgstr "Kortlæg Koloner"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr ""
+msgid "Import Rows"
+msgstr "Importer Rækker"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
-msgstr ""
+msgstr "Behandler Data"
#: src/components/importer/ImporterDrawer.tsx:47
msgid "Complete Import"
-msgstr ""
+msgstr "Færdiggør Import"
#: src/components/importer/ImporterDrawer.tsx:89
msgid "Failed to fetch import session data"
-msgstr ""
+msgstr "Kunne ikke import sessionsdata"
#: src/components/importer/ImporterDrawer.tsx:97
#~ msgid "Cancel import session"
@@ -2060,20 +2108,20 @@ msgstr ""
#: src/components/importer/ImporterDrawer.tsx:104
msgid "Import Complete"
-msgstr ""
+msgstr "Import fuldført"
#: src/components/importer/ImporterDrawer.tsx:107
msgid "Data has been imported successfully"
-msgstr ""
+msgstr "Data er blevet importeret"
#: src/components/importer/ImporterDrawer.tsx:109
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
-msgstr ""
+msgstr "Luk"
#: src/components/importer/ImporterDrawer.tsx:119
#~ msgid "Import session has unknown status"
@@ -2081,7 +2129,7 @@ msgstr ""
#: src/components/importer/ImporterDrawer.tsx:128
msgid "Importing Data"
-msgstr ""
+msgstr "Importerer data"
#: src/components/importer/ImporterImportProgress.tsx:36
#~ msgid "Importing Records"
@@ -2093,58 +2141,58 @@ msgstr ""
#: src/components/importer/ImporterStatus.tsx:19
msgid "Unknown Status"
-msgstr ""
+msgstr "Ukendt status"
#: src/components/items/ActionDropdown.tsx:135
msgid "Options"
-msgstr ""
+msgstr "Indstillinger"
#: src/components/items/ActionDropdown.tsx:162
#~ msgid "Link custom barcode"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
-msgstr ""
+msgstr "Stregkode Handlinger"
#: src/components/items/ActionDropdown.tsx:176
msgid "View Barcode"
-msgstr ""
+msgstr "Vis stregkode"
#: src/components/items/ActionDropdown.tsx:178
msgid "View barcode"
-msgstr ""
+msgstr "Vis stregkode"
#: src/components/items/ActionDropdown.tsx:184
msgid "Link Barcode"
-msgstr ""
+msgstr "Link Barkode"
#: src/components/items/ActionDropdown.tsx:186
msgid "Link a custom barcode to this item"
-msgstr ""
+msgstr "Link en brugerdefineret stregkode til dette element"
#: src/components/items/ActionDropdown.tsx:194
msgid "Unlink custom barcode"
-msgstr ""
+msgstr "Fjern link til tilpasset stregkode"
#: src/components/items/ActionDropdown.tsx:246
msgid "Edit item"
-msgstr ""
+msgstr "Rediger vare"
#: src/components/items/ActionDropdown.tsx:258
msgid "Delete item"
-msgstr ""
+msgstr "Slet vare"
#: src/components/items/ActionDropdown.tsx:266
#: src/components/items/ActionDropdown.tsx:267
msgid "Hold"
-msgstr ""
+msgstr "Hold"
#: src/components/items/ActionDropdown.tsx:290
msgid "Duplicate item"
-msgstr ""
+msgstr "Dupliker vare"
#: src/components/items/BarcodeInput.tsx:24
#~ msgid "Scan barcode data here using barcode scanner"
@@ -2152,18 +2200,18 @@ msgstr ""
#: src/components/items/ColorToggle.tsx:17
msgid "Toggle color scheme"
-msgstr ""
+msgstr "Slå farvetema til/fra"
#: src/components/items/DocTooltip.tsx:92
#: src/components/items/GettingStartedCarousel.tsx:20
msgid "Read More"
-msgstr ""
+msgstr "Læs mere"
#: src/components/items/ErrorItem.tsx:8
#: src/functions/api.tsx:51
#: src/tables/settings/PendingTasksTable.tsx:80
msgid "Unknown error"
-msgstr ""
+msgstr "Ukendt fejl"
#: src/components/items/ErrorItem.tsx:13
#~ msgid "An error occurred:"
@@ -2175,20 +2223,25 @@ msgstr ""
#: src/components/items/InfoItem.tsx:27
msgid "None"
-msgstr ""
+msgstr "Ingen"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
+msgstr "InvenTree Logo"
+
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
msgstr ""
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
-msgstr ""
+msgstr "Vælg sprog"
#: src/components/items/OnlyStaff.tsx:10
#: src/components/modals/AboutInvenTreeModal.tsx:50
msgid "This information is only available for staff users"
-msgstr ""
+msgstr "Denne information er kun tilgængelig for personalet"
#: src/components/items/Placeholder.tsx:14
#~ msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing."
@@ -2200,75 +2253,76 @@ msgstr ""
#: src/components/items/RoleTable.tsx:81
msgid "Updating"
-msgstr ""
+msgstr "Opdaterer"
#: src/components/items/RoleTable.tsx:82
msgid "Updating group roles"
-msgstr ""
+msgstr "Opdaterer grupperoller"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
-msgstr ""
+msgstr "Opdateret"
#: src/components/items/RoleTable.tsx:119
msgid "Group roles updated"
-msgstr ""
+msgstr "Gruppe roller opdateret"
#: src/components/items/RoleTable.tsx:135
msgid "Role"
-msgstr ""
+msgstr "Rolle"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
-msgstr ""
+msgstr "Vis"
#: src/components/items/RoleTable.tsx:145
msgid "Change"
-msgstr ""
+msgstr "Ændre"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
-msgstr ""
+msgstr "Tilføj"
#: src/components/items/RoleTable.tsx:203
msgid "Reset group roles"
-msgstr ""
+msgstr "Nulstil grupperoller"
#: src/components/items/RoleTable.tsx:212
msgid "Reset"
-msgstr ""
+msgstr "Nulstil"
#: src/components/items/RoleTable.tsx:215
msgid "Save group roles"
-msgstr ""
+msgstr "Gem grupperoller"
#: src/components/items/TransferList.tsx:65
msgid "No items"
-msgstr ""
+msgstr "Ingen varer"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
-msgstr ""
+msgstr "Tilgængelig"
#: src/components/items/TransferList.tsx:162
msgid "Selected"
-msgstr ""
+msgstr "Valgt"
#: src/components/modals/AboutInvenTreeModal.tsx:103
#~ msgid "Your InvenTree version status is"
@@ -2276,31 +2330,31 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:118
msgid "InvenTree Version"
-msgstr ""
+msgstr "InvenTree Version"
#: src/components/modals/AboutInvenTreeModal.tsx:130
msgid "Python Version"
-msgstr ""
+msgstr "Python Version"
#: src/components/modals/AboutInvenTreeModal.tsx:135
msgid "Django Version"
-msgstr ""
+msgstr "Django Version"
#: src/components/modals/AboutInvenTreeModal.tsx:144
msgid "Commit Hash"
-msgstr ""
+msgstr "Commit Hash"
#: src/components/modals/AboutInvenTreeModal.tsx:149
msgid "Commit Date"
-msgstr ""
+msgstr "Commit Dato"
#: src/components/modals/AboutInvenTreeModal.tsx:154
msgid "Commit Branch"
-msgstr ""
+msgstr "Commit Branch"
#: src/components/modals/AboutInvenTreeModal.tsx:165
msgid "Version Information"
-msgstr ""
+msgstr "Versionsinformation"
#: src/components/modals/AboutInvenTreeModal.tsx:165
#~ msgid "Credits"
@@ -2316,25 +2370,25 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:174
msgid "Links"
-msgstr ""
+msgstr "Links"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
-msgstr ""
+msgstr "Dokumentation"
#: src/components/modals/AboutInvenTreeModal.tsx:181
msgid "Source Code"
-msgstr ""
+msgstr "Kilde Kode"
#: src/components/modals/AboutInvenTreeModal.tsx:182
msgid "Mobile App"
-msgstr ""
+msgstr "Mobil App"
#: src/components/modals/AboutInvenTreeModal.tsx:183
msgid "Submit Bug Report"
-msgstr ""
+msgstr "Indsend Fejlrapport"
#: src/components/modals/AboutInvenTreeModal.tsx:189
#: src/components/modals/ServerInfoModal.tsx:147
@@ -2343,39 +2397,39 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:195
msgid "Copy version information"
-msgstr ""
+msgstr "Kopier versionsinformation"
#: src/components/modals/AboutInvenTreeModal.tsx:215
msgid "Development Version"
-msgstr ""
+msgstr "Udviklings Version"
#: src/components/modals/AboutInvenTreeModal.tsx:217
msgid "Up to Date"
-msgstr ""
+msgstr "Op til dato"
#: src/components/modals/AboutInvenTreeModal.tsx:219
msgid "Update Available"
-msgstr ""
+msgstr "Opdatering tilgængelig"
#: src/components/modals/LicenseModal.tsx:41
msgid "No license text available"
-msgstr ""
+msgstr "Ingen licenstekst tilgængelig"
#: src/components/modals/LicenseModal.tsx:48
msgid "No Information provided - this is likely a server issue"
-msgstr ""
+msgstr "Ingen information leveret - dette er sandsynligvis et server problem"
#: src/components/modals/LicenseModal.tsx:81
msgid "Loading license information"
-msgstr ""
+msgstr "Indlæser licensinformation"
#: src/components/modals/LicenseModal.tsx:87
msgid "Failed to fetch license information"
-msgstr ""
+msgstr "Kunne ikke hente licensinformation"
#: src/components/modals/LicenseModal.tsx:99
msgid "{key} Packages"
-msgstr ""
+msgstr "{key} Pakker"
#: src/components/modals/QrCodeModal.tsx:24
#~ msgid "Unknown response"
@@ -2391,11 +2445,11 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:22
msgid "Instance Name"
-msgstr ""
+msgstr "Instansnavn"
#: src/components/modals/ServerInfoModal.tsx:28
msgid "Server Version"
-msgstr ""
+msgstr "Server Version"
#: src/components/modals/ServerInfoModal.tsx:38
#~ msgid "Bebug Mode"
@@ -2403,57 +2457,57 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:40
msgid "Database"
-msgstr ""
+msgstr "Database"
#: src/components/modals/ServerInfoModal.tsx:49
#: src/components/nav/Alerts.tsx:120
msgid "Debug Mode"
-msgstr ""
+msgstr "Fejlfindingstilstand"
#: src/components/modals/ServerInfoModal.tsx:54
msgid "Server is running in debug mode"
-msgstr ""
+msgstr "Serveren kører i fejlfindingstilstand"
#: src/components/modals/ServerInfoModal.tsx:62
msgid "Docker Mode"
-msgstr ""
+msgstr "Docker-tilstand"
#: src/components/modals/ServerInfoModal.tsx:65
msgid "Server is deployed using docker"
-msgstr ""
+msgstr "Serveren er indsat ved hjælp af docker"
#: src/components/modals/ServerInfoModal.tsx:71
msgid "Plugin Support"
-msgstr ""
+msgstr "Plugin Understøttede"
#: src/components/modals/ServerInfoModal.tsx:76
msgid "Plugin support enabled"
-msgstr ""
+msgstr "Plugin understøttelse aktiveret"
#: src/components/modals/ServerInfoModal.tsx:78
msgid "Plugin support disabled"
-msgstr ""
+msgstr "Plugin understøttelse deaktiveret"
#: src/components/modals/ServerInfoModal.tsx:85
msgid "Server status"
-msgstr ""
+msgstr "Server detaljer"
#: src/components/modals/ServerInfoModal.tsx:91
msgid "Healthy"
-msgstr ""
+msgstr "Sund"
#: src/components/modals/ServerInfoModal.tsx:93
msgid "Issues detected"
-msgstr ""
+msgstr "Problemer identificeret"
#: src/components/modals/ServerInfoModal.tsx:102
#: src/components/nav/Alerts.tsx:127
msgid "Background Worker"
-msgstr ""
+msgstr "Baggrunds Arbejder"
#: src/components/modals/ServerInfoModal.tsx:107
msgid "The background worker process is not running"
-msgstr ""
+msgstr "Baggrunds processen kører ikke"
#: src/components/modals/ServerInfoModal.tsx:107
#~ msgid "The Background worker process is not running."
@@ -2462,7 +2516,7 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:115
#: src/pages/Index/Settings/AdminCenter/Index.tsx:129
msgid "Email Settings"
-msgstr ""
+msgstr "E-mail indstillinger"
#: src/components/modals/ServerInfoModal.tsx:118
#~ msgid "Email settings not configured"
@@ -2471,47 +2525,47 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:120
#: src/components/nav/Alerts.tsx:143
msgid "Email settings not configured."
-msgstr ""
+msgstr "E-mail indstillinger ikke konfigureret."
#: src/components/nav/Alerts.tsx:57
msgid "Alerts"
-msgstr ""
+msgstr "Alarmer"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Ingen problemer fundet"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
-msgstr ""
+msgstr "Serveren kører i fejlfindingstilstand."
#: src/components/nav/Alerts.tsx:129
msgid "The background worker process is not running."
-msgstr ""
+msgstr "Baggrunds processen kører ikke."
#: src/components/nav/Alerts.tsx:134
msgid "Server Restart"
-msgstr ""
+msgstr "Server Genstart"
#: src/components/nav/Alerts.tsx:136
msgid "The server requires a restart to apply changes."
-msgstr ""
+msgstr "Serveren kræver en genstart for at anvende ændringer."
#: src/components/nav/Alerts.tsx:141
msgid "Email settings"
-msgstr ""
+msgstr "E-mail indstillinger"
#: src/components/nav/Alerts.tsx:148
msgid "Database Migrations"
-msgstr ""
+msgstr "Database Migrationer"
#: src/components/nav/Alerts.tsx:150
msgid "There are pending database migrations."
-msgstr ""
+msgstr "Der er ventende databasemigreringer."
#: src/components/nav/Alerts.tsx:165
msgid "Learn more about {code}"
-msgstr ""
+msgstr "Lær mere om {code}"
#: src/components/nav/Header.tsx:188
#: src/components/nav/NavigationDrawer.tsx:134
@@ -2521,11 +2575,11 @@ msgstr ""
#: src/pages/Notifications.tsx:45
#: src/pages/Notifications.tsx:130
msgid "Notifications"
-msgstr ""
+msgstr "Notifikationer"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
-msgstr ""
+msgstr "Intet fundet..."
#: src/components/nav/MainMenu.tsx:40
#: src/pages/Index/Profile/Profile.tsx:15
@@ -2537,7 +2591,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/EmailManagementPanel.tsx:21
#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:39
msgid "Settings"
-msgstr ""
+msgstr "Indstillinger"
#: src/components/nav/MainMenu.tsx:59
#: src/defaults/menuItems.tsx:15
@@ -2547,11 +2601,11 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
-msgstr ""
+msgstr "Brugerindstillinger"
#: src/components/nav/MainMenu.tsx:61
#: src/pages/Index/Settings/UserSettings.tsx:145
@@ -2565,11 +2619,11 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
-msgstr ""
+msgstr "Systemindstillinger"
#: src/components/nav/MainMenu.tsx:71
#~ msgid "Switch to pseudo language"
@@ -2578,22 +2632,22 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
-msgstr ""
+msgstr "Admin Center"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
-msgstr ""
+msgstr "Om InvenTree"
#: src/components/nav/MainMenu.tsx:108
msgid "Logout"
-msgstr ""
+msgstr "Log ud"
#: src/components/nav/NavHoverMenu.tsx:84
#~ msgid "View all"
@@ -2616,111 +2670,111 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
-msgstr ""
+msgstr "Lager"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
-msgstr ""
+msgstr "Produktion"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
-msgstr ""
+msgstr "Indkøb"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
-msgstr ""
+msgstr "Salg"
#: src/components/nav/NavigationDrawer.tsx:180
msgid "Navigation"
-msgstr ""
+msgstr "Navigation"
#: src/components/nav/NavigationDrawer.tsx:214
msgid "About"
-msgstr ""
+msgstr "Omkring"
#: src/components/nav/NavigationTree.tsx:212
msgid "Error loading navigation tree."
-msgstr ""
+msgstr "Fejl ved indlæsning af navigationstræ."
#: src/components/nav/NotificationDrawer.tsx:183
#: src/pages/Notifications.tsx:74
msgid "Mark all as read"
-msgstr ""
+msgstr "Marker alle som læst"
#: src/components/nav/NotificationDrawer.tsx:193
msgid "View all notifications"
-msgstr ""
+msgstr "Vis alle notifikationer"
#: src/components/nav/NotificationDrawer.tsx:216
msgid "You have no unread notifications."
-msgstr ""
+msgstr "Du har ingen ulæste notifikationer."
#: src/components/nav/NotificationDrawer.tsx:238
msgid "Error loading notifications."
-msgstr ""
+msgstr "Fejl ved indlæsning af notifikationer."
#: src/components/nav/SearchDrawer.tsx:106
msgid "No Overview Available"
-msgstr ""
+msgstr "Ingen Oversigt Tilgængelig"
#: src/components/nav/SearchDrawer.tsx:107
msgid "No overview available for this model type"
-msgstr ""
+msgstr "Ingen oversigt tilgængelig for denne modeltype"
#: src/components/nav/SearchDrawer.tsx:125
msgid "View all results"
-msgstr ""
+msgstr "Vis alle resultater"
#: src/components/nav/SearchDrawer.tsx:140
msgid "results"
-msgstr ""
+msgstr "resultater"
#: src/components/nav/SearchDrawer.tsx:144
msgid "Remove search group"
-msgstr ""
+msgstr "Fjern søgegruppe"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
-msgstr ""
+msgstr "Leverandører"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
-msgstr ""
+msgstr "Producenter"
#: src/components/nav/SearchDrawer.tsx:308
#: src/pages/sales/SalesIndex.tsx:133
msgid "Customers"
-msgstr ""
+msgstr "Kunder"
#: src/components/nav/SearchDrawer.tsx:462
#~ msgid "No results"
@@ -2728,168 +2782,174 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:477
msgid "Enter search text"
-msgstr ""
+msgstr "Indtast søgetekst"
#: src/components/nav/SearchDrawer.tsx:488
msgid "Refresh search results"
-msgstr ""
+msgstr "Opdater søgeresultater"
#: src/components/nav/SearchDrawer.tsx:499
#: src/components/nav/SearchDrawer.tsx:506
msgid "Search Options"
-msgstr ""
+msgstr "Søg Indstillinger"
#: src/components/nav/SearchDrawer.tsx:509
msgid "Whole word search"
-msgstr ""
+msgstr "Hele ord søgning"
#: src/components/nav/SearchDrawer.tsx:518
msgid "Regex search"
-msgstr ""
+msgstr "Regex søgning"
#: src/components/nav/SearchDrawer.tsx:527
msgid "Notes search"
-msgstr ""
+msgstr "Søg i noter"
#: src/components/nav/SearchDrawer.tsx:575
msgid "An error occurred during search query"
-msgstr ""
+msgstr "Der opstod en fejl under søgning"
#: src/components/nav/SearchDrawer.tsx:586
#: src/tables/part/PartTestTemplateTable.tsx:82
msgid "No Results"
-msgstr ""
+msgstr "Ingen Resultater"
#: src/components/nav/SearchDrawer.tsx:589
msgid "No results available for search query"
-msgstr ""
+msgstr "Ingen resultater til rådighed for søgeforespørgsel"
#: src/components/panels/AttachmentPanel.tsx:18
msgid "Attachments"
-msgstr ""
+msgstr "Vedhæftninger"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
-msgstr ""
+msgstr "Noter"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
-msgstr ""
+msgstr "Plugin Leveret"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
-msgstr ""
+msgstr "Skjul paneler"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
-msgstr ""
+msgstr "Vis paneler"
#: src/components/plugins/LocateItemButton.tsx:68
#: src/components/plugins/LocateItemButton.tsx:88
msgid "Locate Item"
-msgstr ""
+msgstr "Find Vare"
#: src/components/plugins/LocateItemButton.tsx:70
msgid "Item location requested"
-msgstr ""
+msgstr "Vare placering anmodet"
#: src/components/plugins/PluginDrawer.tsx:47
msgid "Plugin Inactive"
-msgstr ""
+msgstr "Plugin Inaktiv"
#: src/components/plugins/PluginDrawer.tsx:50
msgid "Plugin is not active"
-msgstr ""
+msgstr "Plugin er ikke aktiv"
#: src/components/plugins/PluginDrawer.tsx:59
msgid "Plugin Information"
-msgstr ""
+msgstr "Plugin Information"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
msgid "Description"
-msgstr ""
+msgstr "Beskrivelse"
#: src/components/plugins/PluginDrawer.tsx:78
msgid "Author"
-msgstr ""
+msgstr "Forfatter"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
-msgstr ""
+msgstr "Dato"
#: src/components/plugins/PluginDrawer.tsx:93
#: src/forms/selectionListFields.tsx:103
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
-msgstr ""
+msgstr "Aktiv"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Hjemmeside"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
-msgstr ""
+msgstr "Pakkenavn"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
-msgstr ""
+msgstr "Installationssti"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
-msgstr ""
+msgstr "Indbygget"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
-msgstr ""
+msgstr "Pakke"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
-msgstr ""
+msgstr "Plugin indstillinger"
#: src/components/plugins/PluginPanel.tsx:87
#~ msgid "Error occurred while rendering plugin content"
@@ -2918,31 +2978,31 @@ msgstr ""
#: src/components/plugins/PluginUIFeature.tsx:103
msgid "Error occurred while rendering the template editor."
-msgstr ""
+msgstr "Der opstod fejl under rendering af skabeloneditoren."
#: src/components/plugins/PluginUIFeature.tsx:120
msgid "Error Loading Plugin Editor"
-msgstr ""
+msgstr "Fejl Ved Indlæsning Af Plugin-Editor"
#: src/components/plugins/PluginUIFeature.tsx:158
msgid "Error occurred while rendering the template preview."
-msgstr ""
+msgstr "Fejl render af skabelonforhåndsvisningen."
#: src/components/plugins/PluginUIFeature.tsx:169
msgid "Error Loading Plugin Preview"
-msgstr ""
+msgstr "Fejl Under Indlæsning Af Plugin-forhåndsvisning"
#: src/components/plugins/RemoteComponent.tsx:111
msgid "Invalid source or function name"
-msgstr ""
+msgstr "Ugyldigt kilde- eller funktionsnavn"
#: src/components/plugins/RemoteComponent.tsx:143
msgid "Error Loading Content"
-msgstr ""
+msgstr "Fejl ved indlæsning af indhold"
#: src/components/plugins/RemoteComponent.tsx:147
msgid "Error occurred while loading plugin content"
-msgstr ""
+msgstr "Fejl opstod under indlæsning af plugin indhold"
#: src/components/render/Instance.tsx:238
#~ msgid "Unknown model: {model}"
@@ -2950,7 +3010,7 @@ msgstr ""
#: src/components/render/Instance.tsx:247
msgid "Unknown model: {model_name}"
-msgstr ""
+msgstr "Ukendt model: {model_name}"
#: src/components/render/ModelType.tsx:234
#~ msgid "Purchase Order Line Item"
@@ -2969,147 +3029,145 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
-msgstr ""
+msgstr "Forsendelse"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
-msgstr ""
+msgstr "Inaktiv"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
-msgstr ""
+msgstr "Virtuel"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
-msgstr ""
+msgstr "Intet lager"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
-msgstr ""
+msgstr "På Ordre"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
-msgstr ""
+msgstr "I Produktion"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
-msgstr ""
+msgstr "Detaljer"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
-msgstr ""
+msgstr "Kategori"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
-msgstr ""
+msgstr "Lokation"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
-msgstr ""
+msgstr "Serienummer"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
-msgstr ""
+msgstr "Antal"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
-msgstr ""
+msgstr "Batch"
#: src/components/settings/ConfigValueList.tsx:33
#~ msgid "<0>{0}0> is set via {1} and was last set {2}"
@@ -3117,21 +3175,21 @@ msgstr ""
#: src/components/settings/ConfigValueList.tsx:36
msgid "Setting"
-msgstr ""
+msgstr "Indstilling"
#: src/components/settings/ConfigValueList.tsx:39
msgid "Source"
-msgstr ""
+msgstr "Kilde"
#: src/components/settings/QuickAction.tsx:47
msgid "Act"
-msgstr ""
+msgstr "Handling"
#: src/components/settings/QuickAction.tsx:73
#: src/components/settings/QuickAction.tsx:113
#: src/tables/settings/ProjectCodeTable.tsx:46
msgid "Add Project Code"
-msgstr ""
+msgstr "Tilføj Projektkode"
#: src/components/settings/QuickAction.tsx:78
#: src/components/settings/QuickAction.tsx:124
@@ -3139,101 +3197,109 @@ msgstr ""
#: src/tables/settings/CustomStateTable.tsx:140
#: src/tables/settings/CustomStateTable.tsx:202
msgid "Add State"
-msgstr ""
+msgstr "Tilføj Tilstand"
#: src/components/settings/QuickAction.tsx:85
msgid "Open an Issue"
-msgstr ""
+msgstr "Opret en sag"
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "Rapporter en fejl eller anmod om en funktion på GitHub"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
-msgstr ""
+msgstr "Åben sag"
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Tilføj ny gruupe"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Opret en ny gruppe til at administrere dine brugere"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Ny Gruppe"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Tilføj Ny Bruger"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Opret en ny bruger til at administrere dine grupper"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Ny bruger"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
-msgstr ""
+msgstr "Opret en ny projektkode til at organisere dine elementer"
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Tilføj kode"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "Tilføj Brugerdefineret Tilstand"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
-msgstr ""
+msgstr "Opret en ny brugerdefineret tilstand til din arbejdsgang"
+
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Vil du fortsætte med at ændre denne indstilling?"
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Denne indstilling kræver bekræftelse"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
-msgstr ""
+msgstr "Rediger indstilling"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
-msgstr ""
+msgstr "Indstilling af {key} opdateret"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
-msgstr ""
+msgstr "Indstillinger opdateret"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
-msgstr ""
+msgstr "Indstilling af {0} opdateret"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
-msgstr ""
+msgstr "Fejl under redigering af indstilling"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
-msgstr ""
+msgstr "Fejl ved indlæsning af indstillinger"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
-msgstr ""
+msgstr "Ingen indstillinger"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
-msgstr ""
+msgstr "Der er ingen tilgængelige konfigurerbar indstillinger"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
-msgstr ""
+msgstr "Ingen indstillinger specificeret"
#: src/components/tables/FilterGroup.tsx:29
#~ msgid "Add table filter"
@@ -3593,140 +3659,140 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Præcis match"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "Aktuelle del"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Allerede importeret"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
-msgstr ""
+msgstr "Leverandør"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
-msgstr ""
+msgstr "Indlæser..."
#: src/components/wizards/ImportPartWizard.tsx:223
msgid "Error fetching suppliers"
-msgstr ""
+msgstr "Fejl ved hentning af leverandører"
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Vælg leverandør"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "Fandt {0} resultater"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Importer denne del"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
-msgstr ""
+msgstr "Er du sikker på, du vil importere denne del til den valgte kategori nu?"
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "Importer nu"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "Vælg og rediger de parametre, du vil tilføje til denne del."
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
-msgstr ""
+msgstr "Standard kategori parametre"
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "Andre parametre"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "Tilføj ny parameter"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Spring over"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "Opret Parametre"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
-msgstr ""
+msgstr "Opret startlager til den importerede del."
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "Næste"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
-msgstr ""
+msgstr "Rediger Del"
#: src/components/wizards/ImportPartWizard.tsx:567
msgid "Part imported successfully!"
-msgstr ""
+msgstr "Del importeret!"
#: src/components/wizards/ImportPartWizard.tsx:576
msgid "Failed to import part: "
-msgstr ""
+msgstr "Kunne ikke importere del: "
#: src/components/wizards/ImportPartWizard.tsx:641
msgid "Are you sure, you want to import the supplier and manufacturer part into this part?"
-msgstr ""
+msgstr "Er du sikker på, du vil importere leverandør og producent del i denne del?"
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Importer"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
-msgstr ""
+msgstr "Parametre oprettet!"
#: src/components/wizards/ImportPartWizard.tsx:720
msgid "Failed to create parameters, please fix the errors and try again"
-msgstr ""
+msgstr "Mislykkedes at oprette parametre. Ret venligst fejlene og prøv igen"
#. placeholder {0}: supplierPart?.supplier
#: src/components/wizards/ImportPartWizard.tsx:740
msgid "Part imported successfully from supplier {0}."
-msgstr ""
+msgstr "Del importeret succesfuldt fra leverandør {0}."
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "Åbn Del"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
-msgstr ""
+msgstr "Åben Leverandørdel"
#: src/components/wizards/ImportPartWizard.tsx:767
msgid "Open Manufacturer Part"
-msgstr ""
+msgstr "Åbn Producentdel"
#: src/components/wizards/ImportPartWizard.tsx:797
#: src/tables/part/PartTable.tsx:499
@@ -3735,151 +3801,151 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "Import leverandør del"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
-msgstr ""
+msgstr "Søg I Leverandørdel"
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "Bekræft import"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Afslut"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "Fejl under hentning af delkrav"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Krav"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
-msgstr ""
+msgstr "Bygge Krav"
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "Salgs Krav"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
-msgstr ""
+msgstr "På Lager"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
-msgstr ""
+msgstr "Krævet Antal"
#: src/components/wizards/OrderPartsWizard.tsx:203
msgid "New Purchase Order"
-msgstr ""
+msgstr "Ny Indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:205
msgid "Purchase order created"
-msgstr ""
+msgstr "Indkøbsordre oprettet"
#: src/components/wizards/OrderPartsWizard.tsx:217
msgid "New Supplier Part"
-msgstr ""
+msgstr "Vis Leverandør Del"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
-msgstr ""
+msgstr "Leverandør del oprettet"
#: src/components/wizards/OrderPartsWizard.tsx:247
msgid "Add to Purchase Order"
-msgstr ""
+msgstr "Føj til indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:259
msgid "Part added to purchase order"
-msgstr ""
+msgstr "Del tilføjet til indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:303
msgid "Select supplier part"
-msgstr ""
+msgstr "Vælg leverandørdel"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "Kopier leverandørens del nummer"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
-msgstr ""
+msgstr "Ny leverandørdel"
#: src/components/wizards/OrderPartsWizard.tsx:350
msgid "Select purchase order"
-msgstr ""
+msgstr "Vælg indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:364
msgid "New purchase order"
-msgstr ""
+msgstr "Ny indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:420
msgid "Add to selected purchase order"
-msgstr ""
+msgstr "Tilføj til den valgte indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:432
#: src/components/wizards/OrderPartsWizard.tsx:545
msgid "No parts selected"
-msgstr ""
+msgstr "Ingen dele valgt"
#: src/components/wizards/OrderPartsWizard.tsx:433
msgid "No purchaseable parts selected"
-msgstr ""
+msgstr "Ingen dele, der kan købes, er valgt"
#: src/components/wizards/OrderPartsWizard.tsx:469
msgid "Parts Added"
-msgstr ""
+msgstr "Dele Tilføjet"
#: src/components/wizards/OrderPartsWizard.tsx:470
msgid "All selected parts added to a purchase order"
-msgstr ""
+msgstr "Alle valgte dele føjet til en indkøbsordre"
#: src/components/wizards/OrderPartsWizard.tsx:546
msgid "You must select at least one part to order"
-msgstr ""
+msgstr "Du skal vælge mindst en del for at bestille"
#: src/components/wizards/OrderPartsWizard.tsx:557
msgid "Supplier part is required"
-msgstr ""
+msgstr "Leverandør del er påkrævet"
#: src/components/wizards/OrderPartsWizard.tsx:561
msgid "Quantity is required"
-msgstr ""
+msgstr "Mængde er påkrævet"
#: src/components/wizards/OrderPartsWizard.tsx:574
msgid "Invalid part selection"
-msgstr ""
+msgstr "Ugyldig del valg"
#: src/components/wizards/OrderPartsWizard.tsx:576
msgid "Please correct the errors in the selected parts"
-msgstr ""
+msgstr "Ret venligst fejlene i de valgte dele"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
-msgstr ""
+msgstr "Bestil dele"
#: src/contexts/LanguageContext.tsx:22
#~ msgid "Arabic"
@@ -4038,76 +4104,88 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
-msgstr ""
+msgstr "Gå til InvenTree dashboard"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
-msgstr ""
+msgstr "Besøg dokumentationen for at lære mere om InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
-msgstr ""
-
-#: src/defaults/actions.tsx:64
-msgid "Server Information"
-msgstr ""
+msgstr "Om InvenTree org"
#: src/defaults/actions.tsx:65
+msgid "Server Information"
+msgstr "Server informationer"
+
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
-msgstr ""
+msgstr "Om denne InvenTree instans"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
-msgstr ""
+msgstr "Licensoplysninger"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
-msgstr ""
-
-#: src/defaults/actions.tsx:78
-msgid "Open Navigation"
-msgstr ""
+msgstr "Licenser for afhængigheder af tjenesten"
#: src/defaults/actions.tsx:79
+msgid "Open Navigation"
+msgstr "Åbn navigation"
+
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
-msgstr ""
+msgstr "Åben hoved navigationsmenuen"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
+msgstr "Gå til brugerindstillinger"
+
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
-msgstr ""
+msgstr "Gå til indkøbsordrer"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
-msgstr ""
+msgstr "Gå til salgsordrer"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
-msgstr ""
+msgstr "Gå til returordrer"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Scan en stregkode eller QR-kode"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
-msgstr ""
+msgstr "Gå til Bygge Ordrer"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "Gå til Systemindstillinger"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
-msgstr ""
+msgstr "Gå til Admin Center"
+
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Administrer InvenTree plugins"
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
@@ -4181,35 +4259,35 @@ msgstr ""
#: src/defaults/links.tsx:93
msgid "API"
-msgstr ""
+msgstr "API"
#: src/defaults/links.tsx:96
msgid "InvenTree API documentation"
-msgstr ""
+msgstr "InvenTree API dokumentation"
#: src/defaults/links.tsx:100
msgid "Developer Manual"
-msgstr ""
+msgstr "Udvikler manual"
#: src/defaults/links.tsx:103
msgid "InvenTree developer manual"
-msgstr ""
+msgstr "InvenTree udvikler manual"
#: src/defaults/links.tsx:107
msgid "FAQ"
-msgstr ""
+msgstr "FAQ"
#: src/defaults/links.tsx:110
msgid "Frequently asked questions"
-msgstr ""
+msgstr "Ofte Stillede Spørgsmål"
#: src/defaults/links.tsx:114
msgid "GitHub Repository"
-msgstr ""
+msgstr "GitHub-repo"
#: src/defaults/links.tsx:117
msgid "InvenTree source code on GitHub"
-msgstr ""
+msgstr "InvenTree kildekode på GitHub"
#: src/defaults/links.tsx:117
#~ msgid "Licenses for packages used by InvenTree"
@@ -4218,7 +4296,7 @@ msgstr ""
#: src/defaults/links.tsx:127
#: src/defaults/links.tsx:168
msgid "System Information"
-msgstr ""
+msgstr "Systemoplysninger"
#: src/defaults/links.tsx:134
#~ msgid "Licenses"
@@ -4226,11 +4304,11 @@ msgstr ""
#: src/defaults/links.tsx:176
msgid "Licenses for dependencies of the InvenTree software"
-msgstr ""
+msgstr "Licenser afhængigheder af InvenTree software"
#: src/defaults/links.tsx:187
msgid "About the InvenTree Project"
-msgstr ""
+msgstr "Om InvenTree projektet"
#: src/defaults/menuItems.tsx:7
#~ msgid "Open sourcea"
@@ -4348,21 +4426,21 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
-msgstr ""
+msgstr "Erstat Del"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
-msgstr ""
+msgstr "Rediger stukliste erstatninger"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
-msgstr ""
+msgstr "Tilføj Erstatning"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
-msgstr ""
+msgstr "Erstatning tilføjet"
#: src/forms/BuildForms.tsx:112
#: src/forms/BuildForms.tsx:217
@@ -4374,216 +4452,206 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
-msgstr ""
+msgstr "Bygge Output"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "Antal til fuldførelse"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
-msgstr ""
+msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
-msgstr ""
+msgstr "Færdiggøre Bygge Output"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
-msgstr ""
+msgstr "Byggeresultater er udført"
#: src/forms/BuildForms.tsx:408
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
-msgstr ""
+msgstr "Antal til skrot"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
-msgstr ""
+msgstr "Skrot Byggeoutput"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
-msgstr ""
+msgstr "Valgte Byggeoutput vil blive fuldført, men markeret som skrot"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
+msgstr "Allokerede lagervarer vil blive forbrugt"
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Byggeoutput er blevet skrottet"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
-msgstr ""
+msgstr "Annuller Bygge Output"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
-msgstr ""
+msgstr "Valgte byggeresultater vil blive fjernet"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
-msgstr ""
+msgstr "Tildelte lagervarer vil blive returneret til lager"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
-msgstr ""
+msgstr "Byggeoutput er blevet aflyst"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
-msgstr ""
+msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
-msgstr ""
+msgstr "Allokere"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
-msgstr ""
+msgstr "Kilde Lokation"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
-msgstr ""
+msgstr "Vælg kildelokationen for lagertildelingen"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
-msgstr ""
+msgstr "Tildel lager"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
+msgstr "Lagervarer tildelt"
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Forbrug Lager"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
-msgstr ""
+msgstr "Fuldt forbrugte"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
-msgstr ""
+msgstr "Forbrugt"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
-msgstr ""
+msgstr "Vælg projektkode for dette linjeelement"
#: src/forms/CompanyForms.tsx:150
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
-msgstr ""
+msgstr "Abonner"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
-msgstr ""
+msgstr "Abonner på notifikationer for denne del"
#: src/forms/PartForms.tsx:108
#~ msgid "Part created"
@@ -4593,211 +4661,233 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
-msgstr ""
+msgstr "Overordnet del kategori"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
-msgstr ""
+msgstr "Abonner på notifikationer for denne kategori"
#: src/forms/PurchaseOrderForms.tsx:421
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
-msgstr ""
+msgstr "Vælg lokation"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
-msgstr ""
+msgstr "Modtaget lager placering valgt"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
-msgstr ""
+msgstr "Standard lokation valgt"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
-msgstr ""
+msgstr "Indstil Lokation"
+
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Tildel Batchkode"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Tildel Serienumre"
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
-msgstr ""
+msgstr "Sæt Udløbsdato"
+
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Juster Emballering"
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
-msgstr ""
+msgstr "Ændre Status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
-msgstr ""
+msgstr "Tilføj Note"
#: src/forms/PurchaseOrderForms.tsx:658
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
-msgstr ""
+msgstr "Gem på standard lokation"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
-msgstr ""
+msgstr "Batch kode"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
-msgstr ""
+msgstr "Indtast batch kode for modtagne varer"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
-msgstr ""
+msgstr "Serienummer"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:742
-#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
-msgid "Expiry Date"
-msgstr ""
+msgstr "Indtast serienumre for modtagne elementer"
#: src/forms/PurchaseOrderForms.tsx:743
-msgid "Enter an expiry date for received items"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:382
+#: src/tables/stock/StockItemTable.tsx:148
+msgid "Expiry Date"
+msgstr "Udløbsdato"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:744
+msgid "Enter an expiry date for received items"
+msgstr "Indtast en udløbsdato for modtagne vare"
+
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:227
msgid "Packaging"
-msgstr ""
+msgstr "Emballage"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
-msgstr ""
+msgstr "Note"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
-msgstr ""
+msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
-msgstr ""
+msgstr "Modtaget"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
-msgstr ""
+msgstr "Modtag linje element"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
-msgstr ""
+msgstr "Varer modtaget"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
-msgstr ""
+msgstr "Modtag varer"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
+msgstr "Vare modtaget på lager"
+
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
-msgstr ""
+msgstr "Tjek Forsendelse"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-msgstr ""
+msgstr "Markering af forsendelsen indikerer, at du har kontrolleret, at alle varer i denne forsendelse er korrekte"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
-msgstr ""
+msgstr "Forsendelse markeret som kontrolleret"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
-msgstr ""
+msgstr "Fjern Markering Af Forsendelse"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
-msgstr ""
+msgstr "Mærkning af forsendelsen som ikke-kontrolleret viser, at forsendelsen kræver yderligere verifikation"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
+msgstr "Forsendelse markeret som ikke-kontrolleret"
+
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
-msgid "Leave blank to use the order address"
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
msgstr ""
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
+msgid "Leave blank to use the order address"
+msgstr "Efterlad blank for at bruge ordreadressen"
+
#: src/forms/StockForms.tsx:110
#~ msgid "Create Stock Item"
#~ msgstr "Create Stock Item"
@@ -4806,241 +4896,250 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
-msgstr ""
+msgstr "Tilføj givet antal som pakker i stedet for individuelle elementer"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
-msgstr ""
+msgstr "Angiv første antal for denne lagervare"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
-msgstr ""
+msgstr "Indtast serienumre for nyt lager (eller efterlad blank)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
-msgstr ""
+msgstr "Lager Status"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
-msgstr ""
+msgstr "Tilføj Lagervare"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
-msgstr ""
+msgstr "Vælg den del, der skal installeres"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
-msgstr ""
+msgstr "Bekræft Lager Overførsel"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
-msgstr ""
+msgstr "Flyt til standard lokation"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
-msgstr ""
+msgstr "Flyt"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
-msgstr ""
+msgstr "Retur"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
-msgstr ""
+msgstr "Antal"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
-msgstr ""
+msgstr "Tilføj Lagerbeholdning"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
-msgstr ""
+msgstr "Lager tilføjet"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
-msgstr ""
+msgstr "Forøg antallet af valgte lagervarer med et givet beløb."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
-msgstr ""
+msgstr "Fjern Lagervarer"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
-msgstr ""
+msgstr "Lager fjernet"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
-msgstr ""
+msgstr "Reducer antallet af de valgte lagervarer med et givet beløb."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
-msgstr ""
+msgstr "Overfør Lager"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
-msgstr ""
+msgstr "Lager overført"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
-msgstr ""
+msgstr "Overfør valgte elementer til den angivne lokation."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
-msgstr ""
+msgstr "Retur Lager"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
-msgstr ""
+msgstr "Lager returneret"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
-msgstr ""
+msgstr "Returner valgte elementer til lager, til den angivne lokation."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1323
-msgid "Stock counted"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1326
-msgid "Count the selected stock items, and adjust the quantity accordingly."
-msgstr ""
-
-#: src/forms/StockForms.tsx:1337
-msgid "Change Stock Status"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1338
-msgid "Stock status changed"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1341
-msgid "Change the status of the selected stock items."
-msgstr ""
-
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
-msgid "Merge Stock"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1353
-msgid "Stock merged"
-msgstr ""
+msgstr "Tæl Lager"
#: src/forms/StockForms.tsx:1355
-msgid "Merge Stock Items"
-msgstr ""
-
-#: src/forms/StockForms.tsx:1357
-msgid "Merge operation cannot be reversed"
-msgstr ""
+msgid "Stock counted"
+msgstr "Lager er optalt"
#: src/forms/StockForms.tsx:1358
+msgid "Count the selected stock items, and adjust the quantity accordingly."
+msgstr "Tæl de valgte lagervarer, og juster mængden i overensstemmelse."
+
+#: src/forms/StockForms.tsx:1369
+msgid "Change Stock Status"
+msgstr "Ændr Lagerstatus"
+
+#: src/forms/StockForms.tsx:1370
+msgid "Stock status changed"
+msgstr "Lagerstatus ændret"
+
+#: src/forms/StockForms.tsx:1373
+msgid "Change the status of the selected stock items."
+msgstr "Ændre status for de valgte lagervarer."
+
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
+msgid "Merge Stock"
+msgstr "Flet Lager"
+
+#: src/forms/StockForms.tsx:1417
+msgid "Stock merged"
+msgstr "Lager sammenlagt"
+
+#: src/forms/StockForms.tsx:1419
+msgid "Merge Stock Items"
+msgstr "Flet Lagervarer"
+
+#: src/forms/StockForms.tsx:1421
+msgid "Merge operation cannot be reversed"
+msgstr "Fletningshandlingen kan ikke fortrydes"
+
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
-msgstr ""
+msgstr "Sporingsoplysninger kan gå tabt ved sammenlægning af elementer"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
-msgstr ""
+msgstr "Leverandøroplysninger kan gå tabt ved sammenlægning af elementer"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
-msgstr ""
+msgstr "Tildel lager til kunde"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
-msgstr ""
+msgstr "Lager tildelt kunden"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
-msgstr ""
+msgstr "Slet Lagervare"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
-msgstr ""
+msgstr "Lagervare slettet"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
-msgstr ""
+msgstr "Denne handling vil permanent slette de valgte lagervarer."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
-msgstr ""
+msgstr "Overordnet lager lokation"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
-msgstr ""
+msgstr "Find Serienummer"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
-msgstr ""
+msgstr "Ingen matchende varer"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
-msgstr ""
+msgstr "Flere matchende varer"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
-msgstr ""
+msgstr "Ugyldigt svar fra server"
#: src/forms/selectionListFields.tsx:95
msgid "Entries"
-msgstr ""
+msgstr "Poster"
#: src/forms/selectionListFields.tsx:96
msgid "List of entries to choose from"
-msgstr ""
+msgstr "Liste over poster at vælge imellem"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
-msgstr ""
+msgstr "Værdi"
#: src/forms/selectionListFields.tsx:101
msgid "Label"
-msgstr ""
+msgstr "Label"
#: src/functions/api.tsx:33
msgid "Bad request"
-msgstr ""
+msgstr "Dårlig anmodning"
#: src/functions/api.tsx:36
msgid "Unauthorized"
-msgstr ""
+msgstr "Uautoriseret"
#: src/functions/api.tsx:39
msgid "Forbidden"
-msgstr ""
+msgstr "Forbudt"
#: src/functions/api.tsx:42
msgid "Not found"
-msgstr ""
+msgstr "Ikke fundet"
#: src/functions/api.tsx:45
msgid "Method not allowed"
-msgstr ""
+msgstr "Metode ikke tilladt"
#: src/functions/api.tsx:48
msgid "Internal server error"
-msgstr ""
+msgstr "Intern serverfejl"
#: src/functions/auth.tsx:34
#~ msgid "Error fetching token from server."
@@ -5062,101 +5161,112 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Logget af"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr "Intet svar fra server."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
-msgstr ""
+msgstr "Multifaktorgodkendelse Login succesfuld"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
-msgstr ""
+msgstr "Multifaktorgodkendelse detaljer blev automatisk givet i browseren"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
-msgstr ""
+msgstr "Du er nu logget af"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
-msgstr ""
+msgstr "Sprog ændret"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
-msgstr ""
+msgstr "Dit aktive sprog er blevet ændret til det der er sat i din profil"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
-msgstr ""
+msgstr "Tema ændret"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
-msgstr ""
+msgstr "Dit aktive tema er blevet ændret til det der er sat i din profil"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
-msgstr ""
+msgstr "Tjek din indbakke for et nulstillingslink. Dette virker kun, hvis du har en konto. Tjek også spam."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
-msgstr ""
+msgstr "Nulstilling fejlede"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Allerede logget ind"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Der er en konfliktfyldt session på serveren for denne browser. Log ud af det først."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
-msgstr ""
+msgstr "Logget ind"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
-msgstr ""
+msgstr "Logget ind"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
+msgstr "Kunne ikke oprette Multifaktorgodkendelse"
+
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
-msgstr ""
+msgstr "Adgangskode sat"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
-msgstr ""
+msgstr "Adgangskoden blev oprettet. Du kan nu logge ind med din nye adgangskode"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
-msgstr ""
+msgstr "Adgangskoden kunne ikke ændres"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
-msgstr ""
+msgstr "De to adgangskodefelter matcher ikke"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
-msgstr ""
+msgstr "Adgangskode ændret"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -5176,11 +5286,11 @@ msgstr ""
#: src/functions/notifications.tsx:13
msgid "Not implemented"
-msgstr ""
+msgstr "Ikke implementeret"
#: src/functions/notifications.tsx:14
msgid "This feature is not yet implemented"
-msgstr ""
+msgstr "Denne funktion er endnu ikke implementeret"
#: src/functions/notifications.tsx:24
#~ msgid "Permission denied"
@@ -5188,162 +5298,157 @@ msgstr ""
#: src/functions/notifications.tsx:26
msgid "You do not have permission to perform this action"
-msgstr ""
+msgstr "Du har ikke tilladelse til at udføre denne handling"
#: src/functions/notifications.tsx:37
msgid "Invalid Return Code"
-msgstr ""
+msgstr "Ugyldig Svar Kode"
#: src/functions/notifications.tsx:38
msgid "Server returned status {returnCode}"
-msgstr ""
+msgstr "Server returnerede status {returnCode}"
#: src/functions/notifications.tsx:48
msgid "Timeout"
-msgstr ""
+msgstr "Timeout"
#: src/functions/notifications.tsx:49
msgid "The request timed out"
-msgstr ""
+msgstr "Anmodningen udløb"
#: src/hooks/UseDataExport.tsx:34
msgid "Exporting Data"
-msgstr ""
+msgstr "Eksporterer data"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
-msgstr ""
+msgstr "Eksporter Data"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
+msgstr "Eksport"
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
-msgstr ""
+msgstr "Emne oprettet"
#: src/hooks/UseForm.tsx:116
msgid "Item Updated"
-msgstr ""
+msgstr "Element opdateret"
#: src/hooks/UseForm.tsx:137
msgid "Items Updated"
-msgstr ""
+msgstr "Element opdateret"
#: src/hooks/UseForm.tsx:139
msgid "Update multiple items"
-msgstr ""
+msgstr "Opdater flere elementer"
#: src/hooks/UseForm.tsx:169
msgid "Item Deleted"
-msgstr ""
+msgstr "Element slettet"
#: src/hooks/UseForm.tsx:173
msgid "Are you sure you want to delete this item?"
-msgstr ""
+msgstr "Er du sikker på, at du vil slette dette element?"
#: src/hooks/UsePlaceholder.tsx:59
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
-msgstr ""
+msgstr "Tæl valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
-msgstr ""
+msgstr "Tilføj til valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
-msgstr ""
+msgstr "Fjern fra valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
-msgstr ""
+msgstr "Overfør valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
-msgstr ""
+msgstr "Sammenflet valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
-msgstr ""
+msgstr "Tildel Lager"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
-msgstr ""
+msgstr "Tildel udvalgte lagervarer til en kunde"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
-msgstr ""
+msgstr "Returner valgte varer til lager"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
-msgstr ""
+msgstr "Slet Lager"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
-msgstr ""
+msgstr "Slet valgte lagervarer"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
-msgstr ""
+msgstr "Lager Handlinger"
#: src/pages/Auth/ChangePassword.tsx:32
#: src/pages/Auth/Reset.tsx:14
msgid "Reset Password"
-msgstr ""
+msgstr "Nulstil adgangskode"
#: src/pages/Auth/ChangePassword.tsx:46
msgid "Current Password"
-msgstr ""
+msgstr "Nuværende Adgangskode"
#: src/pages/Auth/ChangePassword.tsx:47
msgid "Enter your current password"
-msgstr ""
+msgstr "Indtast din nuværende adgangskode"
#: src/pages/Auth/ChangePassword.tsx:53
msgid "New Password"
-msgstr ""
+msgstr "Ny adgangskode"
#: src/pages/Auth/ChangePassword.tsx:54
msgid "Enter your new password"
-msgstr ""
+msgstr "Indtast din nye adgangskode"
#: src/pages/Auth/ChangePassword.tsx:60
msgid "Confirm New Password"
-msgstr ""
+msgstr "Bekræft ny adgangskode"
#: src/pages/Auth/ChangePassword.tsx:61
msgid "Confirm your new password"
-msgstr ""
+msgstr "Bekræft din nye adgangskode"
#: src/pages/Auth/ChangePassword.tsx:80
msgid "Confirm"
-msgstr ""
+msgstr "Bekræfte"
#: src/pages/Auth/Layout.tsx:59
msgid "Log off"
-msgstr ""
+msgstr "Log af"
#: src/pages/Auth/LoggedIn.tsx:19
msgid "Checking if you are already logged in"
-msgstr ""
+msgstr "Tjekker om du allerede er logget ind"
#: src/pages/Auth/Login.tsx:32
msgid "No selection"
@@ -5357,17 +5462,17 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
-msgstr ""
+msgstr "Log ind"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
-msgstr ""
+msgstr "Logger dig ind"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
-msgstr ""
+msgstr "Har du ikke en konto?"
#: src/pages/Auth/Logout.tsx:22
#~ msgid "Logging out"
@@ -5383,42 +5488,42 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
-msgstr ""
+msgstr "Multifaktorgodkendelse"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
-msgstr ""
+msgstr "TOTP Kode"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
-msgstr ""
+msgstr "Indtast en af dine koder: {mfa_types}"
#: src/pages/Auth/MFA.tsx:42
msgid "Remember this device"
-msgstr ""
+msgstr "Husk denne enhed"
#: src/pages/Auth/MFA.tsx:44
msgid "If enabled, you will not be asked for MFA on this device for 30 days."
-msgstr ""
+msgstr "Hvis aktiveret, vil du ikke blive spurgt om multifaktorgodkendelse på denne enhed i 30 dage."
#: src/pages/Auth/MFA.tsx:53
msgid "Log in"
-msgstr ""
+msgstr "Log Ind"
#: src/pages/Auth/MFASetup.tsx:23
msgid "MFA Setup Required"
-msgstr ""
+msgstr "Multifaktorgodkendelse Opsætning Påkrævet"
#: src/pages/Auth/MFASetup.tsx:34
msgid "Add TOTP"
-msgstr ""
+msgstr "Tilføj TOTP"
#: src/pages/Auth/Register.tsx:23
msgid "Go back to login"
-msgstr ""
+msgstr "Tilbage til log ind"
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
@@ -5428,11 +5533,11 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:22
#: src/pages/Auth/VerifyEmail.tsx:19
msgid "Key invalid"
-msgstr ""
+msgstr "Ugyldig nøgle"
#: src/pages/Auth/ResetPassword.tsx:23
msgid "You need to provide a valid key to set a new password. Check your inbox for a reset link."
-msgstr ""
+msgstr "Du skal angive en gyldig nøgle for at angive en ny adgangskode. Tjek din indbakke for et nulstillingslink."
#: src/pages/Auth/ResetPassword.tsx:30
#~ msgid "Token invalid"
@@ -5440,7 +5545,7 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:31
msgid "Set new password"
-msgstr ""
+msgstr "Indtast ny adgangskode"
#: src/pages/Auth/ResetPassword.tsx:31
#~ msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link."
@@ -5448,11 +5553,11 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:35
msgid "The desired new password"
-msgstr ""
+msgstr "Det ønskede nye adgangskode"
#: src/pages/Auth/ResetPassword.tsx:44
msgid "Send Password"
-msgstr ""
+msgstr "Send adgangskode"
#: src/pages/Auth/Set-Password.tsx:49
#~ msgid "No token provided"
@@ -5464,24 +5569,24 @@ msgstr ""
#: src/pages/Auth/VerifyEmail.tsx:20
msgid "You need to provide a valid key."
-msgstr ""
+msgstr "Du skal angive en gyldig nøgle."
#: src/pages/Auth/VerifyEmail.tsx:28
msgid "Verify Email"
-msgstr ""
+msgstr "Bekræft din E-mail adresse"
#: src/pages/Auth/VerifyEmail.tsx:30
msgid "Verify"
-msgstr ""
+msgstr "Bekræft"
#. placeholder {0}: error.statusText
#: src/pages/ErrorPage.tsx:16
msgid "Error: {0}"
-msgstr ""
+msgstr "Fejl: {0}"
#: src/pages/ErrorPage.tsx:23
msgid "An unexpected error has occurred"
-msgstr ""
+msgstr "En uventet fejl opstod"
#: src/pages/ErrorPage.tsx:28
#~ msgid "Sorry, an unexpected error has occurred."
@@ -5641,11 +5746,11 @@ msgstr ""
#: src/pages/Index/Scan.tsx:65
msgid "Item already scanned"
-msgstr ""
+msgstr "Elementet er allerede scannet"
#: src/pages/Index/Scan.tsx:82
msgid "API Error"
-msgstr ""
+msgstr "API fejl"
#: src/pages/Index/Scan.tsx:83
msgid "Failed to fetch instance data"
@@ -5653,15 +5758,15 @@ msgstr ""
#: src/pages/Index/Scan.tsx:130
msgid "Scan Error"
-msgstr ""
+msgstr "Scanningsfejl"
#: src/pages/Index/Scan.tsx:162
msgid "Selected elements are not known"
-msgstr ""
+msgstr "Valgte elementer er ikke kendte"
#: src/pages/Index/Scan.tsx:169
msgid "Multiple object types selected"
-msgstr ""
+msgstr "Flere objekter typer valgt"
#: src/pages/Index/Scan.tsx:175
#~ msgid "Actions ..."
@@ -5674,19 +5779,19 @@ msgstr ""
#: src/pages/Index/Scan.tsx:194
#: src/pages/Index/Scan.tsx:198
msgid "Barcode Scanning"
-msgstr ""
+msgstr "Stregkode Scanninger"
#: src/pages/Index/Scan.tsx:207
msgid "Barcode Input"
-msgstr ""
+msgstr "Stregkode input"
#: src/pages/Index/Scan.tsx:214
msgid "Action"
-msgstr ""
+msgstr "Handling"
#: src/pages/Index/Scan.tsx:217
msgid "No Items Selected"
-msgstr ""
+msgstr "Ingen Elementer Valgt"
#: src/pages/Index/Scan.tsx:217
#~ msgid "Manual input"
@@ -5694,7 +5799,7 @@ msgstr ""
#: src/pages/Index/Scan.tsx:218
msgid "Scan and select items to perform actions"
-msgstr ""
+msgstr "Skan og vælg elementer til at udføre handlinger"
#: src/pages/Index/Scan.tsx:218
#~ msgid "Image Barcode"
@@ -5703,11 +5808,11 @@ msgstr ""
#. placeholder {0}: selection.length
#: src/pages/Index/Scan.tsx:223
msgid "{0} items selected"
-msgstr ""
+msgstr "{0} elementer valgt"
#: src/pages/Index/Scan.tsx:235
msgid "Scanned Items"
-msgstr ""
+msgstr "Scannede Elementer"
#: src/pages/Index/Scan.tsx:276
#~ msgid "Actions for {0}"
@@ -5809,7 +5914,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113
msgid "Edit Account Information"
-msgstr ""
+msgstr "Rediger Konto Information"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34
#~ msgid "User details updated"
@@ -5817,7 +5922,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37
msgid "Account details updated"
-msgstr ""
+msgstr "Konto detaljer opdateret"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46
#~ msgid "User Actions"
@@ -5830,7 +5935,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136
msgid "Edit Profile Information"
-msgstr ""
+msgstr "Rediger Profil Information"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#~ msgid "Last name"
@@ -5846,7 +5951,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:59
msgid "Profile details updated"
-msgstr ""
+msgstr "Profil detaljer opdateret"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:61
#~ msgid "Last name: {0}"
@@ -5855,12 +5960,12 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:65
#: src/pages/core/UserDetail.tsx:55
msgid "First Name"
-msgstr ""
+msgstr "Fornavn"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:66
#: src/pages/core/UserDetail.tsx:63
msgid "Last Name"
-msgstr ""
+msgstr "Efternavn"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:67
#~ msgid "First name:"
@@ -5872,399 +5977,396 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:72
msgid "Staff Access"
-msgstr ""
+msgstr "Personale Adgang"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:85
#: src/pages/core/UserDetail.tsx:119
#: src/tables/settings/CustomStateTable.tsx:101
msgid "Display Name"
-msgstr ""
+msgstr "Vis Navn"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:86
#: src/pages/core/UserDetail.tsx:127
msgid "Position"
-msgstr ""
+msgstr "Stilling"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
-msgstr ""
+msgstr "Type"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:91
#: src/pages/core/UserDetail.tsx:143
msgid "Organisation"
-msgstr ""
+msgstr "Organisation"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:92
msgid "Primary Group"
-msgstr ""
+msgstr "Primær Gruppe"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:104
msgid "Account Details"
-msgstr ""
+msgstr "Kontodetaljer"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:107
msgid "Account Actions"
-msgstr ""
+msgstr "Kontohandlinger"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:111
msgid "Edit Account"
-msgstr ""
+msgstr "Rediger Konto"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:117
#: src/tables/settings/UserTable.tsx:322
msgid "Change Password"
-msgstr ""
+msgstr "Ændre Adgangskode"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119
msgid "Change User Password"
-msgstr ""
+msgstr "Ændre Brugeradgangskode"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131
msgid "Profile Details"
-msgstr ""
+msgstr "Profil Detaljer"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:134
msgid "Edit Profile"
-msgstr ""
+msgstr "Rediger Profil"
#. placeholder {0}: item.label
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:153
msgid "{0}"
-msgstr ""
+msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "Genautentificer Gennemført"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "Du er blevet genautentificer med succes."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "Fejl under genautentificer"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
-msgstr ""
+msgstr "Genautentificer Mislykkedes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
-msgid "Reauthenticate"
-msgstr ""
+msgstr "Genautentificer mislykkedes"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
+msgid "Reauthenticate"
+msgstr "Genautentificer"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
-msgstr ""
+msgstr "Genautentificering kræves for at fortsætte."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
-msgstr ""
+msgstr "Indtast din adgangskode"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
-msgstr ""
+msgstr "Indtast en af dine TOTP koder"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
-msgstr ""
+msgstr "WebAuthn legitimationsoplysninger fjernet"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
-msgstr ""
+msgstr "WebAuthn legitimationsoplysninger blev fjernet."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
-msgstr ""
+msgstr "Fejl ved fjernelse af WebAuthn legitimationsoplysninger"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
-#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
-msgid "Confirm Removal"
-msgstr ""
+msgstr "Fjern WebAuthn legitimationsoplysninger"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
-msgid "Confirm removal of webauth credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
-msgid "TOTP Removed"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
-msgid "TOTP token removed successfully."
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
-msgid "Error removing TOTP token"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
-msgid "Remove TOTP Token"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/tables/build/BuildAllocatedStockTable.tsx:181
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
+msgid "Confirm Removal"
+msgstr "Bekræft sletning"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
+msgid "Confirm removal of webauth credential"
+msgstr "Bekræft fjernelse af webauth legitimationsoplysninger"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
+msgid "TOTP Removed"
+msgstr "TOTP Fjernet"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
+msgid "TOTP token removed successfully."
+msgstr "TOTP token blev fjernet."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
+msgid "Error removing TOTP token"
+msgstr "Fejl ved fjernelse af TOTP token"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
+msgid "Remove TOTP Token"
+msgstr "Fjern TOTP Token"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
-msgstr ""
+msgstr "Bekræft fjernelse af TOTP kode"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
-msgstr ""
+msgstr "TOTP Allerede Registreret"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
-msgstr ""
+msgstr "En TOTP token er allerede registreret for denne konto."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
-msgstr ""
+msgstr "Fejl Ved Hentning Af TOTP Registrering"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
-msgstr ""
+msgstr "En uventet fejl opstod under hentning af TOTP registreringsdata."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
-msgstr ""
+msgstr "TOTP Registrerede"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
-msgstr ""
+msgstr "TOTP token registreret."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
-msgstr ""
+msgstr "Fejl ved registrering af TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
-msgstr ""
+msgstr "Registrer TOTP Token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
-msgid "Recovery Codes"
-msgstr ""
+msgstr "Fejl ved hentning af gendannelseskoder"
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
+msgid "Recovery Codes"
+msgstr "Gendannelseskoder"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
-msgstr ""
+msgstr "Følgende engangskoder til gendannelse er tilgængelige til brug"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
-msgid "No Unused Codes"
-msgstr ""
+msgstr "Kopier gendannelseskoder til udklipsholder"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+msgid "No Unused Codes"
+msgstr "Ingen Ubrugte Koder"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
-msgid "WebAuthn Registered"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
-msgid "WebAuthn credential registered successfully"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
-msgid "Error registering WebAuthn credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
-msgid "WebAuthn Registration Failed"
-msgstr ""
+msgstr "Der er ingen tilgængelige gendannelseskoder"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+msgid "WebAuthn Registered"
+msgstr "WebAuthn Registreret"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
+msgid "WebAuthn credential registered successfully"
+msgstr "WebAuthn legitimationsoplysninger registreret"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
+msgid "Error registering WebAuthn credential"
+msgstr "Fejl ved registrering af WebAuthn legitimationsoplysninger"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
+msgid "WebAuthn Registration Failed"
+msgstr "WebAuthn Registrering Fejlede"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
-msgstr ""
+msgstr "Kunne ikke registrere WebAuthn legitimationsoplysninger"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
-msgid "TOTP"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
-msgid "Time-based One-Time Password"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
-msgid "One-Time pre-generated recovery codes"
-msgstr ""
+msgstr "Fejl ved hentning af WebAuthn registrering"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
-msgid "WebAuthn"
-msgstr ""
+msgid "TOTP"
+msgstr "TOTP"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+msgid "Time-based One-Time Password"
+msgstr "Tidsbaseret Engangskodeord"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
+msgid "One-Time pre-generated recovery codes"
+msgstr "Engangs prægenererede gendannelseskoder"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
+msgid "WebAuthn"
+msgstr "WebAuthn"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
-msgid "Last used at"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
-msgid "Created at"
-msgstr ""
+msgstr "Webgodkendelse (WebAuthn) er en webstandard til sikker godkendelse"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+msgid "Last used at"
+msgstr "Sidst anvendt den"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
+msgid "Created at"
+msgstr "Oprettet den"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
-msgstr ""
+msgstr "Ikke konfigureret"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
-msgstr ""
+msgstr "Ingen multi-faktor tokens konfigureret for denne konto"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
-msgstr ""
+msgstr "Registrer Autentificerings Metode"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "Ingen Multifaktorgodkendelse Metoder Tilgængelige"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
-msgstr ""
+msgstr "Der er ingen Multifaktorgodkendelse metoder til rådighed til konfiguration"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27
msgid "Secret"
-msgstr ""
+msgstr "Hemmelighed"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:40
msgid "One-Time Password"
-msgstr ""
+msgstr "Engangskodeord"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:41
msgid "Enter the TOTP code to ensure it registered correctly"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
+msgstr "Indtast TOTP koden for at sikre at den er registreret korrekt"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-mail adresser"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr "Single Sign On"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Ikke aktiveret"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Single Sign On er ikke aktiveret for denne server "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
-msgid "Access Tokens"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
-msgid "Session Information"
-msgstr ""
+msgid "Access Tokens"
+msgstr "Adgangs Token"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
+msgid "Session Information"
+msgstr "Session Information"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
#: src/tables/settings/ErrorTable.tsx:59
msgid "Timestamp"
-msgstr ""
+msgstr "Tidsstempel"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
-msgstr ""
+msgstr "Metode"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
-msgstr ""
+msgstr "Fejl under opdatering af e-mail"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
-msgstr ""
+msgstr "Der er i øjeblikket ingen e-mailadresser registreret."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
-msgstr ""
+msgstr "Følgende e-mailadresser er knyttet til din konto:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
-msgstr ""
+msgstr "Primær"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
-msgstr ""
+msgstr "Verificeret"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
-msgstr ""
+msgstr "Ikke verificeret"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
+msgstr "Sæt som primær"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr ""
+msgid "Re-send Verification"
+msgstr "Gensend Verifikation"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Tilføj e-mailadresse"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-mail adresse"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,25 +6376,29 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Fejl ved tilføjelse af e-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Tilføj E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
-msgstr ""
+msgstr "Der er ingen udbydere forbundet til denne konto."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
-msgstr ""
+msgstr "Du kan logge ind på din konto ved hjælp af en af følgende udbydere"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
-msgstr ""
+msgstr "Fjern Udbyderlink"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:556
#~ msgid "Unused Codes"
@@ -6337,7 +6443,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:61
msgid "Display Settings"
-msgstr ""
+msgstr "Skærmindstillinger"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:65
#~ msgid "bars"
@@ -6349,7 +6455,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:67
msgid "Language"
-msgstr ""
+msgstr "Sprog"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:67
#~ msgid "dots"
@@ -6357,7 +6463,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:78
msgid "Use pseudo language"
-msgstr ""
+msgstr "Brug pseudosprog"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:81
#~ msgid "Theme"
@@ -6365,7 +6471,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:85
msgid "Color Mode"
-msgstr ""
+msgstr "Farve Tilstand"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:87
#~ msgid "Primary color"
@@ -6373,19 +6479,19 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:96
msgid "Highlight color"
-msgstr ""
+msgstr "Fremhæv farver"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:110
msgid "Example"
-msgstr ""
+msgstr "Eksempel"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:116
msgid "White color"
-msgstr ""
+msgstr "Hvid farve"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:139
msgid "Black color"
-msgstr ""
+msgstr "Sort farve"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:162
msgid "Border Radius"
@@ -6397,15 +6503,15 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:185
msgid "Bars"
-msgstr ""
+msgstr "Bjælker"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:186
msgid "Oval"
-msgstr ""
+msgstr "Oval"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:187
msgid "Dots"
-msgstr ""
+msgstr "Prikker"
#: src/pages/Index/Settings/AccountSettings/useConfirm.tsx:93
#~ msgid "Reauthentication"
@@ -6420,25 +6526,25 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
-msgstr ""
+msgstr "Valuta"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:33
msgid "Rate"
-msgstr ""
+msgstr "Kurs"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:46
msgid "Exchange rates updated"
-msgstr ""
+msgstr "Valutakurser opdateret"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:53
msgid "Exchange rate update error"
-msgstr ""
+msgstr "Opdateringsfejl for valutakurser"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:63
msgid "Refresh currency exchange rates"
-msgstr ""
+msgstr "Opdater valutakurser"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:99
msgid "Last fetched"
@@ -6446,11 +6552,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:100
msgid "Base currency"
-msgstr ""
+msgstr "Basisvaluta"
#: src/pages/Index/Settings/AdminCenter/EmailManagementPanel.tsx:13
msgid "Email Messages"
-msgstr ""
+msgstr "E-Mail Beskeder"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:22
#~ msgid "Active Alerts"
@@ -6462,27 +6568,27 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "System Status"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
-msgstr ""
+msgstr "Admin Center Information"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:53
msgid "The home panel (and the whole Admin Center) is a new feature starting with the new UI and was previously (before 1.0) not available."
-msgstr ""
+msgstr "Hjemmepanelet (og Admin Center) er en ny funktion, der starter med den nye brugergrænseflade og var tidligere (før 1.0) ikke tilgængelig."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:60
msgid "The admin center provides a centralized location for all administration functionality and is meant to replace all interaction with the (django) backend admin interface."
-msgstr ""
+msgstr "Admin centret giver en centraliseret placering for alle admin funktionalitet og er beregnet til at erstatte al interaktion med (django) backend admin interface."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:67
msgid "Please open feature requests (after checking the tracker) for any existing backend admin functionality you are missing in this UI. The backend admin interface should be used carefully and seldom."
-msgstr ""
+msgstr "Åbn venligst funktionsanmodninger (efter at have tjekket trackeren) for eventuelle eksisterende backend administrationsfunktioner, som du mangler i denne brugergrænseflade. Backend administrationsgrænsefladen bør bruges forsigtigt og sjældent."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "Hurtige Handlinger"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,11 +6596,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "Hjem"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
-msgstr ""
+msgstr "Brugere / Adgang"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:127
#~ msgid "Templates"
@@ -6502,27 +6608,27 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:136
msgid "Data Import"
-msgstr ""
+msgstr "Data Import"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:142
msgid "Data Export"
-msgstr ""
+msgstr "Data Eksport"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:148
msgid "Barcode Scans"
-msgstr ""
+msgstr "Stregkode Scanninger"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:154
msgid "Background Tasks"
-msgstr ""
+msgstr "Baggrundsopgaver"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:160
msgid "Error Reports"
-msgstr ""
+msgstr "Fejlrapporter"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:166
msgid "Currencies"
-msgstr ""
+msgstr "Valutaer"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:170
#~ msgid "Location types"
@@ -6545,11 +6651,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
#: src/pages/part/CategoryDetail.tsx:329
msgid "Category Parameters"
-msgstr ""
+msgstr "Kategori Parametre"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:221
msgid "Location Types"
-msgstr ""
+msgstr "Lokationstyper"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:226
#~ msgid "Add a new user"
@@ -6559,11 +6665,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:52
#: src/tables/machine/MachineTypeTable.tsx:323
msgid "Machines"
-msgstr ""
+msgstr "Maskiner"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:247
msgid "Operations"
-msgstr ""
+msgstr "Operatør"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:259
msgid "Data Management"
@@ -6573,7 +6679,7 @@ msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:176
#: src/pages/Index/Settings/UserSettings.tsx:119
msgid "Reporting"
-msgstr ""
+msgstr "Rapportering"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:275
msgid "PLM"
@@ -6581,11 +6687,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:285
msgid "Extend / Integrate"
-msgstr ""
+msgstr "Udvid / Integrer"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:299
msgid "Advanced Options"
-msgstr ""
+msgstr "Avancerede indstillinger"
#: src/pages/Index/Settings/AdminCenter/LabelTemplatePanel.tsx:40
#~ msgid "Generated Labels"
@@ -6601,7 +6707,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:60
msgid "Machine Drivers"
-msgstr ""
+msgstr "Maskin Drivere"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62
#~ msgid "There are no machine registry errors."
@@ -6609,11 +6715,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:68
msgid "Machine Types"
-msgstr ""
+msgstr "Maskin Typer"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:76
msgid "Machine Errors"
-msgstr ""
+msgstr "Maskine Fejl"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:89
msgid "Registry Registry Errors"
@@ -6634,12 +6740,12 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:122
#: src/tables/machine/MachineListTable.tsx:502
msgid "Machine Settings"
-msgstr ""
+msgstr "Maskine indstillinger"
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33
#: src/tables/settings/UserTable.tsx:195
msgid "Info"
-msgstr ""
+msgstr "Info"
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33
#~ msgid "Plugin Error Stack"
@@ -6647,7 +6753,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:37
msgid "External plugins are not enabled for this InvenTree installation."
-msgstr ""
+msgstr "Eksterne plugins er ikke aktiveret for denne InvenTree installation."
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:45
#~ msgid "Warning"
@@ -6659,23 +6765,23 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:76
msgid "Plugin Errors"
-msgstr ""
+msgstr "Plugin fejl"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:16
msgid "Page Size"
-msgstr ""
+msgstr "Side Størrelse"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:19
msgid "Landscape"
-msgstr ""
+msgstr "Landskab"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:25
msgid "Merge"
-msgstr ""
+msgstr "Flet"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:31
msgid "Attach to Model"
-msgstr ""
+msgstr "Vedhæft til model"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:55
#~ msgid "Generated Reports"
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,19 +6800,27 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Baggrund proces kører ikke"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Baggrunds opgavestyring kører ikke. Kontakt din systemadministrator."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
-msgstr ""
+msgstr "Ventende Opgaver"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
-msgstr ""
+msgstr "Planlagte Opgaver"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
-msgstr ""
+msgstr "Mislykkede Opgaver"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
#~ msgid "Stock item"
@@ -6746,19 +6856,19 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:21
msgid "Alias"
-msgstr ""
+msgstr "Alias"
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:22
msgid "Dimensionless"
-msgstr ""
+msgstr "Dimensionsløs"
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:65
msgid "All units"
-msgstr ""
+msgstr "Alle enheder"
#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:31
msgid "Tokens"
-msgstr ""
+msgstr "Tokens"
#: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:32
#~ msgid "Select settings relevant for user lifecycle. More available in"
@@ -6770,15 +6880,15 @@ msgstr ""
#: src/pages/Index/Settings/PluginSettingsGroup.tsx:99
msgid "The settings below are specific to each available plugin"
-msgstr ""
+msgstr "Indstillinger nedenfor er specifikke for hvert tilgængeligt plugin"
#: src/pages/Index/Settings/SystemSettings.tsx:78
msgid "Authentication"
-msgstr ""
+msgstr "Autentificering"
#: src/pages/Index/Settings/SystemSettings.tsx:104
msgid "Barcodes"
-msgstr ""
+msgstr "Stregkoder"
#: src/pages/Index/Settings/SystemSettings.tsx:118
#~ msgid "Physical Units"
@@ -6791,11 +6901,11 @@ msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:128
#: src/pages/Index/Settings/UserSettings.tsx:113
msgid "The settings below are specific to each available notification method"
-msgstr ""
+msgstr "Indstillingerne nedenfor er specifikke for hver tilgængelige underretningsmetode"
#: src/pages/Index/Settings/SystemSettings.tsx:134
msgid "Pricing"
-msgstr ""
+msgstr "Prissætning"
#: src/pages/Index/Settings/SystemSettings.tsx:135
#~ msgid "Exchange Rates"
@@ -6803,23 +6913,33 @@ msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:170
msgid "Labels"
+msgstr "Label"
+
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Lager Sporing"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
#: src/pages/Index/Settings/UserSettings.tsx:41
msgid "Account"
-msgstr ""
+msgstr "Konto"
#: src/pages/Index/Settings/UserSettings.tsx:47
msgid "Security"
-msgstr ""
+msgstr "Sikkerhed"
#: src/pages/Index/Settings/UserSettings.tsx:53
msgid "Display Options"
-msgstr ""
+msgstr "Visningsindstillinger"
#: src/pages/Index/Settings/UserSettings.tsx:159
#~ msgid "Switch to System Setting"
@@ -6843,11 +6963,11 @@ msgstr ""
#: src/pages/Notifications.tsx:83
msgid "History"
-msgstr ""
+msgstr "Historik"
#: src/pages/Notifications.tsx:91
msgid "Mark as unread"
-msgstr ""
+msgstr "Marker som ulæst"
#: src/pages/Notifications.tsx:146
#~ msgid "Delete notifications"
@@ -6855,15 +6975,15 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:70
msgid "No Required Items"
-msgstr ""
+msgstr "Ingen Påkrævede Varer"
#: src/pages/build/BuildDetail.tsx:72
msgid "This build order does not have any required items."
-msgstr ""
+msgstr "Denne byggeordre har ingen påkrævede varer."
#: src/pages/build/BuildDetail.tsx:73
msgid "The assembled part may not have a Bill of Materials (BOM) defined, or the BOM is empty."
-msgstr ""
+msgstr "Den samlede del har muligvis ikke en defineret stykliste, eller styklisten er tom."
#: src/pages/build/BuildDetail.tsx:80
#~ msgid "Build Status"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revision"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,302 +7038,298 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
-msgstr ""
+msgstr "Ekstern"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
-msgstr ""
+msgstr "Reference"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
-msgstr ""
+msgstr "Overordnet produktion"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
-msgstr ""
+msgstr "Produktions antal"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
-msgstr ""
+msgstr "Kan Bygge"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
-msgstr ""
+msgstr "Gennemførte Output"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
-msgstr ""
+msgstr "Udstedt Af"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
-msgstr ""
+msgstr "Ansvarlig"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
+msgstr "Enhver placering"
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr ""
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Destinations Placering"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Oprettet"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Startdato"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Måldato"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:411
-msgid "Build Details"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:417
-msgid "Required Parts"
-msgstr ""
+msgstr "Fuldført"
#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+msgid "Build Details"
+msgstr "Bygge Detaljer"
+
+#: src/pages/build/BuildDetail.tsx:435
+msgid "Required Parts"
+msgstr "Nødvendige Dele"
+
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
-msgstr ""
+msgstr "Tildelt Lager"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
-msgstr ""
+msgstr "Forbrugt Lager"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
-msgstr ""
+msgstr "Ufuldstændige Output"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
-msgstr ""
+msgstr "Eksterne Ordrer"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
-msgstr ""
+msgstr "Byg Underordnede Ordrer"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:555
-msgid "Edit Build Order"
-msgstr ""
+msgstr "Testresultater"
#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
-msgid "Add Build Order"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:587
-msgid "Cancel Build Order"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
-msgid "Order cancelled"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
-msgid "Cancel this order"
-msgstr ""
+msgid "Edit Build Order"
+msgstr "Rediger Byggeordre"
#: src/pages/build/BuildDetail.tsx:599
-msgid "Hold Build Order"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
-msgid "Place this order on hold"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
-msgid "Order placed on hold"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:607
-msgid "Issue Build Order"
-msgstr ""
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
+msgid "Add Build Order"
+msgstr "Tilføj Byggeordre"
#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
-msgid "Issue this order"
-msgstr ""
+msgid "Cancel Build Order"
+msgstr "Annuller Byggeordre"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
-msgid "Order issued"
-msgstr ""
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
+msgid "Order cancelled"
+msgstr "Ordren annulleret"
+
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
+msgid "Cancel this order"
+msgstr "Annuller denne ordre"
+
+#: src/pages/build/BuildDetail.tsx:621
+msgid "Hold Build Order"
+msgstr "Hold Byg Ordre"
+
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
+msgid "Place this order on hold"
+msgstr "Placer denne ordre på hold"
+
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
+msgid "Order placed on hold"
+msgstr "Ordre placeret på hold"
#: src/pages/build/BuildDetail.tsx:629
+msgid "Issue Build Order"
+msgstr "Udsted Byggeordre"
+
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
+msgid "Issue this order"
+msgstr "Udsted denne ordre"
+
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
+msgid "Order issued"
+msgstr "Ordre udstedt"
+
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
-msgstr ""
+msgstr "Færdiggør Byggeordre"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
-msgstr ""
+msgstr "Marker denne ordre som færdig"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
-msgstr ""
+msgstr "Ordre fuldført"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
-msgstr ""
+msgstr "Udstede Ordre"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
-msgstr ""
+msgstr "Fuldfør ordre"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
-msgstr ""
+msgstr "Byg Ordre Handlinger"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
-msgstr ""
+msgstr "Rediger ordre"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
-msgid "Duplicate order"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
-msgid "Hold order"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
-msgid "Cancel order"
-msgstr ""
+#: src/pages/sales/SalesOrderDetail.tsx:574
+msgid "Duplicate order"
+msgstr "Dupliker ordre"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
+msgid "Hold order"
+msgstr "Hold ordre"
+
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
+msgid "Cancel order"
+msgstr "Annuller ordre"
+
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
-msgstr ""
+msgstr "Produktionsordre"
#: src/pages/build/BuildIndex.tsx:23
#~ msgid "Build order created"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
-msgstr ""
+msgstr "Vis eksterne bygge ordrer"
#: src/pages/build/BuildIndex.tsx:39
#~ msgid "New Build Order"
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7233,68 +7354,65 @@ msgstr ""
#: src/pages/sales/SalesIndex.tsx:67
#: src/pages/sales/SalesIndex.tsx:113
msgid "Calendar View"
-msgstr ""
+msgstr "Kalender Visning"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
+msgstr "Parametrisk Visning"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
-msgstr ""
+msgstr "Telefonnummer"
#: src/pages/company/CompanyDetail.tsx:115
msgid "Email Address"
-msgstr ""
+msgstr "E-mail adresse"
#: src/pages/company/CompanyDetail.tsx:122
msgid "Tax ID"
-msgstr ""
+msgstr "Skat ID"
#: src/pages/company/CompanyDetail.tsx:132
msgid "Default Currency"
-msgstr ""
+msgstr "Standardvaluta"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
-msgstr ""
+msgstr "Producent"
#: src/pages/company/CompanyDetail.tsx:149
#: src/pages/company/CustomerDetail.tsx:8
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
-msgstr ""
+msgstr "Kunde"
#: src/pages/company/CompanyDetail.tsx:175
#~ msgid "Edit company"
@@ -7302,11 +7420,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:182
msgid "Company Details"
-msgstr ""
+msgstr "Firma detaljer"
#: src/pages/company/CompanyDetail.tsx:188
msgid "Supplied Parts"
-msgstr ""
+msgstr "Leverede Dele"
#: src/pages/company/CompanyDetail.tsx:189
#~ msgid "Delete company"
@@ -7314,79 +7432,79 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:195
msgid "Manufactured Parts"
-msgstr ""
+msgstr "Fremstillede Dele"
#: src/pages/company/CompanyDetail.tsx:242
msgid "Assigned Stock"
-msgstr ""
+msgstr "Tildelt Lager"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
-msgstr ""
+msgstr "Rediger virksomhed"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
-msgstr ""
+msgstr "Slet virksomhed"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
-msgstr ""
+msgstr "Virksomheds Handlinger"
#: src/pages/company/ManufacturerPartDetail.tsx:77
#: src/pages/company/SupplierPartDetail.tsx:90
msgid "Internal Part"
-msgstr ""
+msgstr "Intern Del"
#: src/pages/company/ManufacturerPartDetail.tsx:111
msgid "Manufacturer Part Number"
-msgstr ""
+msgstr "Producent Delnummer"
#: src/pages/company/ManufacturerPartDetail.tsx:128
#: src/pages/company/SupplierPartDetail.tsx:114
msgid "External Link"
-msgstr ""
+msgstr "Ekstern link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
-msgstr ""
+msgstr "Del Detaljer"
#: src/pages/company/ManufacturerPartDetail.tsx:150
msgid "Manufacturer Details"
-msgstr ""
+msgstr "Producent Detaljer"
#: src/pages/company/ManufacturerPartDetail.tsx:159
msgid "Manufacturer Part Details"
-msgstr ""
+msgstr "Producent Del Detaljer"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
-msgstr ""
+msgstr "Modtaget Lager"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
-msgstr ""
+msgstr "Rediger Producent Del"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
-msgstr ""
+msgstr "Tilføj Producent Part"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
-msgstr ""
+msgstr "Slet Producent Del"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
-msgstr ""
+msgstr "Producent Del Handlinger"
#: src/pages/company/ManufacturerPartDetail.tsx:281
#~ msgid "ManufacturerPart"
@@ -7395,136 +7513,136 @@ msgstr ""
#: src/pages/company/SupplierPartDetail.tsx:105
#: src/tables/part/RelatedPartTable.tsx:82
msgid "Part Description"
-msgstr ""
+msgstr "Del Beskrivelse"
#: src/pages/company/SupplierPartDetail.tsx:180
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
-msgstr ""
+msgstr "Pakkemængde"
#: src/pages/company/SupplierPartDetail.tsx:205
msgid "Supplier Availability"
-msgstr ""
+msgstr "Leverandør Tilgængelighed"
#: src/pages/company/SupplierPartDetail.tsx:213
msgid "Availability Updated"
-msgstr ""
+msgstr "Tilgængelighed Opdateret"
#: src/pages/company/SupplierPartDetail.tsx:238
msgid "Availability"
-msgstr ""
+msgstr "Tilgængelighed"
#: src/pages/company/SupplierPartDetail.tsx:247
msgid "Supplier Part Details"
-msgstr ""
+msgstr "Leverandør Del Detaljer"
#: src/pages/company/SupplierPartDetail.tsx:280
#: src/pages/part/PartPricingPanel.tsx:113
#: src/pages/part/pricing/PricingOverviewPanel.tsx:239
msgid "Supplier Pricing"
-msgstr ""
+msgstr "Leverandør Priser"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
-msgstr ""
+msgstr "Leverandør Del Handlinger"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
-msgstr ""
+msgstr "Rediger Leverandør Del"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
-msgstr ""
+msgstr "Slet Leverandørdel"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
-msgstr ""
+msgstr "Tilføj leverandørdel"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
-msgstr ""
+msgstr "Intet lager"
#: src/pages/core/CoreIndex.tsx:46
#: src/pages/core/GroupDetail.tsx:81
#: src/pages/core/UserDetail.tsx:224
msgid "System Overview"
-msgstr ""
+msgstr "Systemoversigt"
#: src/pages/core/GroupDetail.tsx:45
msgid "Group Name"
-msgstr ""
+msgstr "Gruppenavn"
#: src/pages/core/GroupDetail.tsx:52
#: src/pages/core/GroupDetail.tsx:67
#: src/tables/settings/GroupTable.tsx:85
msgid "Group Details"
-msgstr ""
+msgstr "Gruppeoplysninger"
#: src/pages/core/GroupDetail.tsx:55
#: src/tables/settings/GroupTable.tsx:112
msgid "Group Roles"
-msgstr ""
+msgstr "Gruppe Roller"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
-msgstr ""
+msgstr "Brugerinformation"
#: src/pages/core/UserDetail.tsx:176
msgid "User Permissions"
-msgstr ""
+msgstr "Brugertilladelser"
#: src/pages/core/UserDetail.tsx:178
msgid "User Profile"
-msgstr ""
+msgstr "Brugerprofil"
#: src/pages/core/UserDetail.tsx:188
#: src/tables/settings/UserTable.tsx:164
msgid "User Details"
-msgstr ""
+msgstr "Bruger Information"
#: src/pages/core/UserDetail.tsx:206
msgid "Basic user"
-msgstr ""
+msgstr "Basis bruger"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
-msgstr ""
+msgstr "Sti"
#: src/pages/part/CategoryDetail.tsx:119
msgid "Parent Category"
-msgstr ""
+msgstr "Overordnet kategori"
#: src/pages/part/CategoryDetail.tsx:142
#: src/pages/part/CategoryDetail.tsx:279
msgid "Subcategories"
-msgstr ""
+msgstr "Underkategorier"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
-msgstr ""
+msgstr "Strukturelle"
#: src/pages/part/CategoryDetail.tsx:155
msgid "Parent default location"
-msgstr ""
+msgstr "Overordnet standard lokation"
#: src/pages/part/CategoryDetail.tsx:162
msgid "Default location"
-msgstr ""
+msgstr "Standard lokation"
#: src/pages/part/CategoryDetail.tsx:173
msgid "Top level part category"
@@ -7534,105 +7652,109 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:251
#: src/tables/part/PartCategoryTable.tsx:122
msgid "Edit Part Category"
-msgstr ""
+msgstr "Rediger Del Kategori"
#: src/pages/part/CategoryDetail.tsx:192
msgid "Move items to parent category"
-msgstr ""
+msgstr "Flyt elementer til overordnet kategori"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
-msgstr ""
+msgstr "Slet vare"
#: src/pages/part/CategoryDetail.tsx:204
#: src/pages/part/CategoryDetail.tsx:256
msgid "Delete Part Category"
-msgstr ""
+msgstr "Slet Del Kategori"
#: src/pages/part/CategoryDetail.tsx:207
msgid "Parts Action"
-msgstr ""
+msgstr "Dele Handling"
#: src/pages/part/CategoryDetail.tsx:208
msgid "Action for parts in this category"
-msgstr ""
+msgstr "Handling for dele i denne kategori"
#: src/pages/part/CategoryDetail.tsx:214
msgid "Child Categories Action"
-msgstr ""
+msgstr "Underkategori Handling"
#: src/pages/part/CategoryDetail.tsx:215
msgid "Action for child categories in this category"
-msgstr ""
+msgstr "Handling for underliggende kategorier i denne kategori"
#: src/pages/part/CategoryDetail.tsx:247
#: src/tables/part/PartCategoryTable.tsx:143
msgid "Category Actions"
-msgstr ""
+msgstr "Kategori Handlinger"
#: src/pages/part/CategoryDetail.tsx:273
msgid "Category Details"
-msgstr ""
+msgstr "Kategori Detaljer"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
-msgstr ""
+msgstr "Valider Stykliste"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
-msgstr ""
+msgstr "Vil du validere styklisten til denne samling?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
-msgstr ""
+msgstr "Stykliste Valideret"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
-msgstr ""
+msgstr "Materialregningen for denne del er blevet valideret"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
-msgstr ""
+msgstr "Stykliste Ikke Valideret"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
-msgstr ""
+msgstr "Materialregningen for denne del er tidligere blevet kontrolleret, men kræver fornyet godkendelse"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
-msgstr ""
+msgstr "Materialregningen for denne del er endnu ikke blevet valideret"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
-msgstr ""
+msgstr "Valideret Den"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
-msgstr ""
+msgstr "Valideret Af"
#: src/pages/part/PartDetail.tsx:286
#~ msgid "Variant Stock"
@@ -7650,248 +7772,248 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
-msgstr ""
+msgstr "Revision af"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
+msgstr "Standard lokation"
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Kategori Standard Lokation"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Enheder"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
-msgstr ""
+msgstr "Nøgleord"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
-msgstr ""
+msgstr "Tilgængelig Lager"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
-msgstr ""
+msgstr "På bestilling"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
-msgstr ""
+msgstr "Kræves til ordrer"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
-msgstr ""
+msgstr "Allokeret til Byggeordrer"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
+msgstr "Allokeret til Salgsordrer"
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
-msgstr ""
+msgstr "Låst"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
-msgstr ""
+msgstr "Skabelon Del"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
-msgstr ""
+msgstr "Samlede Del"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
-msgstr ""
+msgstr "Komponent Del"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
-msgstr ""
+msgstr "Testbar Del"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
-msgid "Created By"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
+msgid "Created By"
+msgstr "Oprettet af"
+
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:709
-msgid "days"
-msgstr ""
+msgstr "Standard Udløbsdato"
#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+msgid "days"
+msgstr "dage"
+
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
-msgstr ""
+msgstr "Seneste Serienummer"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
-msgstr ""
+msgstr "Stykliste"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
-msgstr ""
+msgstr "Brugt I"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
-msgstr ""
+msgstr "Del Prisfastsættelse"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
-msgstr ""
+msgstr "Test Skabeloner"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
+msgstr "Relaterede Dele"
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Delen er låst"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Delparametre kan ikke redigeres, da delen er låst"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
-msgstr ""
+msgstr "Påkrævet"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
-msgid "Add Part"
-msgstr ""
+msgstr "Underskud"
#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
+msgid "Add Part"
+msgstr "Tilføj del"
+
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
-msgstr ""
+msgstr "Slet Del"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
-msgstr ""
+msgstr "Sletning af denne del kan ikke fortrydes"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
-msgstr ""
+msgstr "Ordre"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
-msgstr ""
+msgstr "Bestil Lager"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
-msgstr ""
+msgstr "Søg på serienummer"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
-msgstr ""
+msgstr "Del Handlinger"
#: src/pages/part/PartIndex.tsx:29
#~ msgid "Categories"
@@ -7899,26 +8021,26 @@ msgstr ""
#: src/pages/part/PartPricingPanel.tsx:72
msgid "No pricing data found for this part."
-msgstr ""
+msgstr "Ingen prisdata fundet for denne del."
#: src/pages/part/PartPricingPanel.tsx:87
#: src/pages/part/pricing/PricingOverviewPanel.tsx:332
msgid "Pricing Overview"
-msgstr ""
+msgstr "Prisoversigt"
#: src/pages/part/PartPricingPanel.tsx:93
msgid "Purchase History"
-msgstr ""
+msgstr "Købs Historik"
#: src/pages/part/PartPricingPanel.tsx:107
#: src/pages/part/pricing/PricingOverviewPanel.tsx:211
msgid "Internal Pricing"
-msgstr ""
+msgstr "Intern Prissætning"
#: src/pages/part/PartPricingPanel.tsx:122
#: src/pages/part/pricing/PricingOverviewPanel.tsx:221
msgid "BOM Pricing"
-msgstr ""
+msgstr "Stykliste Prissætning"
#: src/pages/part/PartPricingPanel.tsx:129
#: src/pages/part/pricing/PricingOverviewPanel.tsx:249
@@ -7928,12 +8050,12 @@ msgstr ""
#: src/pages/part/PartPricingPanel.tsx:141
#: src/pages/part/pricing/PricingOverviewPanel.tsx:258
msgid "Sale Pricing"
-msgstr ""
+msgstr "Salg Prissætning"
#: src/pages/part/PartPricingPanel.tsx:147
#: src/pages/part/pricing/PricingOverviewPanel.tsx:267
msgid "Sale History"
-msgstr ""
+msgstr "Salgs Historik"
#: src/pages/part/PartSchedulingDetail.tsx:51
#: src/pages/part/PartSchedulingDetail.tsx:291
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
-#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
-msgid "Stock Value"
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
+#: src/pages/stock/StockDetail.tsx:402
+#: src/tables/stock/StockItemTable.tsx:125
+msgid "Stock Value"
+msgstr "Lagerværdi"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
-msgstr ""
+msgstr "Minimum Værdi"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
-msgstr ""
+msgstr "Maksimal Værdi"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,37 +8141,37 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
-msgstr ""
+msgstr "Total Pris"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
-msgstr ""
+msgstr "Komponent"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
-msgstr ""
+msgstr "Minimum Pris"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
-msgstr ""
+msgstr "Maksimal Pris"
#: src/pages/part/pricing/BomPricingPanel.tsx:112
#~ msgid "Minimum Total Price"
@@ -8048,27 +8181,27 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
-msgstr ""
+msgstr "Enhedspris"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
+msgid "Pie Chart"
+msgstr "Cirkeldiagram"
#: src/pages/part/pricing/BomPricingPanel.tsx:217
-msgid "Pie Chart"
-msgstr ""
-
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
msgid "Bar Chart"
-msgstr ""
+msgstr "Søjlediagram"
#: src/pages/part/pricing/PriceBreakPanel.tsx:58
#: src/pages/part/pricing/PriceBreakPanel.tsx:111
@@ -8093,7 +8226,7 @@ msgstr ""
#: src/pages/part/pricing/PriceBreakPanel.tsx:171
msgid "Price"
-msgstr ""
+msgstr "Pris"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:74
msgid "Refreshing pricing data"
@@ -8109,82 +8242,85 @@ msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:129
msgid "Edit Pricing"
-msgstr ""
+msgstr "Rediger Pris"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:141
msgid "Pricing Category"
-msgstr ""
+msgstr "Prissætning Kategori"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:160
msgid "Minimum"
-msgstr ""
+msgstr "Minimum"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:173
msgid "Maximum"
-msgstr ""
+msgstr "Maksimum"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:192
msgid "Override Pricing"
-msgstr ""
+msgstr "Overskriv Priser"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:203
msgid "Overall Pricing"
-msgstr ""
+msgstr "Samlet Prissætning"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:229
msgid "Purchase Pricing"
-msgstr ""
+msgstr "Købspris"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
-msgstr ""
+msgstr "Sidst Opdateret"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:292
msgid "Pricing Not Set"
-msgstr ""
+msgstr "Pris Ikke Fastsat"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:293
msgid "Pricing data has not been calculated for this part"
-msgstr ""
+msgstr "Prisdata er ikke beregnet for denne del"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:297
msgid "Pricing Actions"
-msgstr ""
+msgstr "Pris Handlinger"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:300
msgid "Refresh"
-msgstr ""
+msgstr "Genindlæser"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:301
msgid "Refresh pricing data"
-msgstr ""
+msgstr "Genindlæser prisdata"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:316
msgid "Edit pricing data"
-msgstr ""
+msgstr "Rediger prisdata"
#: src/pages/part/pricing/PricingPanel.tsx:24
msgid "No data available"
-msgstr ""
+msgstr "Ingen data tilgængelig"
#: src/pages/part/pricing/PricingPanel.tsx:65
msgid "No Data"
-msgstr ""
+msgstr "Ingen data"
#: src/pages/part/pricing/PricingPanel.tsx:66
msgid "No pricing data available"
-msgstr ""
+msgstr "Ingen tilgængelige prisdata"
#: src/pages/part/pricing/PricingPanel.tsx:77
msgid "Loading pricing data"
-msgstr ""
+msgstr "Indlæser prisdata"
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:48
msgid "Purchase Price"
-msgstr ""
+msgstr "Købspris"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
#~ msgid "Sale Order"
@@ -8193,12 +8329,12 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
#: src/pages/part/pricing/SaleHistoryPanel.tsx:87
msgid "Sale Price"
-msgstr ""
+msgstr "Salgspris"
#: src/pages/part/pricing/SupplierPricingPanel.tsx:69
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:75
msgid "Supplier Price"
-msgstr ""
+msgstr "Leverandør Pris"
#: src/pages/part/pricing/VariantPricingPanel.tsx:29
#: src/pages/part/pricing/VariantPricingPanel.tsx:94
@@ -8207,17 +8343,17 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Edit Purchase Order"
-msgstr ""
+msgstr "Rediger Indkøbsordre"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
-msgstr ""
+msgstr "Tilføj Indkøbsordre"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
msgid "Supplier Reference"
-msgstr ""
+msgstr "Leverandør Reference"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:159
#: src/pages/sales/ReturnOrderDetail.tsx:126
@@ -8232,15 +8368,15 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
-msgstr ""
+msgstr "Destination"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:203
#: src/pages/sales/ReturnOrderDetail.tsx:168
#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Order Currency"
-msgstr ""
+msgstr "Ordre Valuta"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:207
#: src/pages/sales/ReturnOrderDetail.tsx:183
@@ -8252,19 +8388,19 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:175
#: src/pages/sales/SalesOrderDetail.tsx:168
msgid "Total Cost"
-msgstr ""
+msgstr "Pris i alt"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:238
#: src/pages/sales/ReturnOrderDetail.tsx:216
#: src/pages/sales/SalesOrderDetail.tsx:209
msgid "Contact Email"
-msgstr ""
+msgstr "Kontakt E-Mail"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:224
#: src/pages/sales/SalesOrderDetail.tsx:217
msgid "Contact Phone"
-msgstr ""
+msgstr "Kontakt Telefon"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:279
#: src/pages/sales/ReturnOrderDetail.tsx:258
@@ -8275,369 +8411,363 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
-msgstr ""
+msgstr "Ordre detaljer"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
-msgstr ""
+msgstr "Annuller Indkøbsordre"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
-msgstr ""
+msgstr "Færdiggør Indkøbsordre"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
-msgstr ""
+msgstr "Ordre Handlinger"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
-msgstr ""
+msgstr "Kundens Reference"
#: src/pages/sales/ReturnOrderDetail.tsx:196
msgid "Return Address"
-msgstr ""
+msgstr "Retur Adresse"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
-msgstr ""
+msgstr "Ikke specificeret"
#: src/pages/sales/ReturnOrderDetail.tsx:349
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
-msgstr ""
+msgstr "Rediger Returordre"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
-msgstr ""
+msgstr "Tilføje Returordre"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
-msgstr ""
+msgstr "Annuller Returordre"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
-msgstr ""
+msgstr "Hold Returordre"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
-msgstr ""
+msgstr "Færdiggør Returordre"
#: src/pages/sales/SalesOrderDetail.tsx:154
msgid "Completed Shipments"
-msgstr ""
+msgstr "Færdige Forsendelser"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
-msgstr ""
+msgstr "Leverings Adresse"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
-msgstr ""
+msgstr "Rediger Salgsordre"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
-msgstr ""
+msgstr "Tilføj Salgsordre"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
-msgstr ""
+msgstr "Forsendelser"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
-msgstr ""
+msgstr "Udsted Salgsordre"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
-msgstr ""
-
-#: src/pages/sales/SalesOrderDetail.tsx:464
-msgid "Hold Sales Order"
-msgstr ""
-
-#: src/pages/sales/SalesOrderDetail.tsx:472
-msgid "Ship Sales Order"
-msgstr ""
+msgstr "Annuller Salgs Ordre"
#: src/pages/sales/SalesOrderDetail.tsx:474
+msgid "Hold Sales Order"
+msgstr "Hold Salgs Ordre"
+
+#: src/pages/sales/SalesOrderDetail.tsx:482
+msgid "Ship Sales Order"
+msgstr "Send Salgsordre"
+
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
-msgstr ""
+msgstr "Send Salgsordre?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
-msgstr ""
+msgstr "Ordre sendt"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
-msgstr ""
+msgstr "Færdiggør Salg Ordre"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
-msgstr ""
+msgstr "Send ordre"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
-msgstr ""
+msgstr "Forsendelse Reference"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
-msgstr ""
+msgstr "Sporingsnummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
-msgstr ""
+msgstr "Faktura Nummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
-msgstr ""
+msgstr "Allokeret Elementer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
-msgstr ""
+msgstr "Ikke kontrolleret"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
-msgstr ""
+msgstr "Forsendelse Dato"
#: src/pages/sales/SalesOrderShipmentDetail.tsx:211
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
-msgstr ""
+msgstr "Leveringsdato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
-msgstr ""
+msgstr "Forsendelse Detaljer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
-msgstr ""
+msgstr "Rediger Forsendelse"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
-msgstr ""
+msgstr "Annuller Forsendelse"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
-msgstr ""
+msgstr "Kontrolleret"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
-msgstr ""
+msgstr "Ikke Kontrolleret"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
-msgstr ""
+msgstr "Afsendt"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
-msgstr ""
+msgstr "Leveret"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
-msgstr ""
+msgstr "Send Forsendelse"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
-msgstr ""
+msgstr "Forsendelses Handlinger"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
-msgstr ""
+msgstr "Marker forsendelse som kontrolleret"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
-msgstr ""
+msgstr "Marker forsendelse som ikke-kontrolleret"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
-msgstr ""
+msgstr "Overordnet Lokation"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
-msgstr ""
+msgstr "Under lokationer"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
-msgstr ""
+msgstr "Lokationstype"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
-msgstr ""
+msgstr "Lokations Detaljer"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
+msgstr "Standard Dele"
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Rediger Lagerlokation"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Flyt elementer til overordnet lokation"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Slet Lager Lokation"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
-msgid "Scan Stock Item"
-msgstr ""
+msgid "Locations Action"
+msgstr "Lokation Handlinger"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr "Handling for underordnede lokation i denne lokation"
+
+#: src/pages/stock/LocationDetail.tsx:317
+msgid "Scan Stock Item"
+msgstr "Scan Lagervare"
+
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
-msgstr ""
+msgstr "Fejl ved scanning af lagervare"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
-msgstr ""
+msgstr "Fejl under scanning af lager lokation"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
-msgstr ""
+msgstr "Lokation Handlinger"
#: src/pages/stock/StockDetail.tsx:147
msgid "Base Part"
-msgstr ""
+msgstr "Basis Del"
#: src/pages/stock/StockDetail.tsx:155
#~ msgid "Link custom barcode to stock item"
@@ -8657,7 +8787,7 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:206
msgid "Previous serial number"
-msgstr ""
+msgstr "Forrige serienummer"
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
@@ -8665,31 +8795,31 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:228
msgid "Find serial number"
-msgstr ""
+msgstr "Find serienummer"
#: src/pages/stock/StockDetail.tsx:234
msgid "Next serial number"
-msgstr ""
+msgstr "Næste serienummer"
#: src/pages/stock/StockDetail.tsx:272
msgid "Allocated to Orders"
-msgstr ""
+msgstr "Allokeret Til Ordrer"
#: src/pages/stock/StockDetail.tsx:305
msgid "Installed In"
-msgstr ""
+msgstr "Installeret I"
#: src/pages/stock/StockDetail.tsx:325
msgid "Parent Item"
-msgstr ""
+msgstr "Overordnet Element"
#: src/pages/stock/StockDetail.tsx:329
msgid "Parent stock item"
-msgstr ""
+msgstr "Overordnet lagervare"
#: src/pages/stock/StockDetail.tsx:335
msgid "Consumed By"
-msgstr ""
+msgstr "Forbrugt Af"
#: src/pages/stock/StockDetail.tsx:432
msgid "Last Stocktake"
@@ -8701,11 +8831,7 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:526
msgid "Stock Details"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
+msgstr "Lager Detaljer"
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
@@ -8713,15 +8839,15 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:601
msgid "Installed Items"
-msgstr ""
+msgstr "Installerede Elementer"
#: src/pages/stock/StockDetail.tsx:608
msgid "Child Items"
-msgstr ""
+msgstr "Underordnede Elementer"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
-msgstr ""
+msgstr "Rediger Lagervare"
#: src/pages/stock/StockDetail.tsx:671
#: src/tables/stock/StockItemTable.tsx:452
@@ -8738,17 +8864,17 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
-msgid "Items Created"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:704
-msgid "Created {n} stock items"
-msgstr ""
+msgid "Items Created"
+msgstr "Elementer Oprettet"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:705
+msgid "Created {n} stock items"
+msgstr "Oprettede {n} lagervarer"
+
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
-msgstr ""
+msgstr "Slet Lagervare"
#: src/pages/stock/StockDetail.tsx:762
#~ msgid "Return Stock Item"
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,37 +8892,36 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:852
-msgid "Scan into location"
-msgstr ""
+msgstr "Scan Ind I Lokation"
#: src/pages/stock/StockDetail.tsx:854
-msgid "Scan this item into a location"
-msgstr ""
+msgid "Scan into location"
+msgstr "Scan ind i lokation"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:856
+msgid "Scan this item into a location"
+msgstr "Skan dette element ind på en lokation"
+
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
-msgstr ""
+msgstr "Lager Operationer"
#: src/pages/stock/StockDetail.tsx:868
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,24 +8945,24 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
-msgstr ""
+msgstr "Forældet"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
-msgstr ""
+msgstr "Udløbet"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
-msgstr ""
+msgstr "Utilgængelig"
#: src/states/IconState.tsx:47
#: src/states/IconState.tsx:77
msgid "Error loading icon package from server"
-msgstr ""
+msgstr "Fejl ved indlæsning af ikonpakke fra serveren"
#: src/tables/ColumnRenderers.tsx:41
#~ msgid "Part is locked"
@@ -8845,16 +8970,82 @@ msgstr ""
#: src/tables/ColumnRenderers.tsx:68
msgid "Part is not active"
-msgstr ""
+msgstr "Del er ikke aktiv"
#: src/tables/ColumnRenderers.tsx:78
msgid "You are subscribed to notifications for this part"
-msgstr ""
+msgstr "Du abonnerer på notifikationer for denne del"
#: src/tables/ColumnRenderers.tsx:93
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Denne lagervare er i produktion"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Denne lagervare er blevet tildelt en salgsordre"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Denne lagervare er blevet tildelt en kunde"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Denne lagervare er installeret i en anden lagervare"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Denne lagervare er blevet brugt af en byggeordre"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Denne lagervare er utilgængelig"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Denne lagervare er udløbet"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Denne lagervare er forældet"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Denne lagervare er fuldt allokeret"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Denne lagervare er delvist allokeret"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Intet lager tilgængeligt"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Denne lagervare er opbrugt"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Har Batch Kode"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Vis elementer som har en batch kode"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Vis varer der er på lager"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr ""
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Vis elementer som har et serienummer"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
-msgstr ""
+msgstr "Filtrer elementer efter serienummer"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
-msgstr ""
+msgstr "Vis elementer med serienumre mindre end eller lig med en given værdi"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
-msgstr ""
+msgstr "Vis elementer med serienumre større end eller lig med en given værdi"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
-msgstr ""
+msgstr "Tildelt til Mig"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
-msgstr ""
+msgstr "Vis ordrer tildelt mig"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
-msgstr ""
+msgstr "Udestående"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr ""
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
-msgstr ""
+msgstr "Vis elementer før denne dato"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
-msgstr ""
+msgstr "Oprettet Før"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
-msgstr ""
+msgstr "Vis elementer oprettet før denne dato"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
-msgstr ""
+msgstr "Oprettet Efter"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
-msgstr ""
+msgstr "Vis elementer oprettet efter denne dato"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
-msgstr ""
+msgstr "Start dato før"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
-msgstr ""
+msgstr "Vis elementer med en startdato før denne dato"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
-msgstr ""
+msgstr "Start Dato Efter"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
-msgstr ""
+msgstr "Vis elementer med en startdato efter denne dato"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
-msgstr ""
+msgstr "Færdiggjort Før"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
-msgstr ""
+msgstr "Færdiggjort Efter"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Opdateret Efter"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Opdateret Før"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
-msgstr ""
+msgstr "Har Projektkode"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
-msgstr ""
+msgstr "Vis ordrer med en tildelt projektkode"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
-msgstr ""
+msgstr "Filtrer efter ordrestatus"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
-msgstr ""
+msgstr "Filtrer efter projekt kode"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
-msgstr ""
+msgstr "Filtrer efter ansvarlig ejer"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
-msgstr ""
+msgstr "Filtrer efter bruger"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
-msgstr ""
+msgstr "Filtrer efter producent"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
-msgstr ""
+msgstr "Filtrer efter leverandører"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
-msgstr ""
+msgstr "Filtrer efter bruger der oprettede ordren"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
-msgstr ""
+msgstr "Filtrer efter bruger der har udstedt ordren"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
-msgstr ""
+msgstr "Filtrer efter del kategori"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
-msgstr ""
+msgstr "Filtrer efter lagerplacering"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
-msgstr ""
+msgstr "Fjern filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
-msgstr ""
+msgstr "Vælg filter værdi"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
-msgstr ""
+msgstr "Indtast filter værdi"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
-msgstr ""
+msgstr "Vælg filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
-msgstr ""
+msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
-msgstr ""
+msgstr "Tilføj Filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
-msgstr ""
+msgstr "Nulstil filtre"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,9 +9382,13 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server returnerede forkert datatype"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
-msgstr ""
+msgstr "Fejl ved indlæsning af tabeldata"
#: src/tables/InvenTreeTable.tsx:594
#: src/tables/InvenTreeTable.tsx:595
@@ -9190,59 +9400,59 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Vis detaljer"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Vis {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
-msgstr ""
+msgstr "Slet valgte del"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
-msgstr ""
+msgstr "Er du sikker på at du ønsker at slette de valgte varer?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
-msgstr ""
+msgstr "Denne handling kan ikke fortrydes"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
-msgstr ""
+msgstr "Elementer slettet"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
-msgstr ""
+msgstr "Kunne ikke slette elementer"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
-msgstr ""
+msgstr "Aktive Filtre"
#: src/tables/TableHoverCard.tsx:35
#~ msgid "item-{idx}"
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
-msgstr ""
+msgstr "Del Information"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
+msgstr "Dette Stykliste element er ikke blevet valideret"
+
+#: src/tables/bom/BomTable.tsx:239
+msgid "Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
-msgid "Substitutes"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
msgstr ""
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
-msgstr ""
+msgstr "Ekstern Lager"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
+msgstr "Inkluderer erstatningsbeholdning"
+
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktiv Del"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
-msgstr ""
+msgstr "Vis varer med disponibelt lager"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
-msgstr ""
+msgstr "Valideret"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
-msgstr ""
+msgstr "Valgfri"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
-msgstr ""
+msgstr "Importere Stykliste Data"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
-msgstr ""
+msgstr "Tilføj stykliste element"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
-msgstr ""
+msgstr "Styklistevare oprette"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
-msgstr ""
+msgstr "Rediger stykliste element"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
-msgstr ""
+msgstr "Styklistevare opdateret"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
-msgstr ""
+msgstr "Slet styklistevare"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
-msgstr ""
+msgstr "Styklistevare slettet"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
-msgstr ""
+msgstr "Styklistevare valideret"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
-msgstr ""
+msgstr "Kunne ikke validere styklistevare"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
-msgstr ""
+msgstr "Vis stykliste"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:633
-msgid "Add a single BOM item"
-msgstr ""
+msgstr "Tilføj styklistevare"
#: src/tables/bom/BomTable.tsx:637
+msgid "Add a single BOM item"
+msgstr "Tilføj et enkelt Stykliste element"
+
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
-msgstr ""
+msgstr "Importer fra fil"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
-msgstr ""
+msgstr "Importer Stykliste elementer fra en fil"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
-msgstr ""
+msgstr "Styklisten kan ikke redigeres, da delen er låst"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
-msgstr ""
+msgstr "Sporbar"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
-msgstr ""
+msgstr "Ordre status"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,10 +9777,10 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "Fjern Allokeret Lager"
#: src/tables/build/BuildAllocatedStockTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:663
@@ -9572,35 +9788,41 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
+msgstr "Er du sikker på, at du vil fjerne denne allokerede lager fra ordren?"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
-msgstr ""
+msgstr "Forbrug"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
-msgstr ""
+msgstr "Fjern allokeret lager"
#: src/tables/build/BuildLineTable.tsx:59
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,126 +9830,140 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
-msgstr ""
+msgstr "I produktion"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
-msgstr ""
+msgstr "Stykliste Information"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
-msgstr ""
+msgstr "Vis Del"
#: src/tables/build/BuildOrderTable.tsx:116
#~ msgid "Cascade"
@@ -9756,39 +9992,39 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
-msgstr ""
+msgstr "Har startdato"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
-msgstr ""
+msgstr "Vis ordrer med en startdato"
#: src/tables/build/BuildOrderTable.tsx:179
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,171 +10032,175 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Skrot valgte outputs"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Annuller valgte output"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Allokere"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
-msgstr ""
+msgstr "Skrot"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
-msgstr ""
+msgstr "Skrot bygge output"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
-msgstr ""
+msgstr "Annuller bygge output"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
-msgstr ""
+msgstr "Påkrævede Test"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
#: src/tables/company/AddressTable.tsx:122
#: src/tables/company/AddressTable.tsx:187
msgid "Add Address"
-msgstr ""
+msgstr "Tilføj Adresse"
#: src/tables/company/AddressTable.tsx:127
msgid "Address created"
-msgstr ""
+msgstr "Adresse oprettet"
#: src/tables/company/AddressTable.tsx:136
msgid "Edit Address"
-msgstr ""
+msgstr "Rediger Adresse"
#: src/tables/company/AddressTable.tsx:144
msgid "Delete Address"
-msgstr ""
+msgstr "Slet Adresse"
#: src/tables/company/AddressTable.tsx:145
msgid "Are you sure you want to delete this address?"
-msgstr ""
-
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
+msgstr "Er du sikker på at du vil slette denne adresse?"
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Tilføj firma"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
-msgstr ""
+msgstr "Vis aktive virksomheder"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
-msgstr ""
+msgstr "Vis virksomheder, som er leverandører"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
-msgstr ""
+msgstr "Vis virksomheder, som er producenter"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
-msgstr ""
+msgstr "Vis virksomheder der er kunder"
#: src/tables/company/ContactTable.tsx:99
msgid "Edit Contact"
-msgstr ""
+msgstr "Redigere Kontakt"
#: src/tables/company/ContactTable.tsx:106
msgid "Add Contact"
-msgstr ""
+msgstr "Tilføj kontakt"
#: src/tables/company/ContactTable.tsx:117
msgid "Delete Contact"
-msgstr ""
+msgstr "Slet Kontakt"
#: src/tables/company/ContactTable.tsx:158
msgid "Add contact"
-msgstr ""
+msgstr "Tilføj Kontakt"
#: src/tables/general/AttachmentTable.tsx:108
msgid "Uploading file {filename}"
-msgstr ""
+msgstr "Uploader filen {filename}"
#: src/tables/general/AttachmentTable.tsx:139
#~ msgid "File uploaded"
@@ -9973,23 +10213,23 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:160
#: src/tables/general/AttachmentTable.tsx:174
msgid "Uploading File"
-msgstr ""
+msgstr "Uploader filen"
#: src/tables/general/AttachmentTable.tsx:185
msgid "File Uploaded"
-msgstr ""
+msgstr "Filen Uploadet"
#: src/tables/general/AttachmentTable.tsx:186
msgid "File {name} uploaded successfully"
-msgstr ""
+msgstr "Filen {name} blev uploadet"
#: src/tables/general/AttachmentTable.tsx:202
msgid "File could not be uploaded"
-msgstr ""
+msgstr "Filen kunne ikke uploades"
#: src/tables/general/AttachmentTable.tsx:253
msgid "Upload Attachment"
-msgstr ""
+msgstr "Upload Vedhæftning"
#: src/tables/general/AttachmentTable.tsx:254
#~ msgid "Upload attachment"
@@ -9997,11 +10237,11 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:263
msgid "Edit Attachment"
-msgstr ""
+msgstr "Rediger Vedhæftning"
#: src/tables/general/AttachmentTable.tsx:277
msgid "Delete Attachment"
-msgstr ""
+msgstr "Slet vedhæftning"
#: src/tables/general/AttachmentTable.tsx:287
msgid "Is Link"
@@ -10021,15 +10261,15 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:302
msgid "Add attachment"
-msgstr ""
+msgstr "Tilføj vedhæftning"
#: src/tables/general/AttachmentTable.tsx:313
msgid "Add external link"
-msgstr ""
+msgstr "Tilføj eksternt link"
#: src/tables/general/AttachmentTable.tsx:361
msgid "No attachments found"
-msgstr ""
+msgstr "Ingen vedhæftning fundet"
#: src/tables/general/AttachmentTable.tsx:400
msgid "Drag attachment file here to upload"
@@ -10041,33 +10281,33 @@ msgstr ""
#: src/tables/general/BarcodeScanTable.tsx:50
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/tables/general/BarcodeScanTable.tsx:75
msgid "View Item"
-msgstr ""
+msgstr "Vis varer"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10094,65 +10334,65 @@ msgstr ""
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Importer Parametre"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
-msgstr ""
+msgstr "Tilføj Parameter"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
-msgstr ""
+msgstr "Rediger Parameter"
#: src/tables/general/ParameterTable.tsx:183
#: src/tables/general/ParameterTable.tsx:230
msgid "Delete Parameter"
-msgstr ""
+msgstr "Slet Parameter"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Tilføj Parameter"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Opret Parameter"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Opret ny parameter"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Importer parametre fra en fil"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
msgid "Add Parameter Template"
-msgstr ""
+msgstr "Tilføj Parameter Skabelon"
#: src/tables/general/ParameterTemplateTable.tsx:64
msgid "Duplicate Parameter Template"
-msgstr ""
+msgstr "Dupliker Parameter Skabelon"
#: src/tables/general/ParameterTemplateTable.tsx:78
msgid "Delete Parameter Template"
-msgstr ""
+msgstr "Slet Parameter Skabelon"
#: src/tables/general/ParameterTemplateTable.tsx:85
msgid "Edit Parameter Template"
-msgstr ""
+msgstr "Rediger Parameter Skabelon"
#: src/tables/general/ParameterTemplateTable.tsx:138
msgid "Checkbox"
-msgstr ""
+msgstr "Tjekboks"
#: src/tables/general/ParameterTemplateTable.tsx:139
msgid "Show checkbox templates"
-msgstr ""
+msgstr "Vis tjekboks skabeloner"
#: src/tables/general/ParameterTemplateTable.tsx:143
msgid "Has choices"
@@ -10160,20 +10400,20 @@ msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:144
msgid "Show templates with choices"
-msgstr ""
+msgstr "Vis skabeloner med valgmuligheder"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:149
msgid "Show templates with units"
-msgstr ""
+msgstr "Vis skabeloner med enheder"
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "Vis aktiverede skabeloner"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10187,15 +10427,15 @@ msgstr ""
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
-msgstr ""
+msgstr "Klik for at redigere"
#: src/tables/general/ParametricDataTableFilters.tsx:36
msgid "True"
-msgstr ""
+msgstr "Sand"
#: src/tables/general/ParametricDataTableFilters.tsx:37
msgid "False"
-msgstr ""
+msgstr "Falsk"
#: src/tables/general/ParametricDataTableFilters.tsx:47
#: src/tables/general/ParametricDataTableFilters.tsx:80
@@ -10204,7 +10444,7 @@ msgstr ""
#: src/tables/general/ParametricDataTableFilters.tsx:100
msgid "Enter a value"
-msgstr ""
+msgstr "Indtast en værdi"
#: src/tables/machine/MachineListTable.tsx:133
msgid "Machine restarted"
@@ -10214,7 +10454,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:297
#: src/tables/machine/MachineListTable.tsx:729
msgid "Edit machine"
-msgstr ""
+msgstr "Rediger Maskine"
#: src/tables/machine/MachineListTable.tsx:235
#~ msgid "Are you sure you want to remove the machine \"{0}\"?"
@@ -10223,26 +10463,26 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:249
#: src/tables/machine/MachineListTable.tsx:301
msgid "Delete machine"
-msgstr ""
+msgstr "Slet Maskine"
#: src/tables/machine/MachineListTable.tsx:250
#: src/tables/machine/MachineListTable.tsx:692
msgid "Machine successfully deleted."
-msgstr ""
+msgstr "Maskinen blev slettet."
#: src/tables/machine/MachineListTable.tsx:255
#: src/tables/machine/MachineListTable.tsx:697
msgid "Are you sure you want to remove this machine?"
-msgstr ""
+msgstr "Er du sikker på, at du vil fjerne denne maskine?"
#: src/tables/machine/MachineListTable.tsx:285
msgid "Machine"
-msgstr ""
+msgstr "Maskine"
#: src/tables/machine/MachineListTable.tsx:290
#: src/tables/machine/MachineListTable.tsx:568
msgid "Restart required"
-msgstr ""
+msgstr "Genstart påkrævet"
#: src/tables/machine/MachineListTable.tsx:291
#~ msgid "Machine information"
@@ -10254,15 +10494,15 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:306
msgid "Restart"
-msgstr ""
+msgstr "Genstart"
#: src/tables/machine/MachineListTable.tsx:308
msgid "Restart machine"
-msgstr ""
+msgstr "Genstart maskine"
#: src/tables/machine/MachineListTable.tsx:310
msgid "manual restart required"
-msgstr ""
+msgstr "Manuel genstart påkrævet"
#: src/tables/machine/MachineListTable.tsx:315
#~ msgid "Machine Information"
@@ -10270,7 +10510,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:343
msgid "General"
-msgstr ""
+msgstr "Generelt"
#: src/tables/machine/MachineListTable.tsx:353
#: src/tables/machine/MachineListTable.tsx:804
@@ -10288,11 +10528,11 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:410
#: src/tables/machine/MachineTypeTable.tsx:305
msgid "No errors reported"
-msgstr ""
+msgstr "Ingen fejl rapporteret"
#: src/tables/machine/MachineListTable.tsx:431
msgid "Properties"
-msgstr ""
+msgstr "Egenskaber"
#: src/tables/machine/MachineListTable.tsx:494
#~ msgid "Create machine"
@@ -10300,7 +10540,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:521
msgid "Driver Settings"
-msgstr ""
+msgstr "Driver Indstillinger"
#: src/tables/machine/MachineListTable.tsx:561
#~ msgid "Machine detail"
@@ -10308,32 +10548,32 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:648
msgid "Add Machine"
-msgstr ""
+msgstr "Tilføj Maskine"
#: src/tables/machine/MachineListTable.tsx:691
#: src/tables/machine/MachineListTable.tsx:736
msgid "Delete Machine"
-msgstr ""
+msgstr "Slet Maskine"
#: src/tables/machine/MachineListTable.tsx:704
msgid "Edit Machine"
-msgstr ""
+msgstr "Rediger Maskine"
#: src/tables/machine/MachineListTable.tsx:718
msgid "Restart Machine"
-msgstr ""
+msgstr "Genstart maskine"
#: src/tables/machine/MachineListTable.tsx:749
msgid "Add machine"
-msgstr ""
+msgstr "Tilføj Maskine"
#: src/tables/machine/MachineListTable.tsx:765
msgid "Machine Detail"
-msgstr ""
+msgstr "Maskine Detaljer"
#: src/tables/machine/MachineListTable.tsx:813
msgid "Driver"
-msgstr ""
+msgstr "Driver"
#: src/tables/machine/MachineTypeTable.tsx:72
msgid "Driver Type"
@@ -10349,7 +10589,7 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:126
msgid "Not Found"
-msgstr ""
+msgstr "Ikke Fundet"
#: src/tables/machine/MachineTypeTable.tsx:129
msgid "Machine type not found."
@@ -10371,16 +10611,16 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:165
#: src/tables/machine/MachineTypeTable.tsx:274
msgid "Provider plugin"
-msgstr ""
+msgstr "Leverandør plugin"
#: src/tables/machine/MachineTypeTable.tsx:177
#: src/tables/machine/MachineTypeTable.tsx:286
msgid "Provider file"
-msgstr ""
+msgstr "Leverandør fil"
#: src/tables/machine/MachineTypeTable.tsx:192
msgid "Available Drivers"
-msgstr ""
+msgstr "Tilgængelige Drivere"
#: src/tables/machine/MachineTypeTable.tsx:232
msgid "Machine driver not found."
@@ -10416,17 +10656,17 @@ msgstr ""
#: src/tables/notifications/NotificationTable.tsx:26
msgid "Age"
-msgstr ""
+msgstr "Alder"
#: src/tables/notifications/NotificationTable.tsx:37
msgid "Notification"
-msgstr ""
+msgstr "Notifikation"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
-msgstr ""
+msgstr "Besked"
#: src/tables/part/ParametricPartTable.tsx:20
msgid "Show active parts"
@@ -10467,64 +10707,64 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
-msgstr ""
+msgstr "Vis Byggeordre"
#: src/tables/part/PartCategoryTable.tsx:51
msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
-msgstr ""
+msgstr "Inkluder underkategorier"
#: src/tables/part/PartCategoryTable.tsx:85
msgid "Include subcategories in results"
-msgstr ""
+msgstr "Inkluder underkategorier i resultaterne"
#: src/tables/part/PartCategoryTable.tsx:90
msgid "Show structural categories"
-msgstr ""
+msgstr "Vis strukturelle kategorier"
#: src/tables/part/PartCategoryTable.tsx:95
msgid "Show categories to which the user is subscribed"
-msgstr ""
+msgstr "Vis kategorier, som brugeren abonnerer på"
#: src/tables/part/PartCategoryTable.tsx:104
msgid "New Part Category"
-msgstr ""
+msgstr "Ny Del Kategori"
#: src/tables/part/PartCategoryTable.tsx:130
msgid "Set Parent Category"
-msgstr ""
+msgstr "Sæt Overordnet Kategori"
#: src/tables/part/PartCategoryTable.tsx:148
#: src/tables/stock/StockLocationTable.tsx:147
msgid "Set Parent"
-msgstr ""
+msgstr "Sæt Overordnet"
#: src/tables/part/PartCategoryTable.tsx:150
msgid "Set parent category for the selected items"
-msgstr ""
+msgstr "Sæt overordnet kategori for de valgte elementer"
#: src/tables/part/PartCategoryTable.tsx:161
msgid "Add Part Category"
-msgstr ""
+msgstr "Tilføj Del Kategori"
#: src/tables/part/PartCategoryTemplateTable.tsx:49
#: src/tables/part/PartCategoryTemplateTable.tsx:143
msgid "Add Category Parameter"
-msgstr ""
+msgstr "Tilføj Kategori Parameter"
#: src/tables/part/PartCategoryTemplateTable.tsx:57
msgid "Edit Category Parameter"
-msgstr ""
+msgstr "Rediger Kategori Parameter"
#: src/tables/part/PartCategoryTemplateTable.tsx:65
msgid "Delete Category Parameter"
-msgstr ""
+msgstr "Slet Kategori Parameter"
#: src/tables/part/PartCategoryTemplateTable.tsx:93
#~ msgid "[{0}]"
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
-msgstr ""
+msgstr "Vis Salgsordre"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
-msgstr ""
+msgstr "Filtrer efter aktiv emnestatus"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
-msgstr ""
+msgstr "Filtrer efter låset emnestatus"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
-msgid "BOM Valid"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:216
+msgid "BOM Valid"
+msgstr "Stykliste Valid"
+
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
-msgstr ""
+msgstr "Filtrer efter dele, der har lager"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
-msgstr ""
+msgstr "Filtrer efter dele med lavt lager"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
-msgid "Is Template"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:292
-msgid "Filter by parts which are templates"
-msgstr ""
+msgid "Is Template"
+msgstr "Er Skabelon"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:293
+msgid "Filter by parts which are templates"
+msgstr "Filtrer efter dele, som er skabeloner"
+
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
-msgid "Has Revisions"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:309
+msgid "Has Revisions"
+msgstr "Har Revisioner"
+
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,80 +10941,80 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
-msgstr ""
+msgstr "Importer Dele"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
-msgstr ""
+msgstr "Tilføj Dele"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
-msgstr ""
+msgstr "Opret Del"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
-msgstr ""
+msgstr "Opret ny del"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
-msgstr ""
+msgstr "Importer dele fra en fil"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
-msgstr ""
+msgstr "Importer fra leverandør"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
-msgstr ""
+msgstr "Importer dele fra leverandør plugin"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
-msgstr ""
+msgstr "Tilføj Testresultat"
#: src/tables/part/PartTestResultTable.tsx:110
#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result added"
-msgstr ""
+msgstr "Testresultater tilføjet"
#: src/tables/part/PartTestResultTable.tsx:142
msgid "Add Test Results"
-msgstr ""
+msgstr "Tilføj Testresultater"
#: src/tables/part/PartTestResultTable.tsx:152
msgid "Test results added"
-msgstr ""
+msgstr "Testresultater tilføjet"
#: src/tables/part/PartTestResultTable.tsx:180
#: src/tables/stock/StockItemTestResultTable.tsx:197
msgid "No Result"
-msgstr ""
+msgstr "Ingen Resultater"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10784,35 +11024,35 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:70
msgid "Template Details"
-msgstr ""
+msgstr "Skabelon Detaljer"
#: src/tables/part/PartTestTemplateTable.tsx:80
msgid "Results"
-msgstr ""
+msgstr "Resultater"
#: src/tables/part/PartTestTemplateTable.tsx:113
msgid "Show required tests"
-msgstr ""
+msgstr "Vis påkrævede tests"
#: src/tables/part/PartTestTemplateTable.tsx:118
msgid "Show enabled tests"
-msgstr ""
+msgstr "Vis aktiverede tests"
#: src/tables/part/PartTestTemplateTable.tsx:122
msgid "Requires Value"
-msgstr ""
+msgstr "Kræver Værdi"
#: src/tables/part/PartTestTemplateTable.tsx:123
msgid "Show tests that require a value"
-msgstr ""
+msgstr "Vis tests der kræver en værdi"
#: src/tables/part/PartTestTemplateTable.tsx:127
msgid "Requires Attachment"
-msgstr ""
+msgstr "Kræver Vedhæftning"
#: src/tables/part/PartTestTemplateTable.tsx:128
msgid "Show tests that require an attachment"
-msgstr ""
+msgstr "Vis tests der kræver en vedhæftet fil"
#: src/tables/part/PartTestTemplateTable.tsx:132
msgid "Include Inherited"
@@ -10824,32 +11064,32 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:137
msgid "Has Results"
-msgstr ""
+msgstr "Har Resultater"
#: src/tables/part/PartTestTemplateTable.tsx:138
msgid "Show tests which have recorded results"
-msgstr ""
+msgstr "Vis tests som har registreret resultater"
#: src/tables/part/PartTestTemplateTable.tsx:160
#: src/tables/part/PartTestTemplateTable.tsx:243
msgid "Add Test Template"
-msgstr ""
+msgstr "Tilføj Test Skabelon"
#: src/tables/part/PartTestTemplateTable.tsx:176
msgid "Edit Test Template"
-msgstr ""
+msgstr "Rediger Test Skabelon"
#: src/tables/part/PartTestTemplateTable.tsx:187
msgid "Delete Test Template"
-msgstr ""
+msgstr "Slet Test Skabelon"
#: src/tables/part/PartTestTemplateTable.tsx:189
msgid "This action cannot be reversed"
-msgstr ""
+msgstr "Denne handling kan ikke fortrydes"
#: src/tables/part/PartTestTemplateTable.tsx:191
msgid "Any tests results associated with this template will be deleted"
-msgstr ""
+msgstr "Alle testresultater, der er knyttet til denne skabelon, vil blive slettet"
#: src/tables/part/PartTestTemplateTable.tsx:209
msgid "View Parent Part"
@@ -10857,23 +11097,31 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:263
msgid "Part templates cannot be edited, as the part is locked"
+msgstr "Del skabeloner kan ikke redigeres, da delen er låst"
+
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
-msgid "Select"
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
msgstr ""
+#: src/tables/part/PartThumbTable.tsx:233
+msgid "Select"
+msgstr "Vælg"
+
#: src/tables/part/PartVariantTable.tsx:16
msgid "Show active variants"
msgstr ""
#: src/tables/part/PartVariantTable.tsx:20
msgid "Template"
-msgstr ""
+msgstr "Skabelon"
#: src/tables/part/PartVariantTable.tsx:21
msgid "Show template variants"
-msgstr ""
+msgstr "Vis skabelonvarianter"
#: src/tables/part/PartVariantTable.tsx:26
msgid "Show virtual variants"
@@ -10886,7 +11134,7 @@ msgstr ""
#: src/tables/part/RelatedPartTable.tsx:104
#: src/tables/part/RelatedPartTable.tsx:137
msgid "Add Related Part"
-msgstr ""
+msgstr "Tilføj Relateret Del"
#: src/tables/part/RelatedPartTable.tsx:109
#~ msgid "Add related part"
@@ -10894,45 +11142,45 @@ msgstr ""
#: src/tables/part/RelatedPartTable.tsx:119
msgid "Delete Related Part"
-msgstr ""
+msgstr "Slet Relateret Del"
#: src/tables/part/RelatedPartTable.tsx:126
msgid "Edit Related Part"
-msgstr ""
+msgstr "Rediger Relateret Del"
#: src/tables/part/SelectionListTable.tsx:64
#: src/tables/part/SelectionListTable.tsx:115
msgid "Add Selection List"
-msgstr ""
+msgstr "Tilføj Valgliste"
#: src/tables/part/SelectionListTable.tsx:76
msgid "Edit Selection List"
-msgstr ""
+msgstr "Rediger Valgliste"
#: src/tables/part/SelectionListTable.tsx:84
msgid "Delete Selection List"
-msgstr ""
+msgstr "Slet Valgliste"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
-msgstr ""
+msgstr "Fase"
#: src/tables/plugin/PluginListTable.tsx:43
msgid "Plugin is active"
-msgstr ""
+msgstr "Plugin er aktiv"
#: src/tables/plugin/PluginListTable.tsx:49
msgid "Plugin is inactive"
-msgstr ""
+msgstr "Plugin er Inaktiv"
#: src/tables/plugin/PluginListTable.tsx:56
msgid "Plugin is not installed"
-msgstr ""
+msgstr "Plugin er ikke installeret"
#: src/tables/plugin/PluginListTable.tsx:78
#: src/tables/settings/ExportSessionTable.tsx:33
msgid "Plugin"
-msgstr ""
+msgstr "Plugin"
#: src/tables/plugin/PluginListTable.tsx:95
#~ msgid "Plugin with key {pluginKey} not found"
@@ -10943,9 +11191,9 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
-msgstr ""
+msgstr "Obligatorisk"
#: src/tables/plugin/PluginListTable.tsx:113
#~ msgid "Plugin with id {id} not found"
@@ -10953,7 +11201,7 @@ msgstr ""
#: src/tables/plugin/PluginListTable.tsx:120
msgid "Description not available"
-msgstr ""
+msgstr "Beskrivelse ikke tilgængelig"
#: src/tables/plugin/PluginListTable.tsx:122
#~ msgid "Plugin information"
@@ -10973,127 +11221,127 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
-msgid "Confirm plugin activation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
+msgid "Confirm plugin activation"
+msgstr "Bekræft aktivering af plugin"
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr ""
+msgid "Confirm plugin deactivation"
+msgstr "Bekræft deaktivering af plugin"
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Det valgte plugin vil blive aktiveret"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Det valgte plugin vil blive deaktiveret"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
+msgstr "Deaktiver"
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktiver"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Aktiver det valgte plugin"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
-msgstr ""
+msgstr "Opdater valgte plugin"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
-msgstr ""
+msgstr "Afinstaller"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
-msgstr ""
+msgstr "Afinstaller det valgte plugin"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
-msgstr ""
+msgstr "Slet valgte plugin konfiguration"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
-msgstr ""
+msgstr "Aktiver Plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
-msgstr ""
+msgstr "Plugin blev aktiveret"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
-msgstr ""
+msgstr "Plugin blev deaktiveret"
#: src/tables/plugin/PluginListTable.tsx:280
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:294
-msgid "Install"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:295
-msgid "Plugin installed successfully"
-msgstr ""
+msgstr "Installer plugin"
#: src/tables/plugin/PluginListTable.tsx:300
+msgid "Install"
+msgstr "Installer"
+
+#: src/tables/plugin/PluginListTable.tsx:301
+msgid "Plugin installed successfully"
+msgstr "Plugin blev installeret"
+
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
-msgstr ""
+msgstr "Afinstaller Plugin"
#: src/tables/plugin/PluginListTable.tsx:308
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
-msgstr ""
+msgstr "Bekræft afinstallation af plugin"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
-msgstr ""
+msgstr "Det valgte plugin vil blive afinstalleret."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
-msgstr ""
+msgstr "Plugin blev afinstalleret"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
-msgstr ""
+msgstr "Slet Plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
-msgstr ""
+msgstr "Sletning af denne plugin konfiguration vil fjerne alle tilknyttede indstillinger og data. Er du sikker på, at du vil slette dette plugin?"
#: src/tables/plugin/PluginListTable.tsx:338
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
-msgstr ""
+msgstr "Plugins genindlæst"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
-msgstr ""
+msgstr "Plugins blev genindlæst"
#: src/tables/plugin/PluginListTable.tsx:354
#~ msgid "The following plugin will be activated"
@@ -11103,9 +11351,9 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
-msgstr ""
+msgstr "Genindlæs Plugins"
#: src/tables/plugin/PluginListTable.tsx:376
#~ msgid "Activating plugin"
@@ -11115,9 +11363,9 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
-msgstr ""
+msgstr "Plugin Detaljer"
#: src/tables/plugin/PluginListTable.tsx:392
#~ msgid "Plugin updated"
@@ -11127,14 +11375,14 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
-msgstr ""
+msgstr "Prøve"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
-msgstr ""
+msgstr "Installeret"
#: src/tables/plugin/PluginListTable.tsx:615
#~ msgid "Plugin detail"
@@ -11152,32 +11400,26 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
-msgstr ""
+msgstr "Producentens varenummer"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
-msgstr ""
+msgstr "Vis producentens dele til aktive interne dele."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
-msgstr ""
+msgstr "Aktiv Producent"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
-msgstr ""
+msgstr "Vis producentens dele for aktive producenter."
#: src/tables/purchasing/ManufacturerPartTable.tsx:63
#~ msgid "Create Manufacturer Part"
@@ -11196,25 +11438,25 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
-msgstr ""
+msgstr "Importer Linjeelementer"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:237
msgid "Supplier Code"
-msgstr ""
+msgstr "Leverandør Kode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
-msgstr ""
+msgstr "Leverandør Link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
-msgstr ""
+msgstr "Producentens Kode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
-msgstr ""
+msgstr "Vis linjeelementer som er modtaget"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:344
#: src/tables/sales/ReturnOrderLineItemTable.tsx:160
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
-msgstr ""
+msgstr "Modtag linje element"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
-msgstr ""
+msgstr "Modtag varer"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
+msgstr "Basis enheder"
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
-msgid "Show active supplier parts"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:221
-msgid "Show active internal parts"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Tilføj leverandørdel"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Import leverandør del"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
+msgid "Show active supplier parts"
+msgstr "Vis aktive leverandør dele"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
+msgid "Show active internal parts"
+msgstr "Vis aktive interne dele"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
-msgstr ""
+msgstr "Aktiv Leverandør"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
-msgstr ""
+msgstr "Vis aktive leverandører"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
-msgstr ""
+msgstr "Vis leverandørdele med lager"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
-msgstr ""
+msgstr "Modtaget Dato"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
-msgstr ""
+msgstr "Vis elementer som er modtaget"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
-msgstr ""
+msgstr "Modtag valgte elementer"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
-msgstr ""
+msgstr "Modtag Vare"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
-msgstr ""
+msgstr "Tilgængelig Antal"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
-msgstr ""
+msgstr "Tildelt Antal"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
-msgstr ""
+msgstr "Ingen forsendelse"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
-msgstr ""
+msgstr "Ikke afsendt"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,48 +11579,52 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
-msgstr ""
+msgstr "Vis Forsendelser"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
-msgstr ""
+msgstr "Tildel til Forsendelse"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
-msgstr ""
+msgstr "Tildel til Forsendelse"
#: src/tables/sales/SalesOrderLineItemTable.tsx:280
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Tildel Serienummer"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11384,86 +11634,90 @@ msgstr ""
#: src/tables/sales/SalesOrderShipmentTable.tsx:79
msgid "Create Shipment"
+msgstr "Opret Forsendelse"
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
-msgstr ""
+msgstr "Elementer"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
-msgstr ""
+msgstr "Rediger forsendelse"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
-msgstr ""
+msgstr "Annuller forsendelse"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
-msgstr ""
+msgstr "Tilføj Forsendelse"
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
+msgid "Show shipments which have been checked"
+msgstr "Vis forsendelser som er blevet tjekket"
#: src/tables/sales/SalesOrderShipmentTable.tsx:300
-msgid "Show shipments which have been checked"
-msgstr ""
+msgid "Show shipments which have been shipped"
+msgstr "Vis forsendelser som er blevet sendt"
#: src/tables/sales/SalesOrderShipmentTable.tsx:305
-msgid "Show shipments which have been shipped"
-msgstr ""
-
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
msgid "Show shipments which have been delivered"
-msgstr ""
+msgstr "Vis forsendelser som er blevet leveret"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
-msgstr ""
+msgstr "Generer Token"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
-msgstr ""
+msgstr "Token genereret"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
-msgstr ""
+msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
-msgstr ""
+msgstr "I Brug"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
-msgstr ""
+msgstr "Sidst set"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
-msgstr ""
+msgstr "Udløber"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
-msgstr ""
+msgstr "Ophæv"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
-msgstr ""
+msgstr "Fejl ved ophævelse af token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
-msgstr ""
+msgstr "Tokens vises kun en gang - sørg for at notere det ned."
#: src/tables/settings/BarcodeScanHistoryTable.tsx:60
msgid "Barcode Information"
-msgstr ""
+msgstr "Stregkode Information"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:85
msgid "Endpoint"
@@ -11473,19 +11727,19 @@ msgstr ""
#: src/tables/settings/BarcodeScanHistoryTable.tsx:208
#: src/tables/stock/StockItemTestResultTable.tsx:191
msgid "Result"
-msgstr ""
+msgstr "Resultat"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:97
msgid "Context"
-msgstr ""
+msgstr "Kontekst"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:118
msgid "Response"
-msgstr ""
+msgstr "Svar"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:209
msgid "Filter by result"
-msgstr ""
+msgstr "Filtrer efter resultat"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:223
msgid "Delete Barcode Scan Record"
@@ -11493,19 +11747,19 @@ msgstr ""
#: src/tables/settings/BarcodeScanHistoryTable.tsx:249
msgid "Barcode Scan Details"
-msgstr ""
+msgstr "Stregkode Scan Detaljer"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:259
msgid "Logging Disabled"
-msgstr ""
+msgstr "Logning Deaktiveret"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:261
msgid "Barcode logging is not enabled"
-msgstr ""
+msgstr "Barkode logning er ikke aktiveret"
#: src/tables/settings/CustomStateTable.tsx:63
msgid "Status Group"
-msgstr ""
+msgstr "Status Gruppe"
#: src/tables/settings/CustomStateTable.tsx:84
msgid "Logical State"
@@ -11549,60 +11803,60 @@ msgstr ""
#: src/tables/settings/EmailTable.tsx:27
msgid "Sent"
-msgstr ""
+msgstr "Sendt"
#: src/tables/settings/EmailTable.tsx:29
msgid "Failed"
-msgstr ""
+msgstr "Fejlede"
#: src/tables/settings/EmailTable.tsx:33
msgid "Read"
-msgstr ""
+msgstr "Læs"
#: src/tables/settings/EmailTable.tsx:35
msgid "Confirmed"
-msgstr ""
+msgstr "Bekræftet"
#: src/tables/settings/EmailTable.tsx:43
#: src/tables/settings/EmailTable.tsx:58
msgid "Send Test Email"
-msgstr ""
+msgstr "Send Test E-Mail"
#: src/tables/settings/EmailTable.tsx:45
msgid "Email sent successfully"
-msgstr ""
+msgstr "E-mail afsendt"
#: src/tables/settings/EmailTable.tsx:71
msgid "Delete Email"
-msgstr ""
+msgstr "Slet E-Mail"
#: src/tables/settings/EmailTable.tsx:72
msgid "Email deleted successfully"
-msgstr ""
+msgstr "E-mail slettet"
#: src/tables/settings/EmailTable.tsx:80
msgid "Subject"
-msgstr ""
+msgstr "Emne"
#: src/tables/settings/EmailTable.tsx:85
msgid "To"
-msgstr ""
+msgstr "Til"
#: src/tables/settings/EmailTable.tsx:90
msgid "Sender"
-msgstr ""
+msgstr "Afsender"
#: src/tables/settings/EmailTable.tsx:122
msgid "Direction"
-msgstr ""
+msgstr "Retning"
#: src/tables/settings/EmailTable.tsx:125
msgid "Incoming"
-msgstr ""
+msgstr "Indkommende"
#: src/tables/settings/EmailTable.tsx:125
msgid "Outgoing"
-msgstr ""
+msgstr "Udgående"
#: src/tables/settings/ErrorTable.tsx:51
#~ msgid "Delete error report"
@@ -11614,28 +11868,28 @@ msgstr ""
#: src/tables/settings/ErrorTable.tsx:103
msgid "When"
-msgstr ""
+msgstr "Når"
#: src/tables/settings/ErrorTable.tsx:113
msgid "Error Information"
-msgstr ""
+msgstr "Fejl information"
#: src/tables/settings/ErrorTable.tsx:123
msgid "Delete Error Report"
-msgstr ""
+msgstr "Slet Fejlrapport"
#: src/tables/settings/ErrorTable.tsx:125
msgid "Are you sure you want to delete this error report?"
-msgstr ""
+msgstr "Er du sikker på du vil slette denne fejlrapport?"
#: src/tables/settings/ErrorTable.tsx:127
msgid "Error report deleted"
-msgstr ""
+msgstr "Fejlrapport slettet"
#: src/tables/settings/ErrorTable.tsx:146
#: src/tables/settings/FailedTasksTable.tsx:65
msgid "Error Details"
-msgstr ""
+msgstr "Fejldetaljer"
#: src/tables/settings/ExportSessionTable.tsx:28
msgid "Output Type"
@@ -11647,48 +11901,48 @@ msgstr ""
#: src/tables/settings/ExportSessionTable.tsx:59
msgid "Delete Output"
-msgstr ""
+msgstr "Slet Output"
#: src/tables/settings/FailedTasksTable.tsx:32
#: src/tables/settings/PendingTasksTable.tsx:28
#: src/tables/settings/ScheduledTasksTable.tsx:19
msgid "Task"
-msgstr ""
+msgstr "Opgave"
#: src/tables/settings/FailedTasksTable.tsx:38
#: src/tables/settings/PendingTasksTable.tsx:33
msgid "Task ID"
-msgstr ""
+msgstr "Opgave ID"
#: src/tables/settings/FailedTasksTable.tsx:42
#: src/tables/stock/StockItemTestResultTable.tsx:233
msgid "Started"
-msgstr ""
+msgstr "Startede"
#: src/tables/settings/FailedTasksTable.tsx:54
msgid "Attempts"
-msgstr ""
+msgstr "Forsøg"
#: src/tables/settings/FailedTasksTable.tsx:92
msgid "No Information"
-msgstr ""
+msgstr "Ingen Information"
#: src/tables/settings/FailedTasksTable.tsx:93
msgid "No error details are available for this task"
-msgstr ""
+msgstr "Ingen fejldetaljer er tilgængelige for denne opgave"
#: src/tables/settings/GroupTable.tsx:71
msgid "Group with id {id} not found"
-msgstr ""
+msgstr "Gruppe med id {id} ikke fundet"
#: src/tables/settings/GroupTable.tsx:73
msgid "An error occurred while fetching group details"
-msgstr ""
+msgstr "En fejl opstod under hentning af gruppedetaljer"
#: src/tables/settings/GroupTable.tsx:96
#: src/tables/settings/GroupTable.tsx:257
msgid "Name of the user group"
-msgstr ""
+msgstr "Navn på brugergruppen"
#: src/tables/settings/GroupTable.tsx:117
#~ msgid "Permission set"
@@ -11697,23 +11951,23 @@ msgstr ""
#: src/tables/settings/GroupTable.tsx:170
#: src/tables/settings/UserTable.tsx:315
msgid "Open Profile"
-msgstr ""
+msgstr "Åbn Profil"
#: src/tables/settings/GroupTable.tsx:185
msgid "Delete group"
-msgstr ""
+msgstr "Slet gruppe"
#: src/tables/settings/GroupTable.tsx:186
msgid "Group deleted"
-msgstr ""
+msgstr "Gruppe slettet"
#: src/tables/settings/GroupTable.tsx:188
msgid "Are you sure you want to delete this group?"
-msgstr ""
+msgstr "Er du sikker på, at du vil slette denne gruppe?"
#: src/tables/settings/GroupTable.tsx:200
msgid "Add group"
-msgstr ""
+msgstr "Tilføj gruppe"
#: src/tables/settings/GroupTable.tsx:213
#~ msgid "Edit group"
@@ -11721,28 +11975,28 @@ msgstr ""
#: src/tables/settings/GroupTable.tsx:221
msgid "Edit Group"
-msgstr ""
+msgstr "Rediger Gruppe"
#: src/tables/settings/GroupTable.tsx:253
msgid "Add Group"
-msgstr ""
+msgstr "Tilføj gruppe"
#: src/tables/settings/ImportSessionTable.tsx:38
msgid "Delete Import Session"
-msgstr ""
+msgstr "Slet import session"
#: src/tables/settings/ImportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:129
msgid "Create Import Session"
-msgstr ""
+msgstr "Opret Import Session"
#: src/tables/settings/ImportSessionTable.tsx:72
msgid "Uploaded"
-msgstr ""
+msgstr "Uploadet"
#: src/tables/settings/ImportSessionTable.tsx:83
msgid "Imported Rows"
-msgstr ""
+msgstr "Importerede Rækker"
#: src/tables/settings/ImportSessionTable.tsx:112
#: src/tables/settings/TemplateTable.tsx:369
@@ -11755,39 +12009,39 @@ msgstr ""
#: src/tables/settings/PendingTasksTable.tsx:47
msgid "Arguments"
-msgstr ""
+msgstr "Argumenter"
#: src/tables/settings/PendingTasksTable.tsx:61
msgid "Remove all pending tasks"
-msgstr ""
+msgstr "Fjern alle udestående opgaver"
#: src/tables/settings/PendingTasksTable.tsx:69
msgid "All pending tasks deleted"
-msgstr ""
+msgstr "Alle ventende opgaver slettet"
#: src/tables/settings/PendingTasksTable.tsx:76
msgid "Error while deleting all pending tasks"
-msgstr ""
+msgstr "Fejl under sletning af alle ventende opgaver"
#: src/tables/settings/ProjectCodeTable.tsx:58
msgid "Edit Project Code"
-msgstr ""
+msgstr "Rediger Projektkode"
#: src/tables/settings/ProjectCodeTable.tsx:66
msgid "Delete Project Code"
-msgstr ""
+msgstr "Slet Projektkode"
#: src/tables/settings/ProjectCodeTable.tsx:97
msgid "Add project code"
-msgstr ""
+msgstr "Tilføj Projektkode"
#: src/tables/settings/ScheduledTasksTable.tsx:28
msgid "Last Run"
-msgstr ""
+msgstr "Sidste kørsel"
#: src/tables/settings/ScheduledTasksTable.tsx:50
msgid "Next Run"
-msgstr ""
+msgstr "Næste Kørsel"
#: src/tables/settings/StocktakeReportTable.tsx:28
#~ msgid "Report"
@@ -11815,11 +12069,11 @@ msgstr ""
#: src/tables/settings/TemplateTable.tsx:165
msgid "Template not found"
-msgstr ""
+msgstr "Skabelon ikke fundet"
#: src/tables/settings/TemplateTable.tsx:167
msgid "An error occurred while fetching template details"
-msgstr ""
+msgstr "En fejl opstod under hentning af skabelon detaljer"
#: src/tables/settings/TemplateTable.tsx:243
#~ msgid "Add new"
@@ -11831,28 +12085,28 @@ msgstr ""
#: src/tables/settings/TemplateTable.tsx:261
msgid "Modify"
-msgstr ""
+msgstr "Modificer"
#: src/tables/settings/TemplateTable.tsx:262
msgid "Modify template file"
-msgstr ""
+msgstr "Modificer skabelon fil"
#: src/tables/settings/TemplateTable.tsx:313
#: src/tables/settings/TemplateTable.tsx:381
msgid "Edit Template"
-msgstr ""
+msgstr "Rediger Skabelon"
#: src/tables/settings/TemplateTable.tsx:321
msgid "Delete template"
-msgstr ""
+msgstr "Slet Skabelon"
#: src/tables/settings/TemplateTable.tsx:327
msgid "Add Template"
-msgstr ""
+msgstr "Tilføj skabelon"
#: src/tables/settings/TemplateTable.tsx:340
msgid "Add template"
-msgstr ""
+msgstr "Tilføj skabelon"
#: src/tables/settings/TemplateTable.tsx:363
msgid "Filter by enabled status"
@@ -11864,23 +12118,23 @@ msgstr ""
#: src/tables/settings/UserTable.tsx:123
msgid "Groups updated"
-msgstr ""
+msgstr "Grupper opdateret"
#: src/tables/settings/UserTable.tsx:124
msgid "User groups updated successfully"
-msgstr ""
+msgstr "Brugergrupper blev opdateret"
#: src/tables/settings/UserTable.tsx:131
msgid "Error updating user groups"
-msgstr ""
+msgstr "Fejl ved opdatering af brugergrupper"
#: src/tables/settings/UserTable.tsx:150
msgid "User with id {id} not found"
-msgstr ""
+msgstr "Bruger med id {id} blev ikke fundet"
#: src/tables/settings/UserTable.tsx:152
msgid "An error occurred while fetching user details"
-msgstr ""
+msgstr "En fejl opstod under hentning af brugeroplysninger"
#: src/tables/settings/UserTable.tsx:154
#~ msgid "No groups"
@@ -11888,35 +12142,35 @@ msgstr ""
#: src/tables/settings/UserTable.tsx:178
msgid "Is Active"
-msgstr ""
+msgstr "Er Aktiv"
#: src/tables/settings/UserTable.tsx:179
msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts."
-msgstr ""
+msgstr "Underskriver om denne bruger skal behandles som aktiv. Afmarker dette i stedet for at slette konti."
#: src/tables/settings/UserTable.tsx:183
msgid "Is Staff"
-msgstr ""
+msgstr "Er Personale"
#: src/tables/settings/UserTable.tsx:184
msgid "Designates whether the user can log into the django admin site."
-msgstr ""
+msgstr "Angiver, om brugeren kan logge ind på django admin websted."
#: src/tables/settings/UserTable.tsx:188
msgid "Is Superuser"
-msgstr ""
+msgstr "Er Superbruger"
#: src/tables/settings/UserTable.tsx:189
msgid "Designates that this user has all permissions without explicitly assigning them."
-msgstr ""
+msgstr "Angiver, at denne bruger har alle tilladelser uden eksplicit at tildele dem."
#: src/tables/settings/UserTable.tsx:199
msgid "You cannot edit the rights for the currently logged-in user."
-msgstr ""
+msgstr "Du kan ikke redigere rettighederne for den bruger, der aktuelt er logget ind."
#: src/tables/settings/UserTable.tsx:218
msgid "User Groups"
-msgstr ""
+msgstr "Brugergrupper"
#: src/tables/settings/UserTable.tsx:305
#~ msgid "Edit user"
@@ -11924,311 +12178,263 @@ msgstr ""
#: src/tables/settings/UserTable.tsx:332
msgid "Lock user"
-msgstr ""
+msgstr "Lås bruger"
#: src/tables/settings/UserTable.tsx:342
msgid "Unlock user"
-msgstr ""
+msgstr "Oplås bruger"
#: src/tables/settings/UserTable.tsx:358
msgid "Delete user"
-msgstr ""
+msgstr "Slet bruger"
#: src/tables/settings/UserTable.tsx:359
msgid "User deleted"
-msgstr ""
+msgstr "Bruger slettet"
#: src/tables/settings/UserTable.tsx:362
msgid "Are you sure you want to delete this user?"
-msgstr ""
+msgstr "Er du sikker på, du ønsker at slette denne bruger?"
#: src/tables/settings/UserTable.tsx:372
msgid "Set Password"
-msgstr ""
+msgstr "Angiv adgangskode"
#: src/tables/settings/UserTable.tsx:377
msgid "Password updated"
-msgstr ""
+msgstr "Adgangskode opdateret"
#: src/tables/settings/UserTable.tsx:388
msgid "Add user"
-msgstr ""
+msgstr "Tilføj bruger"
#: src/tables/settings/UserTable.tsx:401
msgid "Show active users"
-msgstr ""
+msgstr "Vis aktive brugere"
#: src/tables/settings/UserTable.tsx:406
msgid "Show staff users"
-msgstr ""
+msgstr "Vis personale brugere"
#: src/tables/settings/UserTable.tsx:411
msgid "Show superusers"
-msgstr ""
+msgstr "Vis superbruger"
#: src/tables/settings/UserTable.tsx:430
msgid "Edit User"
-msgstr ""
+msgstr "Rediger bruger"
#: src/tables/settings/UserTable.tsx:463
msgid "Add User"
-msgstr ""
+msgstr "Tilføj Bruger"
#: src/tables/settings/UserTable.tsx:471
msgid "Added user"
-msgstr ""
+msgstr "Tilføjet bruger"
#: src/tables/settings/UserTable.tsx:481
msgid "User updated"
-msgstr ""
+msgstr "Bruger opdateret"
#: src/tables/settings/UserTable.tsx:482
msgid "User updated successfully"
-msgstr ""
+msgstr "Bruger opdateret med succes"
#: src/tables/settings/UserTable.tsx:488
msgid "Error updating user"
-msgstr ""
+msgstr "Fejl ved opdatering af bruger"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
-msgstr ""
+msgstr "Installer Element"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
-msgstr ""
+msgstr "Element installeret"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
-msgstr ""
+msgstr "Afinstaller Element"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
-msgstr ""
+msgstr "Element afinstalleret"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
-msgstr ""
+msgstr "Afinstaller lagervare"
#: src/tables/stock/LocationTypesTable.tsx:44
#: src/tables/stock/LocationTypesTable.tsx:111
msgid "Add Location Type"
-msgstr ""
+msgstr "Tilføj Lokationstype"
#: src/tables/stock/LocationTypesTable.tsx:52
msgid "Edit Location Type"
-msgstr ""
+msgstr "Rediger Lokationstype"
#: src/tables/stock/LocationTypesTable.tsx:60
msgid "Delete Location Type"
-msgstr ""
+msgstr "Slet Lokationstype"
#: src/tables/stock/LocationTypesTable.tsx:68
msgid "Icon"
+msgstr "Ikon"
+
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Vis lager for aktive dele"
+
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Vis elementer som er blevet allokeret"
+
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Vis elementer, der er tilgængelige"
+
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Inkluder underlokationer"
+
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Inkluder lager i underlokationer"
+
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Udtømt"
+
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Vis varer der er i produktion"
+
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Vis elementer som er blevet brugt af en byggeordre"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Vis lagervarer som er installeret i andre varer"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Sendt til Kunden"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Vis varer som er blevet sendt til en kunde"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Vis sporede elementer"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Har Købspris"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Vis varer som har en købspris"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Vis vare som er udløbet"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Vis vare som er forældede"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Udløbet Før"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Vis elementer som er udløbet før denne dato"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Udløbet Efter"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Vis elementer som er udløbet efter denne dato"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Vis elementer opdateret før denne dato"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Vis elementer opdateret efter denne dato"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Ekstern Lokation"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Vis elementer på en ekstern lokation"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Bestil varer"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12275,81 +12481,81 @@ msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:144
msgid "Test"
-msgstr ""
+msgstr "Test"
#: src/tables/stock/StockItemTestResultTable.tsx:180
msgid "Test result for installed stock item"
-msgstr ""
+msgstr "Test resultat for installeret lagervare"
#: src/tables/stock/StockItemTestResultTable.tsx:211
msgid "Attachment"
-msgstr ""
+msgstr "Vedhæftning"
#: src/tables/stock/StockItemTestResultTable.tsx:227
msgid "Test station"
-msgstr ""
+msgstr "Test station"
#: src/tables/stock/StockItemTestResultTable.tsx:249
msgid "Finished"
-msgstr ""
+msgstr "Færdig"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
-msgstr ""
+msgstr "Rediger Testresultat"
#: src/tables/stock/StockItemTestResultTable.tsx:309
msgid "Test result updated"
-msgstr ""
+msgstr "Test resultat opdateret"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
-msgstr ""
+msgstr "Slet Testresultat"
#: src/tables/stock/StockItemTestResultTable.tsx:317
msgid "Test result deleted"
-msgstr ""
+msgstr "Test resultat slettet"
#: src/tables/stock/StockItemTestResultTable.tsx:331
msgid "Test Passed"
-msgstr ""
+msgstr "Test Gennemført"
#: src/tables/stock/StockItemTestResultTable.tsx:332
msgid "Test result has been recorded"
-msgstr ""
+msgstr "Testresultatet er blevet registreret"
#: src/tables/stock/StockItemTestResultTable.tsx:339
msgid "Failed to record test result"
-msgstr ""
+msgstr "Fejlet at registrere testresultatet"
#: src/tables/stock/StockItemTestResultTable.tsx:356
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
-msgstr ""
+msgstr "Vis resultater for påkrævede tests"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTestResultTable.tsx:414
-msgid "Passed"
-msgstr ""
+msgstr "Vis resultater for installerede lagervarer"
#: src/tables/stock/StockItemTestResultTable.tsx:415
-msgid "Show only passed tests"
-msgstr ""
+msgid "Passed"
+msgstr "Gennemført"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:416
+msgid "Show only passed tests"
+msgstr "Vis kun bestået tests"
+
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
-msgstr ""
+msgstr "Vis resultater for aktiverede tests"
#: src/tables/stock/StockLocationTable.tsx:38
#~ msgid "structural"
@@ -12357,7 +12563,7 @@ msgstr ""
#: src/tables/stock/StockLocationTable.tsx:39
msgid "Include sublocations in results"
-msgstr ""
+msgstr "Inkluder under lokation i resultater"
#: src/tables/stock/StockLocationTable.tsx:43
#~ msgid "external"
@@ -12365,44 +12571,52 @@ msgstr ""
#: src/tables/stock/StockLocationTable.tsx:44
msgid "Show structural locations"
-msgstr ""
+msgstr "Vis strukturelle lokationer"
#: src/tables/stock/StockLocationTable.tsx:49
msgid "Show external locations"
-msgstr ""
+msgstr "Vis eksterne lokationer"
#: src/tables/stock/StockLocationTable.tsx:53
msgid "Has location type"
-msgstr ""
+msgstr "Har lokationstype"
#: src/tables/stock/StockLocationTable.tsx:58
msgid "Filter by location type"
-msgstr ""
+msgstr "Filtrer efter lokationstype"
#: src/tables/stock/StockLocationTable.tsx:105
#: src/tables/stock/StockLocationTable.tsx:160
msgid "Add Stock Location"
-msgstr ""
+msgstr "Tilføj Lagerlokation"
#: src/tables/stock/StockLocationTable.tsx:129
msgid "Set Parent Location"
-msgstr ""
+msgstr "Sæt Overordnet Lokation"
#: src/tables/stock/StockLocationTable.tsx:149
msgid "Set parent location for the selected items"
+msgstr "Sæt overordnet placering for de valgte elementer"
+
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
-msgstr ""
+msgstr "Tilføjet"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
+msgstr "Fjernet"
+
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
-msgstr ""
+msgstr "Ingen brugerinformation"
#: src/tables/stock/TestStatisticsTable.tsx:34
#: src/tables/stock/TestStatisticsTable.tsx:64
@@ -12411,7 +12625,7 @@ msgstr ""
#: src/views/MobileAppView.tsx:25
msgid "Mobile viewport detected"
-msgstr ""
+msgstr "Mobil viewport fundet"
#: src/views/MobileAppView.tsx:25
#~ msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience."
@@ -12419,13 +12633,13 @@ msgstr ""
#: src/views/MobileAppView.tsx:28
msgid "InvenTree UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience."
-msgstr ""
+msgstr "InvenTree UI er optimeret til Tabletter og Desktops, du kan bruge den officielle app til en mobil oplevelse."
#: src/views/MobileAppView.tsx:34
msgid "Read the docs"
-msgstr ""
+msgstr "Læs dokumenterne"
#: src/views/MobileAppView.tsx:42
msgid "Ignore and continue to Desktop view"
-msgstr ""
+msgstr "Ignorer og fortsæt til skrivebordsvisning"
diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po
index 47fef582f8..38d40899a7 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Bearbeiten"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Löschen"
@@ -44,36 +44,36 @@ msgstr "Löschen"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Abbrechen"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Aktionen"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Suche"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Fehler"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ja"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nein"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Teil"
@@ -134,7 +138,7 @@ msgstr "Teil"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Teile"
@@ -149,14 +153,14 @@ msgstr "Teile"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parameter"
@@ -168,7 +172,7 @@ msgstr "Parameter Vorlage"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parameter Vorlagen"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Testvorlagen für Teil"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Zuliefererteil"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Zuliefererteile"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Herstellerteil"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Herstellerteile"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Teilkategorie"
@@ -218,19 +222,22 @@ msgstr "Teilkategorie"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Teil-Kategorien"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Lagerartikel"
@@ -238,22 +245,22 @@ msgstr "Lagerartikel"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Lagerartikel"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Lagerort"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Lagerorte"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Lagerort Typen"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Lagerhistorie"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Unternehmen"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Projekt-Code"
@@ -330,21 +337,21 @@ msgstr "Projektnummern"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Einkaufsbestellung"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Bestellpositionen"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Verkaufsauftrag"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Aufträge"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Versand der Bestellung"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Versand der Bestellungen"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Rückgabe Auftrag"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Reklamationen"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adresse"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adressen"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakte"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Eigentümer"
@@ -451,15 +458,15 @@ msgstr "Eigentümer"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Nutzer"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Templates melden"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Plugin-Konfiguration"
@@ -536,38 +543,38 @@ msgstr "Auswahlliste"
#: lib/enums/ModelInformation.tsx:285
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:21
msgid "Selection Lists"
-msgstr "Auswahlliste"
+msgstr "Auswahllisten"
#: lib/enums/ModelInformation.tsx:291
#: src/components/barcodes/BarcodeInput.tsx:114
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Bauaufträge"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Prozess fehlgeschlagen"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Prozess erfolgreich abgeschlossen"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Fehler beim darstellen der Komponente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Beim Rendern dieser Komponente ist ein Fehler aufgetreten. Weitere Informationen stehen in der Konsole."
@@ -637,7 +648,7 @@ msgstr "Barcode"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Scannen"
@@ -668,8 +679,8 @@ msgstr "Barcode-Daten eingeben"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Barcode scannen"
@@ -688,7 +699,7 @@ msgstr "Der Barcode stimmt nicht mit dem erwarteten Modelltyp überein"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Abgeschlossen"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Fehler beim Verknüpfen des Barcodes"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -754,7 +765,7 @@ msgstr "Die Verknüpfung zum zugehörigen Barcode wird entfernt"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Verknüpfung des Barcodes aufheben"
@@ -766,11 +777,11 @@ msgstr "Im Admin-Interface öffnen"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopiert"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopieren"
@@ -798,19 +809,15 @@ msgstr "Drucke Berichte"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Etiketten Drucken"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Drucken"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Drucken"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Bericht drucken"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Druck Aktionen"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Etiketten drucken"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Berichte drucken"
@@ -860,8 +867,8 @@ msgstr "Sie werden zum Anbieter weitergeleitet, um weitere Schritte durchzuführ
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Barcodescanner öffnen"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Benachrichtigungen abbestellen"
msgid "Subscribe to notifications"
msgstr "Benachrichtigungen abonnieren"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Kalenderfilter"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Vorheriger Monat"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Monat auswählen"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Nächsten Monat"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Daten herunterladen"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Fehler beim Aktualisieren der Bestellung"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Überfällig"
@@ -937,7 +949,7 @@ msgstr "Layout übernehmen"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Kein Widget verfügbar"
msgid "There are no more widgets available for the dashboard"
msgstr "Es sind keine weiteren Widgets für das Dashboard verfügbar"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Abonnierte Teile"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Zahl der abonnierten Teile anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Abonnierte Kategorien"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Zahl der abonnierten Teilekategorien anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "ungültige BOMs"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Geringer Bestand"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Zeige die Anzahl der Teile mit niedrigem Bestand"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "notwendige Teile für aktive Baubestellung anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Abgelaufene Lagerartikel"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Zahl der abgelaufenen Gegenstände anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "aktive Baubestellungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Zahl der aktiven Baubestellungen anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Überfällige Bauaufträge"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Zahl der überfälligen Baubestellungen anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Zugeordnete Baubestellungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Zahl der dir zugeordneten Baubestellungen anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Aktive Aufträge"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Zahl der gerade aktiven Aufträge anzeigen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Überfällige Bestellungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "zugeordnete Aufträge"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "aktive Aufträge"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Überfällige Bestellungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Zeige die Anzahl an Bestellungen, welche dir zugeordnet sind"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Aktive Rücksendungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Zeige die Anzahl an derzeit aktiven Rücksendungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Überfällige Rücksendungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Zeige die Anzahl an überfälligen Rücksendungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Zugeordnete Rücksendungen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Erste Schritte"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Erste Schritte mit InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Neuigkeiten"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Die neuesten News von InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Keine Neuigkeiten"
msgid "There are no unread news items"
msgstr "Es gibt keine ungelesenen Neuigkeiten"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Es gibt keine ungelesenen Neuigkeiten"
msgid "Superuser"
msgstr "Administrator"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Mitarbeiter"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email:"
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Kein Name festgelegt"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Verknüpftes Bild von diesem Teil entfernen?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Entfernen"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Ziehen und Ablegen zum Hochladen"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klicken, um Datei(en) auszuwählen"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Bild hochgeladen"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Bild wurde erfolgreich hochgeladen"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Upload fehlgeschlagen"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Leeren"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Speichern"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Aus vorhandenen Bildern auswählen"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Bild auswählen"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Remote-Bild herunterladen"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Neues Bild hochladen"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Bild hochladen"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Bild löschen"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Bild herunterladen"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Bild wurde erfolgreich heruntergeladen"
@@ -1546,7 +1589,7 @@ msgstr "Fehler für ein oder mehrere Formularfelder vorhanden"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Aktualisieren"
@@ -1579,21 +1622,21 @@ msgstr "Erfolgreich eingeloggt"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Login fehlgeschlagen"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Mail erfolgreich gesendet"
@@ -1628,7 +1671,7 @@ msgstr "Ihr Benutzername"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Passwort"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Passwort erneut eingeben"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registrieren"
@@ -1720,6 +1763,10 @@ msgstr "Registrierung nicht aktiv"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Dies kann mit fehlenden Mail-Einstellungen in Zusammenhang stehen oder eine bewusste Entscheidung sein."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Adresse"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API-Version"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Plugins"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Aktiviert"
@@ -1850,17 +1898,17 @@ msgstr "Gestoppt"
msgid "Running"
msgstr "Läuft"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Datei zum Hochladen auswählen"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Vorgeschlagenen Wert akzeptieren"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Datum auswählen"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Nicht kategorisiert"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Suchen..."
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr "{0} Symbole"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Wird geladen"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
@@ -1940,49 +1988,49 @@ msgstr "Daten ändern"
msgid "Delete Row"
msgstr "Zeile löschen"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Zeile"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Zeile enthält Fehler"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Annehmen"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Gültig"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtern nach Zeilenvalidierung"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Fertigstellen"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtern nach Zeilenvollständigkeit"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Ausgewählte Zeilen importieren"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Daten werden verarbeiten"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Ein Fehler ist aufgetreten"
@@ -2002,31 +2050,31 @@ msgstr "Spalte auswählen oder leer lassen, um dieses Feld zu ignorieren."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Dieses Feld ignorieren"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Spalten zu Datenbankfeldern zuordnen"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Spaltenzuordnung akzeptieren"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Datenbankfeld"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Feldbeschreibung"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Importierte Spalte"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Standard-Wert"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Spalten zuordnen"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Daten importieren"
+msgid "Import Rows"
+msgstr "Zeilen importieren"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Daten wurden erfolgreich importiert"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Schließen"
@@ -2104,8 +2152,8 @@ msgstr "Optionen"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Barcode-Aktionen"
@@ -2177,10 +2225,15 @@ msgstr "Unbekannter Fehler"
msgid "None"
msgstr "Nichts"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree's Logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Sprache auswählen"
@@ -2208,9 +2261,10 @@ msgstr "Gruppen-Rollen werden aktualisiert"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Aktualisiert"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Rolle"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Anzeigen"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Ändern"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Hinzufügen"
@@ -2255,14 +2309,14 @@ msgstr "Keine Gegengenstände"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Verfügbar"
@@ -2320,7 +2374,7 @@ msgstr "Links"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentation"
@@ -2523,7 +2577,7 @@ msgstr "Mehr über {code} erfahren"
msgid "Notifications"
msgstr "Benachrichtigungen"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nichts gefunden..."
@@ -2547,7 +2601,7 @@ msgstr "Einstellungen"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Benutzer-Einstellungen"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Einstellungen"
@@ -2578,14 +2632,14 @@ msgstr "Einstellungen"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Adminbereich"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Abmelden"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Lager"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fertigung"
@@ -2636,21 +2690,21 @@ msgstr "Fertigung"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Einkauf"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Verkäufe"
@@ -2701,11 +2755,11 @@ msgstr "Ergebnisse"
#: src/components/nav/SearchDrawer.tsx:144
msgid "Remove search group"
-msgstr ""
+msgstr "Suchgruppe entfernen"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Lieferanten"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Hersteller"
@@ -2749,7 +2803,7 @@ msgstr "Regex Suche"
#: src/components/nav/SearchDrawer.tsx:527
msgid "Notes search"
-msgstr ""
+msgstr "Notizen durchsuchen"
#: src/components/nav/SearchDrawer.tsx:575
msgid "An error occurred during search query"
@@ -2768,21 +2822,21 @@ msgstr "Keine Ergebnisse für Suchanfrage verfügbar"
msgid "Attachments"
msgstr "Anhänge"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notizen"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Verfügbares Plugin"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Panels einklappen"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Panels aufklappen"
@@ -2809,19 +2863,19 @@ msgstr "Plugin-Informationen"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Datum"
@@ -2845,48 +2899,54 @@ msgstr "Datum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktiv"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Webseite"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Paket Name"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Installationspfad"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Integriert"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paket"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Plugin Einstellungen"
@@ -2969,65 +3029,65 @@ msgstr "Unbekanntes Modell: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Sendung"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inaktiv"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Kein Bestand"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "In Bestellung"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "In Produktion"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Details"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategorie"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Lagerort"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Seriennummer"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Anzahl"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Losnummer"
@@ -3147,7 +3205,7 @@ msgstr ""
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "Melde einen Bug oder frage ein Feature auf Github an"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
@@ -3155,27 +3213,27 @@ msgstr ""
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Neue Gruppe erstellen"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Erstelle eine neue Gruppe, um Benutzer zu verwalten"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Neue Gruppe"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Neuen Benutzer erstellen"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Erstelle einen neuen Benutzer, um Gruppen zu verwalten"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Neuer Benutzter"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
@@ -3183,7 +3241,7 @@ msgstr ""
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Code hinzufügen"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Einstellungen bearbeiten"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Einstellung {key} erfolgreich aktualisiert"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Einstellung aktualisiert"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Einstellung {0} erfolgreich aktualisiert"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Fehler beim Bearbeiten der Einstellung"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Fehler beim Laden der Einstellungen."
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Keine Einstellung"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Es sind keine konfigurierbaren Einstellungen verfügbar"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Keine Einstellungen angegeben"
@@ -3593,7 +3659,7 @@ msgstr "Keine Einstellungen angegeben"
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Exakte Übereinstimmung"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
@@ -3601,26 +3667,26 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Bereits importiert"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Lieferant"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Lade..."
@@ -3630,16 +3696,16 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Zulieferer auswählen"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "{0} Ergebnisse gefunden"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Dieses Teil importieren"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
@@ -3651,7 +3717,7 @@ msgstr "Jetzt importieren"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "Wähle und editiere die Parameter die dem Teil hinzugefügt werden."
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
@@ -3667,7 +3733,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Überspringen"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Teil bearbeiten"
@@ -3701,7 +3767,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Importieren"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
@@ -3735,7 +3801,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "Zuliefererteil importieren"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
@@ -3743,7 +3809,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "Import bestätigen"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Auf Lager"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Benötigte Menge"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Neues Zulieferer-Teil"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Zuliefererteil erstellt"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Bitte korrigieren Sie die Fehler in den ausgewählten Teilen"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Teile bestellen"
@@ -4038,77 +4104,89 @@ msgstr "Teile bestellen"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Gehe zum InvenTree Dashboard"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Besuche die Dokumentation, um mehr über InvenTree zu erfahren"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Über die InvenTree Organisation"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Server Informationen"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Über diese InvenTree Instanz"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Lizenz Informationen"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Lizenzen für Abhängigkeiten des Services"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Navigation öffnen"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Hauptnavigationsmenü öffnen"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Barcode oder QR-Code scannen"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Barcode oder QR-Code scannen"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Zum Administrationsbereich"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "Über das InvenTree-Projekt"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Ersatz-Teil"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "BOM Ersatz-Teile bearbeiten"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Ersatz-Teil hinzufügen"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Ersatz-Teil hinzugefügt"
@@ -4374,53 +4452,53 @@ msgstr "Ersatz-Teil hinzugefügt"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Bauprodukt"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Bauprodukt fertigstellen"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Bauprodukte wurden fertiggestellt"
@@ -4428,143 +4506,133 @@ msgstr "Bauprodukte wurden fertiggestellt"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Bauprodukte verschrotten"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Bauprodukte wurden verschrottet"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Bauprodukte wurden verschrottet"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Bauprodukte abbrechen"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Bauprodukte wurden abgebrochen"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Zugewiesen"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Quell Lagerort"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Bestand zuweisen"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Lagerbestand verbrauchen"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Lagerbestand verbrauchen"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "komplett verbraucht"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "verbraucht"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "abonniert"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Benachrichtigungen für dieses Teil abonnieren"
@@ -4593,11 +4661,11 @@ msgstr "Benachrichtigungen für dieses Teil abonnieren"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Benachrichtigungen für diese Kategorie abonnieren"
@@ -4605,67 +4673,71 @@ msgstr "Benachrichtigungen für diese Kategorie abonnieren"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Losnummer- und Seriennummer zuweisen"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Losnummer zuweisen"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Lagerort wählen"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Teile-Zielort ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Standard-Lagerort der Teile-Kategorie ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Lagerort zuvor empfangener Artikel ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Standard-Lagerort ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Lagerort festlegen"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Losnummer zuweisen"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Ablaufdatum festlegen"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Verpackung anpassen"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Verpackung anpassen"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Status ändern"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Notiz hinzufügen"
@@ -4673,56 +4745,56 @@ msgstr "Notiz hinzufügen"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Am Standard-Lagerort einbuchen"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Bei bereits vorhandenen Lagerbestand einbuchen"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Losnummer"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Losnummern eingeben für empfangene Gegenstände"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Seriennummern"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Seriennummern eingeben für empfangene Gegenstände"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Ablaufdatum eingeben für empfangene Gegenstände"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Ablaufdatum eingeben für empfangene Gegenstände"
msgid "Packaging"
msgstr "Verpackung"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Notiz"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Erhalten"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Positionen empfangen"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Empfangene Gegenstände"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Teile empfangen"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Lieferung fertigstellen"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Angegebene Menge als Packungen anstatt einzelner Artikel hinzufügen"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Ausgangsmenge für diesen Lagerartikel eingeben"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Lagerbestand Status"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Lagerartikel hinzufügen"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Teil zur Installation auswählen"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Bestand-Transfer bestätigen"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Zum Standard-Lagerort verschieben"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Verschieben"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Zurück"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Anzahl"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Bestand hinzugefügt"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Menge der ausgewählten Bestandteile um einen bestimmten Betrag erhöhen"
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Bestand entfernt"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Menge der ausgewählten Bestandteile um einen bestimmten Betrag reduzieren"
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Bestand übertragen"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Ausgewählte Elemente an den angegebenen Ort übertragen."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Lagerbestand zurückgeben"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Lagerbestand zurückgegeben"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Bestand zählen"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Lagerbestand gezählt"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Bestandsstatus ändern"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Bestandstatus geändert"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Status der ausgewählten Lagerartikel ändern."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Bestand zusammenführen"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Lagerbestand zusammengeführt"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Lagerbestand zusammenführen"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Das Zusammenführen kann nicht rückgängig gemacht werden"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Tracking-Informationen können beim Zusammenführen von Elementen verloren gehen"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Lieferanteninformationen können beim Zusammenführen verloren gehen"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Lagerbestand einem Kunden zuweisen"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Lagerbestand wurde Kunden zugewiesen"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Bestand löschen"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Lagerbestand gelöscht"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Dieser Vorgang löscht die ausgewählten Lagerbestandteile unwiderruflich."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Seriennummer finden"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Keine passenden Elemente"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Mehrere passende Elemente"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Ungültige Antwort vom Server"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Liste der wählbaren Einträge"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Interner Serverfehler"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Bereits angemeldet"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Es gibt eine widersprüchliche Sitzung auf dem Server für diesen Browser. Bitte zuerst abmelden."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Ausgeloggt"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "MFA Anmeldung erfolgreich"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "MFA-Details wurden automatisch im Browser angegeben"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Ausgeloggt"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Erfolgreich abgemeldet"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Sprache geändert"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Die aktive Sprache wurde auf die Sprache des Profils geändert"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Design geändert"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Das aktive Design wurde zu dem im Profil eingestellten geändert"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Zurücksetzen fehlgeschlagen"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Bereits angemeldet"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Es gibt eine widersprüchliche Sitzung auf dem Server für diesen Browser. Bitte zuerst abmelden."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Angemeldet"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Erfolgreich angemeldet"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "MFA konnte nicht eingerichtet werden"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Passwort festgelegt"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Das Passwort wurde erfolgreich festgelegt. Sie können sich jetzt mit Ihrem neuen Passwort anmelden"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Passwort konnte nicht geändert werden"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Die beiden Passwortfelder stimmten nicht überein."
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Passwort geändert"
@@ -5210,23 +5320,14 @@ msgstr "Bei der Anfrage ist eine Zeitüberschreitung aufgetreten"
msgid "Exporting Data"
msgstr "Daten werden exportiert"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Daten exportieren"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Export"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Prozess fehlgeschlagen"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Prozess erfolgreich abgeschlossen"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Element angelegt"
@@ -5255,52 +5356,56 @@ msgstr "Sind Sie sicher, dass Sie dieses Element löschen möchten?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Gewählte Lagerartikel zählen"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Zu ausgewählten Lagerartikeln hinzufügen"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Von ausgewählten Lagerartikeln entfernen"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Ausgewählte Lagerartikel verschieben"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Ausgewählte Lagerartikel zusammenführen"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Status der ausgewählten Lagerartikel ändern"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Ausgewählte Lagerartikel einem Kunden zuweisen"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Ausgewählte Artikel ins Lager zurückgeben"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Ausgewählte Lagerartikel löschen"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Lager-Aktionen"
@@ -5357,15 +5462,15 @@ msgstr "Keine Auswahl"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Anmelden"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Anmeldung läuft"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Nicht registriert?"
@@ -5383,12 +5488,12 @@ msgstr "Nicht registriert?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Multi-Faktor-Authentifizierung"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP Code"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Position"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Typ"
@@ -5933,220 +6038,220 @@ msgstr "Profil bearbeiten"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Passwort eingeben"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Fehler beim Registrieren des TOTP-Token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "TOTP Token registrieren"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Wiederherstellungscodes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Zeitbasiertes Einmalpasswort"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Einmalige vorerzeugte Wiederherstellungscodes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Zuletzt verwendet am"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Erstellt am"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Nicht konfiguriert"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr "Einmalpasswort"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "TOPT-Code eingeben, um eine erfolgreiche Registrierung sicherzustellen"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E-Mail-Adressen"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-Mail-Adressen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Single Sign On"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Nicht aktiviert"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Single Sign On ist für diesen Server nicht aktiviert "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Nicht aktiviert"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Single Sign On ist für diesen Server nicht aktiviert "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Access Token"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Sitzungsinformationen"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Sitzungsinformationen"
msgid "Timestamp"
msgstr "Zeitstempel"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Methode"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Fehler beim Aktualisieren der E-Mail"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Derzeit sind keine E-Mail-Adressen registriert."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Die folgenden E-Mail-Adressen sind mit deinem Konto verknüpft:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primär"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verifiziert"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Unbestätigt"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Primär machen"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Senden Sie die Bestätigung erneut"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Emailadresse hinzufügen"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-Mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-Mail Adresse"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Fehler beim Hinzufügen der E-Mail"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Emailadresse hinzufügen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-Mail Adresse"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Fehler beim Hinzufügen der E-Mail"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "E-Mail hinzufügen"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Fehler beim Hinzufügen der E-Mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "E-Mail hinzufügen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Es sind keine Anbieter mit diesem Konto verbunden."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Sie können sich mit einem der folgenden Anbieter in Ihr Konto einloggen"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Anbieter-Link entfernen"
@@ -6420,7 +6526,7 @@ msgstr "Punkte"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Währung"
@@ -6685,30 +6791,34 @@ msgstr "An Modell anhängen"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Hintergrund-Prozess läuft nicht"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Der Hintergrund Taskmanager Service läuft nicht. Kontaktiere den Systemadministrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Hintergrund-Prozess läuft nicht"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Der Hintergrund Taskmanager Service läuft nicht. Kontaktiere den Systemadministrator."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Anstehende Aufgaben"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Geplante Aufgaben"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Fehlgeschlagene Aufgaben"
@@ -6805,6 +6915,16 @@ msgstr "Preise"
msgid "Labels"
msgstr "Beschriftungen"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Bestandsverfolgung"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "Das zusammengebaute Teil darf keine BOM definiert haben, oder das BOM is
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Version"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Version"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Version"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Version"
msgid "Custom Status"
msgstr "Benutzerdefinierter Status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Extern"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referenz"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Übergeordneter Bauauftrag"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Bauauftrag Anzahl"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Herstellbar"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Aufgegeben von"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Verantwortlich"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Beliebiger Lagerort"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Ziel Lagerort"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Erstellt"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Startdatum"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Zieldatum"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Ziel Lagerort"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Erstellt"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Startdatum"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Zieldatum"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Abgeschlossen"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Bauauftrag Details"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Benötigte Teile"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Zugewiesener Bestand"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Verbrauchte Bestände"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Unvollständige Endprodukte"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Externe Bestellungen"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Unter-Bauaufträge"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Testergebnisse"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Bauauftrag bearbeiten"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Neuer Bauauftrag"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Bauauftrag abbrechen"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Bestellung storniert"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Diese Bestellung stornieren"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Bauauftrag halten"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Diese Bestellung halten"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Bestellung gehalten"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Bauauftrag erstellen"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Diese Bestellung ausstellen"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Bestellung ausgestellt"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Diese Bestellung als vollständig markieren"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Bestellung abgeschlossen"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Bestellung aufgeben"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Bestellung abschließen"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Bauauftrag-Aktionen"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Bestellung bearbeiten"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Bestellung duplizieren"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Bestellung halten"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Bestellung stornieren"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Bauauftrag"
@@ -7207,7 +7327,7 @@ msgstr "Bauauftrag"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Externe Bauaufträge anzeigen"
@@ -7219,12 +7339,13 @@ msgstr "Externe Bauaufträge anzeigen"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Tabellenansicht"
@@ -7238,20 +7359,17 @@ msgstr "Kalenderansicht"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Webseite"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Telefonnummer"
@@ -7271,11 +7389,11 @@ msgstr "Standardwährung"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Hersteller"
@@ -7284,15 +7402,15 @@ msgstr "Hersteller"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Kunde"
@@ -7320,16 +7438,16 @@ msgstr "Hergestellte Teile"
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Unternehmen bearbeiten"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Firma löschen"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Firmen-Aktionen"
@@ -7349,7 +7467,7 @@ msgstr "Externer Link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Teil-Details"
@@ -7363,28 +7481,28 @@ msgstr "Herstellerteil Details"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Empfangene Lagerartikel"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Herstellerteil bearbeiten"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Herstellerteil hinzufügen"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Herstellerteil löschen"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Herstellerteil Aktionen"
@@ -7401,7 +7519,7 @@ msgstr "Teilebeschreibung"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Verpackungsmenge"
@@ -7427,28 +7545,28 @@ msgstr "Zuliefererteil Details"
msgid "Supplier Pricing"
msgstr "Zulieferer-Preise"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Zuliefererteil Aktionen"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Zuliefererteil entfernen"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Zuliefererteil hinzufügen"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Kein Bestand"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Gruppenrollen"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Benutzerinformation"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Basis-Benutzer"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Unterkategorien"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Elemente in übergeordnete Kategorie verschieben"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Elemente löschen"
@@ -7577,60 +7695,64 @@ msgstr "Kategorie-Details"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Bauauftragszuweisungen"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Verkaufsauftragszuweisungen"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
-msgid "Validate BOM"
-msgstr "BOM validieren"
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
-#: src/pages/part/PartDetail.tsx:184
-msgid "Do you want to validate the bill of materials for this assembly?"
-msgstr "BOM für diese Baugruppe validieren?"
-
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
msgstr ""
#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
+msgid "Validate BOM"
+msgstr "BOM validieren"
+
+#: src/pages/part/PartDetail.tsx:196
+msgid "Do you want to validate the bill of materials for this assembly?"
+msgstr "BOM für diese Baugruppe validieren?"
+
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "BOM validiert"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "BOM für dieses Teil wurde validiert"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "BOM nicht validiert"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "Die BOM für dieses Teil wurde bereits überprüft, aber eine Revalidierung ist notwendig"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "BOM für dieses Teil wurde noch nicht validiert"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validiert am"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validiert von"
@@ -7650,246 +7772,246 @@ msgstr "Validiert von"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante von"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revision von"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Standard Lagerort"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Standard-Lagerort der Kategorie"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Einheiten"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Standard-Lagerort der Kategorie"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Einheiten"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Bestellt"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Erforderlich für Bestellungen"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Bauaufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Aufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimaler Bestand"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimaler Bestand"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Gesperrt"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Vorlagenteil"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Baugruppe"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Komponente"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Testbares Teil"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Nachverfolgbares Teil"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Käufliches Teil"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Verkäufliches Teil"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtuelles Teil"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Erstelldatum"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Erstellt von"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Standard Zulieferer"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Standard Ablaufdatum"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "Tage"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Preisspanne"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "letzte Seriennummer"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianten"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
-msgstr "Ferienguthaben/Freitage"
+msgstr "Zuweisungen"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Stückliste"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Verwendet in"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Teilbepreisung"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Testvorlagen"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Zugehörige Teile"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Teil ist gesperrt"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Teil ist gesperrt"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Erforderlich"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Teil hinzufügen"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Teil löschen"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Bestellung"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Bestand bestellen"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Nach Seriennummer suchen"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Teile-Aktionen"
@@ -7968,35 +8090,46 @@ msgstr "Verkaufshistorie"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Inventureintrag bearbeiten"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Inventureintrag löschen"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimaler Wert"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maximaler Wert"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maximaler Wert"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Gesamtpreis"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Niedrigster Preis"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Höchster Preis"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Preis pro Einheit"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Kuchendiagramm"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Balkendiagramm"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Einkaufs Preise"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Bestellung hinzufügen"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Abgeschlossene Positionen"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Bestimmungsort"
@@ -8275,60 +8411,60 @@ msgstr "Herausgabedatum"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Bestelldetails"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Positionen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Bestellung aufgeben"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Bestellung stornieren"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Bestellung halten"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Bestellung abschließen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Bestellaktionen"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Kundenreferenz"
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Rücksendeauftrag bearbeiten"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Neuer Rücksendeauftrag"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Rücksendeauftrag erstellen"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Rücksendeauftrag stornieren"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Rücksendeauftrag halten"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Rücksendeauftrag abschließen"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Abgeschlossene Sendungen"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Auftrag bearbeiten"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Auftrag hinzufügen"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Lieferungen"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Bestellung versendet"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Auftrag abschließen"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Bestellung versenden"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Sendungsreferenz"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Rechnungsnummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Zugeordnete Positionen"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Versanddatum"
@@ -8464,173 +8600,167 @@ msgstr "Versanddatum"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Lieferdatum"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Lieferungsdetails"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Lieferung bearbeiten"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Lieferung abbrechen"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Lieferung fertigstellen"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Ausstehend"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Versandt"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Zugestellt"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Lieferung senden"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Aktionen für Lieferung"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Übergeordneter Lagerort"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Lagerort Typ"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Oberster Lagerort"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Lagerort-Details"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Standardteile"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Lagerort bearbeiten"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Lagerort löschen"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Bestandsaktionen"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Aktion für Lagerartikel an diesem Lagerort"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Lagerort bearbeiten"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Lagerort löschen"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Bestandsaktionen"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Aktion für Lagerartikel an diesem Lagerort"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Aktion für untergeordnete Lagerorte an diesem Lagerort"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Lagerort Aktionen"
@@ -8703,10 +8833,6 @@ msgstr "Letzte Inventur"
msgid "Stock Details"
msgstr "Lagerdetails"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Bestandsverfolgung"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Installierte Elemente"
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Lagerartikel bearbeiten"
@@ -8738,15 +8864,15 @@ msgstr "Lagerartikel bearbeiten"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Elemente erstellt"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Lagerartikel löschen"
@@ -8758,7 +8884,7 @@ msgstr "Lagerartikel löschen"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Lagervorgänge"
@@ -8791,12 +8916,12 @@ msgstr "Lagervorgänge"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Lagerartikel Aktionen"
@@ -8820,17 +8945,17 @@ msgstr "Lagerartikel Aktionen"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "abgelaufen"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Nicht verfügbar"
@@ -8855,6 +8980,72 @@ msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Dieser Lagerbestand ist in Produktion"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Dieser Lagerbestand wurde einem Verkaufsauftrag zugewiesen"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Dieser Lagerbestand wurde einem Kunden zugewiesen"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Dieser Lagerartikel ist in einem anderen Lagerartikel verbaut"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Lagerbestand wurde durch einen Bauauftrag verbraucht"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Dieser Lagerartikel ist nicht verfügbar"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Dieser Lagerartikel ist abgelaufen"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Dieser Lagerartikel ist veraltet"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Dieser Lagerartikel ist vollständig zugewiesen"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Dieser Lagerartikel ist teilweise zugewiesen"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Kein Lagerbestand verfügbar"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Dieser Lagerartikel wurde verbraucht"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Lagerinformationen"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Spalten auswählen"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Hat Losnummer"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Zeige Bestand mit Losnummer"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Elemente nach Batch-Code filtern"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Zeige Teile welche im Lager sind"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Hat Seriennummer"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Zeige Bestand mit Seriennummer"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Hat Losnummer"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Zeige Bestand mit Losnummer"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Elemente nach Batch-Code filtern"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Zeige Teile welche im Lager sind"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Hat Seriennummer"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Zeige Bestand mit Seriennummer"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Elemente nach Seriennummer filtern"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Seriennummer darunter"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Artikel mit Seriennummern kleiner oder gleich einem angegebenen Wert anzeigen"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Seriennummer darüber"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Zeige Elemente mit Seriennummern größer oder gleich einem angegebenen Wert"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Mir zugewiesen"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Mir zugewiesene Aufträge anzeigen"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Ausstehend"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Ausstehende Elemente anzeigen"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Überfällige Elemente anzeigen"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Mindestdatum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Elemente nach diesem Datum anzeigen"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Maximaldatum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Elemente vor diesem Datum anzeigen"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Erstellt vor"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Vor diesem Datum erstellte Elemente anzeigen"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Erstellt nach"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Nach diesem Datum erstellte Elemente anzeigen"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Startdatum vor"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Startdatum nach"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Zieldatum vor"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Zeige Elemente mit einem Zieldatum vor diesem Datum"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Zieldatum nach"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Zeige Elemente mit einem Zieldatum nach diesem Datum"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Abgeschlossen vor"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Vor diesem Datum erledigte Elemente anzeigen"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Nach diesem Datum erledigte Elemente anzeigen"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Hat Projektcode"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Aufträge mit zugewiesenem Projektcode anzeigen"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Alternativen einschließen"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Ergebnisse für Teilvarianten einbeziehen"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Nach Bestellstatus filtern"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Nach Produktcode filtern"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Nach verantwortlichem Besitzer filtern"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Nach Benutzer filtern"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Nach Herstellern filtern"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Nach Lieferanten filtern"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Nach Teilkategorie filtern"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Nach Lagerort filtern"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Filter entfernen"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Filterwert auswählen"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Filterwert eingeben"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Datumswert auswählen"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Filter auswählen"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Tabellenfilter"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Filter hinzufügen"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Filter zurücksetzen"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Keine Einträge gefunden"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Fehler beim Laden der Tabellenoptionen"
@@ -9156,10 +9366,6 @@ msgstr "Fehler beim Laden der Tabellenoptionen"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Der Server hat einen falschen Datentyp zurückgegeben"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Der Server hat einen falschen Datentyp zurückgegeben"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Der Server hat einen falschen Datentyp zurückgegeben"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Fehler beim Laden der Tabellendaten"
@@ -9190,57 +9400,57 @@ msgstr "Fehler beim Laden der Tabellendaten"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr " Details anzeigen"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr " Details anzeigen"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Ausgewählte Elemente löschen"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Möchten Sie die ausgewählten Elemente wirklich löschen?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Diese Aktion kann nicht rückgängig gemacht werden"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Elemente gelöscht"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Fehler beim Löschen der Elemente"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Benutzerdefinierte Tabellenfilter sind aktiv"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Ausgewählte Datensätze löschen"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Daten aktualisieren"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Aktive Filter"
@@ -9252,71 +9462,71 @@ msgstr "Aktive Filter"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
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:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Teile-Informationen"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Dieses BOM Element wurde nicht validiert"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Ersatz-Teil"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtuelles Teil"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtuelles Teil"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Externer Bestand"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Ersatz Bestand einbeziehen"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Alternatives Lager einschließen"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Gebäude"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Gebäude"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Lagerinformationen"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Verbrauchsartikel"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Kein Lagerbestand verfügbar"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Nachverfolgbare Teile anzeigen"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktives Teil"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Artikel mit verfügbarem Lagerbestand anzeigen"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Artikel in Bestellung anzeigen"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Bestätigt"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Bestätigte Einträge anzeigen"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Vererbt"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Vererbte Elemente anzeigen"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Optional"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Optionale Elemente anzeigen"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Verbrauchsmaterial"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Verbrauchbare Artikel anzeigen"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Hat Preise"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Artikel mit Preisen anzeigen"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Stücklisten-Position hinzufügen"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Stücklisten-Position erstellt"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Stücklisten-Position bearbeiten"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Stücklisten-Position aktualisiert"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Stücklisten-Position gelöscht"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "BOM-Element validiert"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Fehler beim Validieren des BOM-Elements"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Ersatzteil bearbeiten"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "BOM kann nicht bearbeitet werden, weil das Teil gesperrt ist"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Montage"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Aktive Baugruppen anzeigen"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Nachverfolgbare Baugruppen anzeigen"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Bestellstatus"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Bestands-Zuordnung bearbeiten"
@@ -9561,8 +9777,8 @@ msgstr "Bestands-Zuordnung bearbeiten"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Verbrauchen"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Verbrauchsmaterialien anzeigen"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Optionale Positionen anzeigen"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Prüfbar"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Nachverfolgbare Freigabe"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Verfolgbare Positionen anzeigen"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "In Produktion"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Nicht genug Lagermenge"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Kein Lagerbestand verfügbar"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Wird vererbt"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Einheiten Menge"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "BOM Information"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Komplett zugewiesen"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Bestand automatisch zuordnen"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Bestand bauen"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Teil anzeigen"
@@ -9756,31 +9992,31 @@ msgstr "Teil anzeigen"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Hat Zieldatum"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Hat Startdatum"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Bauprodukt hinzufügen"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Bauprodukt hinzufügen"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Nach Lagerstatus filtern"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Ausgewählte Bauprodukte fertigstellen"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Ausgewählte Bauprodukte verschrotten"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Ausgewählte Bauprodukte abbrechen"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Zuweisen"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Bestand dem Bauprodukt zuweisen"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Ausgewählte Bauprodukte verschrotten"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Ausgewählte Bauprodukte abbrechen"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Zuweisen"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Bestand dem Bauprodukt zuweisen"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Freigeben"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Bestand von Bauprodukt entfernen"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Bauprodukt fertigstellen"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Verschrotten"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Bauprodukt verschrotten"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Bauprodukt abbrechen"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Erforderliche Tests"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Adresse löschen"
msgid "Are you sure you want to delete this address?"
msgstr "Sicher, dass Sie diese Adresse löschen wollen?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Unternehmen hinzufügen"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Unternehmen hinzufügen"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Aktive Unternehmen anzeigen"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Unternehmen anzeigen, die Lieferanten sind"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Unternehmen anzeigen, die Hersteller sind"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Unternehmen anzeigen, die Kunden sind"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Element anzeigen"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Position hinzufügen"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Position bearbeiten"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Position löschen"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Parameter bearbeiten"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Vorlagen mit Auswahlen anzeigen"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Hat Einheiten"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Benachrichtigung"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Nachricht"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Benötigter Bestand"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Sie haben Benachrichtigungen für diese Kategorie abonniert"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Unter-Kategorien einschließen"
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Mindest-Lagerbestand"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtern nach Teil aktiv Status"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtern nach Baugruppen Attribut"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "BOM valide"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Nach Teilen mit gültiger BOM filtern"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Nach Teilattributen filtern"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Nach Attribut \"prüfbar\" filtern"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtern nach Nachverfolgbarer Eigenschaft"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Nach Teilen mit Einheiten filtern"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Hat IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Nach Teilen filtern, die eine interne Teilenummer haben"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Auf Lager"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Nach Teilen mit Lagerbestand filtern"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Nach Teilen mit geringem Lagerbestand filtern"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Kaufbar"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Nach Teilen filtern, die kaufbar sind"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Verkaufbar"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Nach Teilen filtern, die verkaufbar sind"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Nach Teilen filtern, die virtuell sind"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Nicht virtuell"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Ist Template"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Nach Teilen filtern die eine Vorlage sind"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Ist Variante"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Nach Teilen filtern, die Varianten sind"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Ist Revision"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Nach Teilen filtern, die Revisionen sind"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Hat Änderungen"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Nach Teilen mit Revisionen filtern"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Nach Teilen mit Preisinformationen filtern "
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Nach Teilen mit Lagerbestand filtern "
@@ -10701,58 +10941,58 @@ msgstr "Nach Teilen mit Lagerbestand filtern "
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Nach vom Nutzer abonnierten Teilen filtern "
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Kategorie festlegen"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Kategorie für ausgewählte Teile festlegen"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Ausgewählte Teile bestellen"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
@@ -10774,7 +11014,7 @@ msgstr "Testergebnisse hinzugefügt"
msgid "No Result"
msgstr "Kein Ergebnis"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Wähle"
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Bühne"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "verpflichtend"
@@ -10973,68 +11221,68 @@ msgstr "描述不可用"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Plugin Aktivierung bestätigen"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Plugin Deaktivierung bestätigen"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Das ausgewählte Plugin wird aktiviert"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Das ausgewählte Plugin wird deaktiviert"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Das ausgewählte Plugin wird aktiviert"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Das ausgewählte Plugin wird deaktiviert"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Deaktivieren"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktivieren"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Ausgewähltes Plugin aktivieren"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktivieren"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Ausgewähltes Plugin aktivieren"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Ausgewähltes Plugin aktualisieren"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Deinstallieren"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Ausgewählten Plugin deinstallieren"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Ausgewählte Plugin-Konfiguration löschen"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Plugin aktivieren"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Das Plugin wurde aktiviert"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Das Plugin wurde deaktiviert"
@@ -11042,20 +11290,20 @@ msgstr "Das Plugin wurde deaktiviert"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Plugin installieren"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Installieren"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin erfolgreich installiert"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Plugin deinstallieren"
@@ -11063,23 +11311,23 @@ msgstr "Plugin deinstallieren"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Plugin deinstallieren bestätigen"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Das ausgewählte Plugin wird deinstalliert."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin erfolgreich deinstalliert"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Plugin löschen"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Durch das Löschen dieser Plugin-Konfiguration werden alle zugehörigen Einstellungen und Daten entfernt. Soll dieses Plugin gelöscht werden?"
@@ -11087,11 +11335,11 @@ msgstr "Durch das Löschen dieser Plugin-Konfiguration werden alle zugehörigen
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Erweiterungen neu geladen"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Plugins wurden erfolgreich neu geladen"
@@ -11103,7 +11351,7 @@ msgstr "Plugins wurden erfolgreich neu geladen"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Plugins neu laden"
@@ -11115,7 +11363,7 @@ msgstr "Plugins neu laden"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Plugin Detail"
@@ -11127,12 +11375,12 @@ msgstr "Plugin Detail"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Beispiel"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installiert"
@@ -11152,30 +11400,24 @@ msgstr "Installiert"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Aktives Teil"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr "Lieferantennummer"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Lieferanten-Link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Herstellernummer"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Position empfangen"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Erhaltene Artikel"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Basiseinheiten"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Zuliefererteil hinzufügen"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Zuliefererteil hinzufügen"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Aktive Lieferantenteile anzeigen"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Zeige aktive interne Teile"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Aktiver Lieferant"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Zeige aktiven Lieferant"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Empfangsdatum"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Empfangene Elemente anzeigen"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Ausgewählte Elemente empfangen"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Element empfangen"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Verfügbare Menge"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Zugewiesene Menge"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Keine Lieferung"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Nicht versendet"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Zuordnung bearbeiten"
@@ -11333,16 +11579,16 @@ msgstr "Zuordnung bearbeiten"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Lieferung anzeigen"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Sendung zuweisen"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Sendung zuweisen"
@@ -11350,31 +11596,35 @@ msgstr "Sendung zuweisen"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Bestand bestellen"
@@ -11386,78 +11636,82 @@ msgstr "Bestand bestellen"
msgid "Create Shipment"
msgstr "Lieferung erstellen"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Lieferung bearbeiten"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Lieferung abbrechen"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Lieferung hinzufügen"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "versendete Lieferungen anzeigen"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "zugestellte Lieferungen anzeigen"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Token generieren"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token generiert"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Widerrufen"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "Verwendet"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Zuletzt aktiv"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Ablauf"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Widerrufene Token anzeigen"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Widerrufen"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Fehler beim Widerrufen des Token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Token werden nur einmal angezeigt - vergewissern Sie sich, diese aufzuschreiben."
@@ -11990,24 +12244,24 @@ msgstr "Benutzer erfolgreich aktualisiert"
msgid "Error updating user"
msgstr "Fehler beim Aktualisieren des Benutzers"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr "Lagerorttyp löschen"
msgid "Icon"
msgstr "Symbol"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Dieser Lagerbestand ist in Produktion"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Dieser Lagerbestand wurde einem Verkaufsauftrag zugewiesen"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Bestand aktiver Teile anzeigen"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Dieser Lagerbestand wurde einem Kunden zugewiesen"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Dieser Lagerartikel ist in einem anderen Lagerartikel verbaut"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Zugewiesene Artikel anzeigen"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Lagerbestand wurde durch einen Bauauftrag verbraucht"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Verfügbare Artikel anzeigen"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Dieser Lagerartikel ist nicht verfügbar"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Unter-Lagerorte einschließen"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Dieser Lagerartikel ist abgelaufen"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Bestand in Unter-Lagerorten einschließen"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Dieser Lagerartikel ist veraltet"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Erschöpft"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Dieser Lagerartikel ist vollständig zugewiesen"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Zeige aufgebrauchte Lagerbestände"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Dieser Lagerartikel ist teilweise zugewiesen"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Zeige Teile welche in Produktion sind"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Dieser Lagerartikel wurde verbraucht"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Zeige Bestand, welcher in anderen Teilen verbaut ist"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Zum Kunden geschickt"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Zeige Bestand, welcher zum Kunden gesendet wurde"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Verfolgbare Objekte anzeigen"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Hat Einkaufspreis"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Zeige Bestand, für welchen ein Einkaufspreis verfügbar ist"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Abgelaufen vor"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Abgelaufen nach"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Externer Lagerort"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Bestand aktiver Teile anzeigen"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Zugewiesene Artikel anzeigen"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Verfügbare Artikel anzeigen"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Unter-Lagerorte einschließen"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Bestand in Unter-Lagerorten einschließen"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Erschöpft"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Zeige aufgebrauchte Lagerbestände"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Zeige Teile welche in Produktion sind"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Zeige Elemente an einem externen Lagerort"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Zeige Bestand, welcher in anderen Teilen verbaut ist"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Zum Kunden geschickt"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Zeige Bestand, welcher zum Kunden gesendet wurde"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Verfolgbare Objekte anzeigen"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Hat Einkaufspreis"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Zeige Bestand, für welchen ein Einkaufspreis verfügbar ist"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Abgelaufen vor"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Abgelaufen nach"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Externer Lagerort"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Zeige Elemente an einem externen Lagerort"
-
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Fertiggestellt"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Testergebnis aktualisiert"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
@@ -12327,27 +12533,27 @@ msgstr "Fehler beim Erfassen des Testergebnisses"
msgid "Pass Test"
msgstr "Test bestanden"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Ergebnisse für erforderliche Tests anzeigen"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Installierte Teile einschließen"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Zeige Ergebnisse für installierte Lagerartikel"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Bestanden"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Nur bestandene Tests anzeigen"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr "Übergeordneten Standort festlegen"
msgid "Set parent location for the selected items"
msgstr "Übergeordneten Standort für die ausgewählten Elemente festlegen"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Hinzugefügt"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Entfernt"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Keine Benutzerinformation"
diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po
index baeb520f79..d328526aab 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Επεξεργασία"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Διαγραφή"
@@ -44,36 +44,36 @@ msgstr "Διαγραφή"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Ακύρωση"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Ενέργειες"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Αναζήτηση"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Αποτυχία"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ναι"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Όχι"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Προϊόν"
@@ -134,7 +138,7 @@ msgstr "Προϊόν"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Προϊόντα"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Παράμετροι"
@@ -180,37 +184,37 @@ msgstr "Δοκιμαστικά Πρότυπα Προϊόντων"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Προϊόν Προμηθευτή"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Προϊόντα Προμηθευτή"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Προϊόν Κατασκευαστή"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Προϊόντα Κατασκευαστή"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Κατηγορία Προϊόντος"
@@ -218,19 +222,22 @@ msgstr "Κατηγορία Προϊόντος"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Κατηγορίες Προϊόντων"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Προϊόν Αποθέματος"
@@ -238,22 +245,22 @@ msgstr "Προϊόν Αποθέματος"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Προϊόντα Αποθέματος"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Τοποθεσία Αποθέματος"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Τοποθεσίες Αποθέματος"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Τύποι Τοποθεσιών Αποθέματος"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Ιστορικό Αποθέματος"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Προϊόντα Κατασκευής"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Εταιρείες"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Κωδικός Έργου"
@@ -330,21 +337,21 @@ msgstr "Κωδικοί Έργων"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Εντολή Αγοράς"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Εντολές Αγοράς"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Γραμμές Εντολής Αγοράς"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Εντολή Πώλησης"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Εντολές Πώλησης"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Αποστολή Εντολής Πώλησης"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Αποστολές Εντολών Πώλησης"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Εντολή Επιστροφής"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Εντολές Επιστροφής"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Διεύθυνση"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Διευθύνσεις"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Επαφή"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Επαφές"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Ιδιοκτήτης"
@@ -451,15 +458,15 @@ msgstr "Ιδιοκτήτες"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Χρήστης"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Πρότυπα Αναφορών"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Ρύθμιση Plugin"
@@ -543,31 +550,31 @@ msgstr "Λίστες Επιλογών"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Διαχειριστής"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Εντολές Κατασκευής"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Η διαδικασία απέτυχε"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Η διαδικασία ολοκληρώθηκε επιτυχώς"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Σφάλμα κατά την απόδοση του component"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr "Γραμμοκώδικας"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Σάρωση"
@@ -668,8 +679,8 @@ msgstr "Εισάγετε δεδομένα γραμμοκώδικα"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Σάρωση Γραμμοκώδικα"
@@ -688,7 +699,7 @@ msgstr "Ο γραμμοκώδικας δεν ταιριάζει με τον αν
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Επιτυχία"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Αποτυχία σύνδεσης γραμμοκώδικα"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Σύνδεση"
@@ -754,7 +765,7 @@ msgstr "Αυτό θα αφαιρέσει τη σύνδεση με τον σχε
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Αποσύνδεση Γραμμοκώδικα"
@@ -766,11 +777,11 @@ msgstr "Άνοιγμα στο περιβάλλον διαχειριστή"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Αντιγράφηκε"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Αντιγραφή"
@@ -798,19 +809,15 @@ msgstr "Εκτύπωση Αναφορών"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Εκτύπωση Ετικέτας"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Εκτύπωση"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Εκτύπωση"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Εκτύπωση Αναφοράς"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Ενέργειες Εκτύπωσης"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Εκτύπωση Ετικετών"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Εκτύπωση Αναφορών"
@@ -860,8 +867,8 @@ msgstr "Θα ανακατευθυνθείτε στον πάροχο για πε
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Άνοιγμα Σαρωτή Γραμμοκώδικα"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Απεγγραφή από τις ειδοποιήσεις"
msgid "Subscribe to notifications"
msgstr "Εγγραφή στις ειδοποιήσεις"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Φίλτρα Ημερολογίου"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Προηγούμενος μήνας"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Επιλογή μήνα"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Επόμενος μήνας"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Λήψη δεδομένων"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Σφάλμα κατά την ενημέρωση της παραγγελίας"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Εκπρόθεσμο"
@@ -937,7 +949,7 @@ msgstr "Αποδοχή Διάταξης"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Δεν υπάρχουν διαθέσιμα Widgets"
msgid "There are no more widgets available for the dashboard"
msgstr "Δεν υπάρχουν άλλα διαθέσιμα widgets για τον πίνακα ελέγχου"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Εγγεγραμμένα Προϊόντα"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Εμφανίζει τον αριθμό Προϊόντων στα οποία είστε εγγεγραμμένος"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Εγγεγραμμένες Κατηγορίες"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Εμφανίζει τον αριθμό κατηγοριών στις οποίες είστε εγγεγραμμένος"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Μη έγκυρα BOM"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Συναρμολογήσεις που απαιτούν επικύρωση λίστας υλικών"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Χαμηλό Απόθεμα"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Εμφανίζει τον αριθμό Προϊόντων που έχουν χαμηλό απόθεμα"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Απαιτούνται για Εντολές Κατασκευής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Εμφανίζει Προϊόντα που απαιτούνται για ενεργές εντολές κατασκευής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Ληγμένα Προϊόντα Αποθέματος"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Εμφανίζει τον αριθμό Προϊόντων αποθέματος που έχουν λήξει"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Παρωχημένα Προϊόντα Αποθέματος"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Εμφανίζει τον αριθμό Προϊόντων αποθέματος που είναι παρωχημένα"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Ενεργές Εντολές Κατασκευής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που είναι ενεργές"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Εκπρόθεσμες Εντολές Κατασκευής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που είναι εκπρόθεσμες"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Ανατεθειμένες Εντολές Κατασκευής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Εμφανίζει τον αριθμό εντολών κατασκευής που σας έχουν ανατεθεί"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Ενεργές Εντολές Πώλησης"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που είναι ενεργές"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Εκπρόθεσμες Εντολές Πώλησης"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που είναι εκπρόθεσμες"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Ανατεθειμένες Εντολές Πώλησης"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Εμφανίζει τον αριθμό εντολών πώλησης που σας έχουν ανατεθεί"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Εκκρεμείς Αποστολές"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Εμφανίζει τον αριθμό εκκρεμών αποστολών εντολών πώλησης"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Ενεργές Εντολές Αγοράς"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που είναι ενεργές"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Εκπρόθεσμες Εντολές Αγοράς"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που είναι εκπρόθεσμες"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Ανατεθειμένες Εντολές Αγοράς"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Εμφανίζει τον αριθμό εντολών αγοράς που σας έχουν ανατεθεί"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Ενεργές Εντολές Επιστροφής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που είναι ενεργές"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Εκπρόθεσμες Εντολές Επιστροφής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που είναι εκπρόθεσμες"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Ανατεθειμένες Εντολές Επιστροφής"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Εμφανίζει τον αριθμό εντολών επιστροφής που σας έχουν ανατεθεί"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Ξεκινώντας"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Ξεκινώντας με το InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Ενημερώσεις Ειδήσεων"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Οι τελευταίες ειδήσεις από το InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Δεν υπάρχουν νέα"
msgid "There are no unread news items"
msgstr "Δεν υπάρχουν μη αναγνωσμένα νέα"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Δεν υπάρχουν μη αναγνωσμένα νέα"
msgid "Superuser"
msgstr "Superuser"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Προσωπικό"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Δεν έχει οριστεί όνομα"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Αφαίρεση της σχετικής εικόνας από αυτό το στοιχείο;"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Αφαίρεση"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Σύρετε και αποθέστε για μεταφόρτωση"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Κάντε κλικ για να επιλέξετε αρχείο(α)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Η εικόνα μεταφορτώθηκε"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Η εικόνα μεταφορτώθηκε με επιτυχία"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Σφάλμα μεταφόρτωσης"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Εκκαθάριση"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Υποβολή"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Επιλέξτε από υπάρχουσες εικόνες"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Επιλέξτε εικόνα"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Λήψη απομακρυσμένης εικόνας"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Μεταφόρτωση νέας εικόνας"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Μεταφόρτωση εικόνας"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Διαγραφή εικόνας"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Λήψη εικόνας"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Η εικόνα λήφθηκε με επιτυχία"
@@ -1546,7 +1589,7 @@ msgstr "Υπάρχουν σφάλματα σε ένα ή περισσότερα
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Ενημέρωση"
@@ -1579,21 +1622,21 @@ msgstr "Συνδεθήκατε με επιτυχία"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Αποτυχία σύνδεσης"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Ελέγξτε τα στοιχεία σας και προσπαθήστε ξανά."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Το email στάλθηκε με επιτυχία"
@@ -1628,7 +1671,7 @@ msgstr "Το όνομα χρήστη σας"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Κωδικός πρόσβασης"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Επαναλάβετε τον κωδικό"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Εγγραφή"
@@ -1720,6 +1763,10 @@ msgstr "Η εγγραφή δεν είναι ενεργή"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Αυτό μπορεί να οφείλεται σε ελλιπείς ρυθμίσεις email ή να είναι σκόπιμη επιλογή."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Υπολογιστής/Host"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Έκδοση API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Plugins"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Ενεργό"
@@ -1850,7 +1898,7 @@ msgstr "Σταματημένο"
msgid "Running"
msgstr "Σε λειτουργία"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Επιλέξτε αρχείο για μεταφόρτωση"
@@ -1858,7 +1906,7 @@ msgstr "Επιλέξτε αρχείο για μεταφόρτωση"
msgid "Accept suggested value"
msgstr "Αποδοχή προτεινόμενης τιμής"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Επιλέξτε ημερομηνία"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Χωρίς κατηγορία"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Αναζήτηση..."
@@ -1890,13 +1938,13 @@ msgstr "Επιλέξτε πακέτο"
msgid "{0} icons"
msgstr "{0} εικονίδια"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Φόρτωση"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Δεν βρέθηκαν αποτελέσματα"
@@ -1940,49 +1988,49 @@ msgstr "Επεξεργασία δεδομένων"
msgid "Delete Row"
msgstr "Διαγραφή γραμμής"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Γραμμή"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Η γραμμή περιέχει σφάλματα"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Αποδοχή"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Έγκυρο"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Φιλτράρισμα ανά κατάσταση εγκυρότητας"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Ολοκληρωμένο"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Φιλτράρισμα ανά κατάσταση ολοκλήρωσης"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Εισαγωγή επιλεγμένων γραμμών"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Επεξεργασία δεδομένων"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Παρουσιάστηκε σφάλμα"
@@ -2002,31 +2050,31 @@ msgstr "Επιλέξτε στήλη ή αφήστε κενό για να αγν
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Αγνόηση αυτού του πεδίου"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Αντιστοίχιση στηλών δεδομένων με πεδία βάσης δεδομένων"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Αποδοχή αντιστοίχισης στηλών"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Πεδίο βάσης δεδομένων"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Περιγραφή πεδίου"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Εισαγόμενη στήλη"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Προεπιλεγμένη τιμή"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Αντιστοίχιση στηλών"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Εισαγωγή δεδομένων"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Τα δεδομένα εισήχθησαν με επιτυχία"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Κλείσιμο"
@@ -2104,8 +2152,8 @@ msgstr "Επιλογές"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Ενέργειες Barcode"
@@ -2177,10 +2225,15 @@ msgstr "Άγνωστο σφάλμα"
msgid "None"
msgstr "Κανένα"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Λογότυπο InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Επιλέξτε γλώσσα"
@@ -2208,9 +2261,10 @@ msgstr "Ενημέρωση ρόλων ομάδας"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Ενημερώθηκε"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Ρόλος"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Προβολή"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Αλλαγή"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Προσθήκη"
@@ -2255,14 +2309,14 @@ msgstr "Κανένα στοιχείο"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Διαθέσιμο"
@@ -2320,7 +2374,7 @@ msgstr "Σύνδεσμοι"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Τεκμηρίωση"
@@ -2523,7 +2577,7 @@ msgstr "Μάθετε περισσότερα για {code}"
msgid "Notifications"
msgstr "Ειδοποιήσεις"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Δεν βρέθηκε τίποτα..."
@@ -2547,7 +2601,7 @@ msgstr "Ρυθμίσεις"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Ρυθμίσεις χρήστη"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Ρυθμίσεις συστήματος"
@@ -2578,14 +2632,14 @@ msgstr "Ρυθμίσεις συστήματος"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Κέντρο διαχείρισης"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Αποσύνδεση"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Απόθεμα"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Κατασκευή"
@@ -2636,21 +2690,21 @@ msgstr "Κατασκευή"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Προμήθειες"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Πωλήσεις"
@@ -2705,7 +2759,7 @@ msgstr "Αφαίρεση ομάδας αναζήτησης"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Προμηθευτές"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Κατασκευαστές"
@@ -2768,21 +2822,21 @@ msgstr "Δεν υπάρχουν αποτελέσματα για το ερώτη
msgid "Attachments"
msgstr "Συνημμένα"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Σημειώσεις"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Παρέχεται από πρόσθετο"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Σύμπτυξη πλαισίων"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Ανάπτυξη πλαισίων"
@@ -2809,19 +2863,19 @@ msgstr "Πληροφορίες πρόσθετου"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Συγγραφέας"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Ημερομηνία"
@@ -2845,48 +2899,54 @@ msgstr "Ημερομηνία"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Ενεργό"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Ιστοσελίδα"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Όνομα πακέτου"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Μονοπάτι εγκατάστασης"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Ενσωματωμένο"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Πακέτο"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Ρυθμίσεις πρόσθετου"
@@ -2969,65 +3029,65 @@ msgstr "Άγνωστο μοντέλο: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Αποστολή"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Ανενεργό"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Εικονικό"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Χωρίς απόθεμα"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "Σε παραγγελία"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Σε παραγωγή"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Λεπτομέρειες"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Κατηγορία"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Τοποθεσία"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Σειριακός αριθμός"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Ποσότητα"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Παραγωγική παρτίδα"
@@ -3193,45 +3251,53 @@ msgstr "Προσθήκη προσαρμοσμένης κατάστασης"
msgid "Create a new custom state for your workflow"
msgstr "Δημιουργία προσαρμοσμένης κατάστασης για τη ροή εργασίας"
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Επεξεργασία ρύθμισης"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Η ρύθμιση {key} ενημερώθηκε με επιτυχία"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Η ρύθμιση ενημερώθηκε"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Η ρύθμιση {0} ενημερώθηκε με επιτυχία"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Σφάλμα κατά την επεξεργασία της ρύθμισης"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Σφάλμα φόρτωσης ρυθμίσεων"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Δεν υπάρχουν ρυθμίσεις"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Δεν υπάρχουν διαθέσιμες ρυθμίσεις προς διαμόρφωση"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Δεν καθορίστηκαν ρυθμίσεις"
@@ -3608,19 +3674,19 @@ msgstr "Έχει ήδη εισαχθεί"
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Προμηθευτής"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Φόρτωση..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr "Επόμενο"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Επεξεργασία Προϊόντος"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr "Απαιτήσεις πωλήσεων"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Σε απόθεμα"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Απαιτούμενη ποσότητα"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Νέο Προϊόν προμηθευτή"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Το Προϊόν προμηθευτή δημιουργήθηκε"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Παρακαλώ διορθώστε τα σφάλματα στα επιλεγμένα Προϊόντα"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Παραγγελία Προϊόντων"
@@ -4038,77 +4104,89 @@ msgstr "Παραγγελία Προϊόντων"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Μετάβαση στο InvenTree dashboard"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Επισκεφθείτε την τεκμηρίωση για να μάθετε περισσότερα για το InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Σχετικά με τον οργανισμό InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Πληροφορίες διακομιστή"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Σχετικά με αυτήν την εγκατάσταση InvenTree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Πληροφορίες άδειας"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Άδειες για τις εξαρτήσεις της υπηρεσίας"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Άνοιγμα πλοήγησης"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Άνοιγμα του κύριου μενού πλοήγησης"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Σάρωση barcode ή QR code"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr "Μετάβαση στις ρυθμίσεις χρήστη"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr "Μετάβαση στις Εντολές Αγοράς"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr "Μετάβαση στις Εντολές Πώλησης"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr "Μετάβαση στις Εντολές Επιστροφής"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Σάρωση barcode ή QR code"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr "Μετάβαση στις Εντολές Κατασκευής"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr "Μετάβαση στις Ρυθμίσεις Συστήματος"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Μετάβαση στο Κέντρο Διαχείρισης"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "Σχετικά με το έργο InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Προϊόν υποκατάστασης"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Επεξεργασία υποκαταστάτων BOM"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Προσθήκη υποκατάστατου"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Το υποκατάστατο προστέθηκε"
@@ -4374,53 +4452,53 @@ msgstr "Το υποκατάστατο προστέθηκε"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Αποτέλεσμα κατασκευής"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr "Ποσότητα προς ολοκλήρωση"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Κατάσταση"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Ολοκλήρωση αποτελεσμάτων κατασκευής"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Τα αποτελέσματα κατασκευής ολοκληρώθηκαν"
@@ -4428,143 +4506,133 @@ msgstr "Τα αποτελέσματα κατασκευής ολοκληρώθη
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr "Ποσότητα προς απόρριψη"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Απόρριψη αποτελεσμάτων κατασκευής"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Τα επιλεγμένα αποτελέσματα κατασκευής θα ολοκληρωθούν αλλά θα σημανθούν ως απορριφθέντα"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Τα δεσμευμένα είδη αποθέματος θα καταναλωθούν"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Τα αποτελέσματα κατασκευής έχουν απορριφθεί"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Τα αποτελέσματα κατασκευής έχουν απορριφθεί"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Ακύρωση αποτελεσμάτων κατασκευής"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Τα επιλεγμένα αποτελέσματα κατασκευής θα αφαιρεθούν"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Τα δεσμευμένα είδη θα επιστραφούν στο απόθεμα"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Τα αποτελέσματα κατασκευής ακυρώθηκαν"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Δεσμευμένο"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Τοποθεσία προέλευσης"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Επιλέξτε την τοποθεσία προέλευσης για τη δέσμευση αποθέματος"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Δέσμευση αποθέματος"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Τα είδη αποθέματος δεσμεύτηκαν"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Κατανάλωση αποθέματος"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Κατανάλωση αποθέματος"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Πλήρως καταναλωμένο"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Καταναλωμένο"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr "Επιλέξτε κωδικό έργου για αυτό το Προϊόν"
@@ -4572,16 +4640,16 @@ msgstr "Επιλέξτε κωδικό έργου για αυτό το Προϊό
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Σε εγγραφή"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Εγγραφή σε ειδοποιήσεις για αυτό το Προϊόν"
@@ -4593,11 +4661,11 @@ msgstr "Εγγραφή σε ειδοποιήσεις για αυτό το Προ
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Γονική κατηγορία Προϊόντος"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Εγγραφή σε ειδοποιήσεις για αυτή την κατηγορία"
@@ -4605,67 +4673,71 @@ msgstr "Εγγραφή σε ειδοποιήσεις για αυτή την κα
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Ανάθεση κωδικού παρτίδας και σειριακών αριθμών"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Ανάθεση κωδικού παρτίδας"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Επιλογή τοποθεσίας"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Επιλέχθηκε προορισμός Προϊόντος"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Επιλέχθηκε η προεπιλεγμένη τοποθεσία της κατηγορίας"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Επιλέχθηκε τοποθεσία παραληφθέντος αποθέματος"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Επιλέχθηκε η προεπιλεγμένη τοποθεσία"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Ορισμός τοποθεσίας"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Ανάθεση κωδικού παρτίδας"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Ορισμός ημερομηνίας λήξης"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Προσαρμογή συσκευασίας"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Προσαρμογή συσκευασίας"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Αλλαγή κατάστασης"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Προσθήκη σημείωσης"
@@ -4673,56 +4745,56 @@ msgstr "Προσθήκη σημείωσης"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Αποθήκευση στην προεπιλεγμένη τοποθεσία"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Αποθήκευση στον προορισμό της γραμμής "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Αποθήκευση με ήδη παραληφθέν απόθεμα"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Κωδικός παρτίδας"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Εισαγάγετε κωδικό παρτίδας για τα παραληφθέντα είδη"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Σειριακοί αριθμοί"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Εισαγάγετε σειριακούς αριθμούς για τα παραληφθέντα είδη"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Ημερομηνία λήξης"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Εισαγάγετε ημερομηνία λήξης για τα παραληφθέντα είδη"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Εισαγάγετε ημερομηνία λήξης για τα παρ
msgid "Packaging"
msgstr "Συσκευασία"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Σημείωση"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Παραλήφθηκε"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Παραλαβή Προϊόντων γραμμής"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Ελήφθησαν τα είδη"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Παραλαβή ειδών"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Το είδος παραλήφθηκε στην αποθήκη"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr "Έλεγχος Αποστολής"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr "Η σήμανση της αποστολής ως ελεγμένη δηλώνει ότι έχετε επαληθεύσει πως όλα τα είδη στην αποστολή είναι σωστά"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr "Η αποστολή σημειώθηκε ως ελεγμένη"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr "Αναίρεση Ελέγχου Αποστολής"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr "Η σήμανση της αποστολής ως μη ελεγμένη δηλώνει ότι απαιτείται επιπλέον έλεγχος"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr "Η αποστολή σημειώθηκε ως μη ελεγμένη"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Ολοκλήρωση Αποστολής"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr "Αφήστε κενό για χρήση της διεύθυνσης της παραγγελίας"
@@ -4806,193 +4896,202 @@ msgstr "Αφήστε κενό για χρήση της διεύθυνσης τη
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Προσθέστε την ποσότητα ως πακέτα αντί για μεμονωμένα είδη"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Εισαγάγετε αρχική ποσότητα για αυτό το είδος"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Εισαγάγετε σειριακούς αριθμούς για νέο απόθεμα (ή αφήστε κενό)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Κατάσταση αποθέματος"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Προσθήκη είδους αποθέματος"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Επιλέξτε το Προϊόν προς εγκατάσταση"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Επιβεβαίωση μεταφοράς αποθέματος"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Μετακίνηση στην προεπιλεγμένη τοποθεσία"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Μετακίνηση"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Επιστροφή"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Καταμέτρηση"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Προσθήκη αποθέματος"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Το απόθεμα προστέθηκε"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Αυξήστε την ποσότητα των επιλεγμένων ειδών αποθέματος κατά μια δεδομένη τιμή."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Αφαίρεση αποθέματος"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Το απόθεμα αφαιρέθηκε"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Μείωση της ποσότητας των επιλεγμένων ειδών αποθέματος κατά μια δεδομένη τιμή."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Μεταφορά αποθέματος"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Το απόθεμα μεταφέρθηκε"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Μεταφέρετε τα επιλεγμένα είδη στην καθορισμένη τοποθεσία."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Επιστροφή αποθέματος"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Το απόθεμα επιστράφηκε"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Επιστροφή των επιλεγμένων ειδών στο απόθεμα, στην καθορισμένη τοποθεσία."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Καταμέτρηση αποθέματος"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Το απόθεμα καταμετρήθηκε"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Καταμετρήστε τα επιλεγμένα είδη αποθέματος και προσαρμόστε την ποσότητα ανάλογα."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Αλλαγή κατάστασης αποθέματος"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Η κατάσταση αποθέματος άλλαξε"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Αλλαγή της κατάστασης των επιλεγμένων ειδών αποθέματος."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Συγχώνευση αποθέματος"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Το απόθεμα συγχωνεύτηκε"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Συγχώνευση ειδών αποθέματος"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Η ενέργεια συγχώνευσης δεν μπορεί να αναιρεθεί"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Οι πληροφορίες ιχνηλάτησης μπορεί να χαθούν κατά τη συγχώνευση"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Οι πληροφορίες προμηθευτή μπορεί να χαθούν κατά τη συγχώνευση"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Ανάθεση αποθέματος σε πελάτη"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Το απόθεμα ανατέθηκε στον πελάτη"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Διαγραφή ειδών αποθέματος"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Το απόθεμα διαγράφηκε"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Αυτή η ενέργεια θα διαγράψει μόνιμα τα επιλεγμένα είδη αποθέματος."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Γονική τοποθεσία αποθέματος"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Εύρεση σειριακού αριθμού"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Δεν βρέθηκαν αντίστοιχα είδη"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Πολλαπλά αντίστοιχα είδη"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Μη έγκυρη απόκριση από τον διακομιστή"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Λίστα διαθέσιμων καταχωρήσεων προς επιλογή"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Εσωτερικό σφάλμα διακομιστή"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Ήδη συνδεδεμένος"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Υπάρχει αντικρουόμενη συνεδρία στον διακομιστή για αυτόν τον browser. Παρακαλώ αποσυνδεθείτε πρώτα από αυτή."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Αποσυνδεθήκατε"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr "Δεν υπάρχει απόκριση από τον διακομιστή."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+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 "No response from server."
+msgstr "Δεν υπάρχει απόκριση από τον διακομιστή."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "Επιτυχής σύνδεση με MFA"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "Οι λεπτομέρειες MFA παρέχθηκαν αυτόματα από τον browser"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Αποσυνδεθήκατε"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Αποσυνδεθήκατε με επιτυχία"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Η γλώσσα άλλαξε"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Η ενεργή γλώσσα σας άλλαξε σε αυτή που έχει οριστεί στο προφίλ σας"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Το θέμα άλλαξε"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Το ενεργό θέμα άλλαξε σε αυτό που έχει οριστεί στο προφίλ σας"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Ελέγξτε τα εισερχόμενά σας για τον σύνδεσμο επαναφοράς. Λειτουργεί μόνο αν έχετε λογαριασμό. Ελέγξτε και στα spam."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Η επαναφορά απέτυχε"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Ήδη συνδεδεμένος"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Υπάρχει αντικρουόμενη συνεδρία στον διακομιστή για αυτόν τον browser. Παρακαλώ αποσυνδεθείτε πρώτα από αυτή."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Συνδεθήκατε"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Συνδεθήκατε με επιτυχία"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Αποτυχία ρύθμισης MFA"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Ο κωδικός ορίστηκε"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Ο κωδικός ορίστηκε με επιτυχία. Μπορείτε πλέον να συνδεθείτε με τον νέο σας κωδικό"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Ο κωδικός δεν μπόρεσε να αλλάξει"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Οι δύο πεδία κωδικού δεν ταιριάζουν"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Ο κωδικός άλλαξε"
@@ -5210,23 +5320,14 @@ msgstr "Το αίτημα έληξε χρονικά"
msgid "Exporting Data"
msgstr "Εξαγωγή δεδομένων"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Εξαγωγή δεδομένων"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Εξαγωγή"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Η διαδικασία απέτυχε"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Η διαδικασία ολοκληρώθηκε επιτυχώς"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Το Προϊόν δημιουργήθηκε"
@@ -5255,52 +5356,56 @@ msgstr "Είστε σίγουρος ότι θέλετε να διαγράψετ
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Καταμέτρηση επιλεγμένων ειδών αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Προσθήκη στα επιλεγμένα είδη αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Αφαίρεση από τα επιλεγμένα είδη αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Μεταφορά επιλεγμένων ειδών αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Συγχώνευση επιλεγμένων ειδών αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Αλλαγή κατάστασης των επιλεγμένων ειδών αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Ανάθεση Αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Ανάθεση των επιλεγμένων ειδών αποθέματος σε πελάτη"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Επιστροφή των επιλεγμένων ειδών στο απόθεμα"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Διαγραφή Αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Διαγραφή των επιλεγμένων ειδών αποθέματος"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Ενέργειες Αποθέματος"
@@ -5357,15 +5462,15 @@ msgstr "Καμία επιλογή"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Σύνδεση"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Γίνεται σύνδεση…"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Δεν έχετε λογαριασμό;"
@@ -5383,12 +5488,12 @@ msgstr "Δεν έχετε λογαριασμό;"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Έλεγχος Ταυτότητας Πολλαπλών Παραγόντων"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "Κωδικός TOTP"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Θέση"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Τύπος"
@@ -5933,220 +6038,220 @@ msgstr "Επεξεργασία Προφίλ"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Εισαγάγετε τον κωδικό σας"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Σφάλμα κατά την καταχώριση του TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Καταχώριση TOTP Token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Κωδικοί Ανάκτησης"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Κωδικός μίας χρήσης βασισμένος στον χρόνο"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Προ-δημιουργημένοι κωδικοί ανάκτησης μίας χρήσης"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr "Το Web Authentication (WebAuthn) είναι ένα πρότυπο ιστού για ασφαλή ταυτοποίηση"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Τελευταία χρήση στις"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Δημιουργήθηκε στις"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Μη Διαμορφωμένο"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Δεν έχουν ρυθμιστεί multi-factor tokens για αυτόν τον λογαριασμό"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr "Κωδικός Μίας Χρήσης"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Εισαγάγετε τον κωδικό TOTP για να επιβεβαιώσετε ότι καταχωρήθηκε σωστά"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Διευθύνσεις Email"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Διευθύνσεις Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Single Sign On"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Μη ενεργοποιημένο"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Το Single Sign On δεν είναι ενεργοποιημένο για αυτόν τον διακομιστή"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Μη ενεργοποιημένο"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Το Single Sign On δεν είναι ενεργοποιημένο για αυτόν τον διακομιστή"
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Κλειδιά Πρόσβασης"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Πληροφορίες Συνεδρίας"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Πληροφορίες Συνεδρίας"
msgid "Timestamp"
msgstr "Χρονική Σήμανση"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Μέθοδος"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Σφάλμα κατά την ενημέρωση του email"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Δεν υπάρχουν καταχωρημένες διευθύνσεις email."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Οι παρακάτω διευθύνσεις email συνδέονται με τον λογαριασμό σας:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Κύρια"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Επαληθευμένο"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Μη Επαληθευμένο"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Ορισμός ως Κύριο"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Επαναποστολή Επαλήθευσης"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Προσθήκη Διεύθυνσης Email"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-Mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Διεύθυνση E-Mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Σφάλμα κατά την προσθήκη email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Προσθήκη Διεύθυνσης Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Διεύθυνση E-Mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Σφάλμα κατά την προσθήκη email"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Προσθήκη Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Σφάλμα κατά την προσθήκη email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Προσθήκη Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Δεν υπάρχουν συνδεδεμένοι πάροχοι σε αυτόν τον λογαριασμό."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Μπορείτε να συνδεθείτε στον λογαριασμό σας χρησιμοποιώντας οποιονδήποτε από τους παρακάτω παρόχους"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Αφαίρεση σύνδεσης παρόχου"
@@ -6420,7 +6526,7 @@ msgstr "Τελείες"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Νόμισμα"
@@ -6685,30 +6791,34 @@ msgstr "Σύνδεση με Μοντέλο"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Η εργασία παρασκηνίου δεν εκτελείται"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Η υπηρεσία εργασιών παρασκηνίου δεν εκτελείται. Επικοινώνησε με τον διαχειριστή συστήματος."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Η εργασία παρασκηνίου δεν εκτελείται"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Η υπηρεσία εργασιών παρασκηνίου δεν εκτελείται. Επικοινώνησε με τον διαχειριστή συστήματος."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Εκκρεμείς εργασίες"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Προγραμματισμένες εργασίες"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Αποτυχημένες εργασίες"
@@ -6805,6 +6915,16 @@ msgstr "Τιμολόγηση"
msgid "Labels"
msgstr "Ετικέτες"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Παρακολούθηση Αποθέματος"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "Το συναρμολογημένο Προϊόν μπορεί να μη
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Αναθεώρηση"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Αναθεώρηση"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Αναθεώρηση"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Αναθεώρηση"
msgid "Custom Status"
msgstr "Προσαρμοσμένη κατάσταση"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Εξωτερικό"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Αναφορά"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Γονική κατασκευή"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Ποσότητα Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Μπορεί να Κατασκευαστεί"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Ολοκληρωμένες Παραγωγές"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Εκδόθηκε Από"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Υπεύθυνος"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Οποιαδήποτε τοποθεσία"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Τοποθεσία Προορισμού"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Δημιουργήθηκε"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Ημερομηνία Έναρξης"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Ημερομηνία Στόχος"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Τοποθεσία Προορισμού"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Δημιουργήθηκε"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Ημερομηνία Έναρξης"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Ημερομηνία Στόχος"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Ολοκληρώθηκε"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Λεπτομέρειες Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Απαιτούμενα Προϊόντα"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Δεσμευμένο Απόθεμα"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Καταναλωμένο Απόθεμα"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Μη Ολοκληρωμένες Παραγωγές"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Εξωτερικές Παραγγελίες"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Θυγατρικές Εντολές Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Αποτελέσματα Δοκιμών"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Επεξεργασία Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Προσθήκη Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Ακύρωση Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Η παραγγελία ακυρώθηκε"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Ακύρωση της παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Πάγωμα Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Τοποθέτηση παραγγελίας σε αναμονή"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Η παραγγελία τέθηκε σε αναμονή"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Έκδοση Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Έκδοση παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Η παραγγελία εκδόθηκε"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Ολοκλήρωση Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Σήμανση παραγγελίας ως ολοκληρωμένη"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Η παραγγελία ολοκληρώθηκε"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Έκδοση Παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Ολοκλήρωση Παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Ενέργειες Εντολής Κατασκευής"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Επεξεργασία παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Αντιγραφή παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Κατάψυξη παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Ακύρωση παραγγελίας"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Εντολή Κατασκευής"
@@ -7207,7 +7327,7 @@ msgstr "Εντολή Κατασκευής"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Εμφάνιση εξωτερικών εντολών κατασκευής"
@@ -7219,12 +7339,13 @@ msgstr "Εμφάνιση εξωτερικών εντολών κατασκευή
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Προβολή Πίνακα"
@@ -7238,20 +7359,17 @@ msgstr "Προβολή Ημερολογίου"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Ιστοσελίδα"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Τηλέφωνο"
@@ -7271,11 +7389,11 @@ msgstr "Προεπιλεγμένο Νόμισμα"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Κατασκευαστής"
@@ -7284,15 +7402,15 @@ msgstr "Κατασκευαστής"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Πελάτης"
@@ -7320,16 +7438,16 @@ msgstr "Κατασκευασμένα Προϊόντα"
msgid "Assigned Stock"
msgstr "Ανατεθειμένο Απόθεμα"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Επεξεργασία Εταιρείας"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Διαγραφή Εταιρείας"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Ενέργειες Εταιρείας"
@@ -7349,7 +7467,7 @@ msgstr "Εξωτερικός Σύνδεσμος"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Στοιχεία Προϊόντος"
@@ -7363,28 +7481,28 @@ msgstr "Στοιχεία Προϊόντος Κατασκευαστή"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Παραληφθέν Απόθεμα"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Επεξεργασία Προϊόντος Κατασκευαστή"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Προσθήκη Προϊόντος Κατασκευαστή"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Διαγραφή Προϊόντος Κατασκευαστή"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Ενέργειες Προϊόντος Κατασκευαστή"
@@ -7401,7 +7519,7 @@ msgstr "Περιγραφή Προϊόντος"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Ποσότητα Συσκευασίας"
@@ -7427,28 +7545,28 @@ msgstr "Στοιχεία Προϊόντος Προμηθευτή"
msgid "Supplier Pricing"
msgstr "Τιμολόγηση Προμηθευτή"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Ενέργειες Προϊόντος Προμηθευτή"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Επεξεργασία Προϊόντος Προμηθευτή"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Διαγραφή Προϊόντος Προμηθευτή"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Προσθήκη Προϊόντος Προμηθευτή"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Χωρίς Απόθεμα"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Ρόλοι Ομάδας"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Πληροφορίες Χρήστη"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Βασικός χρήστης"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Υποκατηγορίες"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Μετακίνηση Προϊόντων στη γονική κατηγορία"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Διαγραφή Προϊόντων"
@@ -7577,60 +7695,64 @@ msgstr "Στοιχεία Κατηγορίας"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Κατανομές Εντολών Κατασκευής"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Κατανομές Παραγγελιών Πώλησης"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Έλεγχος BOM"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Θέλετε να επικυρώσετε το BOM για αυτό το συναρμολόγημα;"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr "Το BOM προγραμματίστηκε για επικύρωση"
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Το BOM Επικυρώθηκε"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "Το BOM για αυτό το Προϊόν έχει επικυρωθεί"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "Το BOM Δεν Έχει Επικυρωθεί"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "Το BOM για αυτό το Προϊόν έχει ελεγχθεί παλαιότερα, αλλά απαιτεί επανεπικύρωση"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "Το BOM για αυτό το Προϊόν δεν έχει επικυρωθεί ακόμη"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Επικυρώθηκε Στις"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Επικυρώθηκε Από"
@@ -7650,246 +7772,246 @@ msgstr "Επικυρώθηκε Από"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Παραλλαγή του"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Αναθεώρηση του"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Προεπιλεγμένη Τοποθεσία"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Προεπιλεγμένη Τοποθεσία Κατηγορίας"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Μονάδες"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Προεπιλεγμένη Τοποθεσία Κατηγορίας"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Μονάδες"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Λέξεις-Κλειδιά"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Διαθέσιμο Απόθεμα"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Σε παραγγελία"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Απαιτείται για Παραγγελίες"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Δεσμευμένο για Εντολές Κατασκευής"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Δεσμευμένο για Παραγγελίες Πώλησης"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Ελάχιστο Απόθεμα"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Ελάχιστο Απόθεμα"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Κλειδωμένο"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Πρότυπο Προϊόν"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Συναρμολογημένο Προϊόν"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Προϊόν Συστατικού"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Ελέγξιμο Προϊόν"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Ανιχνεύσιμο Προϊόν"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Αγοράσιμο Προϊόν"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Πωλήσιμο Προϊόν"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Εικονικό Προϊόν"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Ημερομηνία Δημιουργίας"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Δημιουργήθηκε Από"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Προεπιλεγμένος Προμηθευτής"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Προεπιλεγμένη Λήξη"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "ημέρες"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Εύρος Τιμής"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Τελευταίος Σειριακός Αριθμός"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Επιλογή Αναθεώρησης Προϊόντος"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Παραλλαγές"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Δεσμεύσεις"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Κατάλογος Υλικών (BOM)"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Χρησιμοποιείται Σε"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Τιμολόγηση Προϊόντος"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Πρότυπα Δοκιμών"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Σχετικά Προϊόντα"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Το Προϊόν είναι Κλειδωμένο"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Οι παράμετροι προϊόντος δεν μπορούν να επεξεργαστούν επειδή το προϊόν είναι κλειδωμένο"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Το Προϊόν είναι Κλειδωμένο"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Οι παράμετροι προϊόντος δεν μπορούν να επεξεργαστούν επειδή το προϊόν είναι κλειδωμένο"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Απαιτείται"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Προσθήκη Προϊόντος"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Διαγραφή Προϊόντος"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Η διαγραφή αυτού του Προϊόντος δεν μπορεί να αναιρεθεί"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Παραγγελία"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Παραγγελία Αποθέματος"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Αναζήτηση με σειριακό αριθμό"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Ενέργειες Προϊόντος"
@@ -7968,35 +8090,46 @@ msgstr "Ιστορικό Πωλήσεων"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Επεξεργασία Καταχώρησης Απογραφής"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Διαγραφή Καταχώρησης Απογραφής"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Αξία Αποθέματος"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Ελάχιστη Αξία"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Μέγιστη Αξία"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Μέγιστη Αξία"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Συνολική Τιμή"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Συστατικό"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Ελάχιστη Τιμή"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Μέγιστη Τιμή"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Τιμή Μονάδας"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Γράφημα Πίτας"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Ραβδόγραμμα"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Τιμολόγηση Αγορών"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Τελευταία Ενημέρωση"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Επεξεργασία Εντολής Αγοράς"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Προσθήκη Εντολής Αγοράς"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Ολοκληρωμένες Γραμμές Είδους"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Προορισμός"
@@ -8275,60 +8411,60 @@ msgstr "Ημερομηνία Έκδοσης"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Ημερομηνία Ολοκλήρωσης"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Λεπτομέρειες Παραγγελίας"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Γραμμές Ειδών"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Επιπλέον Γραμμές Ειδών"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Έκδοση Εντολής Αγοράς"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Ακύρωση Εντολής Αγοράς"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Παύση Εντολής Αγοράς"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Ολοκλήρωση Εντολής Αγοράς"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Ενέργειες Παραγγελίας"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Αναφορά Πελάτη"
@@ -8338,7 +8474,7 @@ msgstr "Διεύθυνση Επιστροφής"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr "Δεν έχει καθοριστεί"
@@ -8346,29 +8482,29 @@ msgstr "Δεν έχει καθοριστεί"
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Επεξεργασία Εντολής Επιστροφής"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Προσθήκη Εντολής Επιστροφής"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Έκδοση Εντολής Επιστροφής"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Ακύρωση Εντολής Επιστροφής"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Παύση Εντολής Επιστροφής"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Ολοκλήρωση Εντολής Επιστροφής"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Ολοκληρωμένες Αποστολές"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr "Διεύθυνση Αποστολής"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Επεξεργασία Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Προσθήκη Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Αποστολές"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Έκδοση Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Ακύρωση Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Παύση Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Αποστολή Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Αποστολή αυτής της παραγγελίας;"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Η παραγγελία αποστάλθηκε"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Ολοκλήρωση Εντολής Πώλησης"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Αποστολή Παραγγελίας"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Αναφορά Αποστολής"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Αριθμός Παρακολούθησης"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Αριθμός Τιμολογίου"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Δεσμευμένα Είδη"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Ελέγχθηκε Από"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr "Δεν ελέγχθηκε"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Ημερομηνία Αποστολής"
@@ -8464,173 +8600,167 @@ msgstr "Ημερομηνία Αποστολής"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Ημερομηνία Παράδοσης"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Λεπτομέρειες Αποστολής"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Επεξεργασία Αποστολής"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Ακύρωση Αποστολής"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Ολοκλήρωση Αποστολής"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Σε εκκρεμότητα"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr "Ελεγμένο"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr "Μη Ελεγμένο"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Απεσταλμένο"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Παραδόθηκε"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Αποστολή Δέματος"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Ενέργειες Αποστολής"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr "Έλεγχος"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr "Σήμανση αποστολής ως ελεγμένη"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr "Αναίρεση Ελέγχου"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr "Σήμανση αποστολής ως μη ελεγμένη"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Μητρική Τοποθεσία"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Υποτοποθεσίες"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Τύπος Τοποθεσίας"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Κορυφαία τοποθεσία αποθέματος"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Λεπτομέρειες Τοποθεσίας"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Προεπιλεγμένα Προϊόντα"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Επεξεργασία Τοποθεσίας Αποθέματος"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Μετακίνηση ειδών στη μητρική τοποθεσία"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Διαγραφή Τοποθεσίας Αποθέματος"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Ενέργεια για Είδη"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Ενέργεια για τα είδη αποθέματος σε αυτή την τοποθεσία"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Επεξεργασία Τοποθεσίας Αποθέματος"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Μετακίνηση ειδών στη μητρική τοποθεσία"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Διαγραφή Τοποθεσίας Αποθέματος"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Ενέργεια για Είδη"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Ενέργεια για τα είδη αποθέματος σε αυτή την τοποθεσία"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr "Ενέργεια Τοποθεσιών"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Ενέργεια για τις θυγατρικές τοποθεσίες σε αυτή την τοποθεσία"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Σάρωση Είδους Αποθέματος"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Το είδος αποθέματος σαρώθηκε στην τοποθεσία"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Σφάλμα κατά τη σάρωση είδους αποθέματος"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Σάρωση Τοποθεσίας Αποθέματος"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Η τοποθεσία αποθέματος σαρώθηκε επιτυχώς"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Σφάλμα κατά τη σάρωση τοποθεσίας αποθέματος"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Ενέργειες Τοποθεσίας"
@@ -8703,10 +8833,6 @@ msgstr "Τελευταία Απογραφή"
msgid "Stock Details"
msgstr "Λεπτομέρειες Αποθέματος"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Παρακολούθηση Αποθέματος"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Εγκατεστημένα Είδη"
msgid "Child Items"
msgstr "Θυγατρικά Είδη"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Επεξεργασία Είδους Αποθέματος"
@@ -8738,15 +8864,15 @@ msgstr "Επεξεργασία Είδους Αποθέματος"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Δημιουργήθηκαν Είδη"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Δημιουργήθηκαν {n} είδη αποθέματος"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Διαγραφή Είδους Αποθέματος"
@@ -8758,7 +8884,7 @@ msgstr "Διαγραφή Είδους Αποθέματος"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Μετατροπή σε Σειριακό Είδος"
@@ -8766,24 +8892,23 @@ msgstr "Μετατροπή σε Σειριακό Είδος"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Το είδος αποθέματος σειριοποιήθηκε"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Σάρωση στην Τοποθεσία"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Σάρωση στην τοποθεσία"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Σάρωση του είδους σε μια τοποθεσία"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Λειτουργίες Αποθέματος"
@@ -8791,12 +8916,12 @@ msgstr "Λειτουργίες Αποθέματος"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Σειριοποίηση"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Σειριοποίηση αποθέματος"
@@ -8804,7 +8929,7 @@ msgstr "Σειριοποίηση αποθέματος"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Ενέργειες Είδους Αποθέματος"
@@ -8820,17 +8945,17 @@ msgstr "Ενέργειες Είδους Αποθέματος"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Μπαγιάτικο / Παρωχημένο"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Έχει λήξει"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Μη διαθέσιμο"
@@ -8855,6 +8980,72 @@ msgstr "Είστε εγγεγραμμένος σε ειδοποιήσεις γι
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Αυτό το Προϊόν αποθέματος είναι σε παραγωγή"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Αυτό το Προϊόν αποθέματος έχει ανατεθεί σε παραγγελία πώλησης"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Αυτό το Προϊόν αποθέματος έχει ανατεθεί σε πελάτη"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Αυτό το Προϊόν αποθέματος είναι εγκατεστημένο σε άλλο Προϊόν αποθέματος"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Αυτό το Προϊόν αποθέματος έχει καταναλωθεί από εντολή παραγωγής"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Αυτό το Προϊόν αποθέματος δεν είναι διαθέσιμο"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Αυτό το Προϊόν αποθέματος έχει λήξει"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Αυτό το Προϊόν αποθέματος είναι παλιό"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Αυτό το Προϊόν αποθέματος έχει πλήρως δεσμευτεί"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Αυτό το Προϊόν αποθέματος έχει μερικώς δεσμευτεί"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Δεν υπάρχει διαθέσιμο απόθεμα"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Αυτό το Προϊόν αποθέματος έχει εξαντληθεί"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Πληροφορίες αποθέματος"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Κατανεμημένες γραμμές"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Επιλογή Στηλών"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Έχει Κωδικό Παρτίδας"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Εμφάνιση ειδών με κωδικό παρτίδας"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Φιλτράρισμα ειδών ανά κωδικό παρτίδας"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Εμφάνιση ειδών που είναι σε απόθεμα"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Είναι Σειριοποιημένο"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Εμφάνιση ειδών με σειριακό αριθμό"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Έχει Κωδικό Παρτίδας"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Εμφάνιση ειδών με κωδικό παρτίδας"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Φιλτράρισμα ειδών ανά κωδικό παρτίδας"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Εμφάνιση ειδών που είναι σε απόθεμα"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Είναι Σειριοποιημένο"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Εμφάνιση ειδών με σειριακό αριθμό"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Σειριακός"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Φιλτράρισμα ειδών ανά σειριακό αριθμό"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Σειριακός Κάτω Από"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Εμφάνιση ειδών με σειριακό αριθμό μικρότερο ή ίσο από την τιμή"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Σειριακός Πάνω Από"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Εμφάνιση ειδών με σειριακό αριθμό μεγαλύτερο ή ίσο από την τιμή"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Ανατεθειμένα σε εμένα"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Εμφάνιση παραγγελιών που έχουν ανατεθεί σε εμένα"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Εκκρεμή"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Εμφάνιση εκκρεμών ειδών"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Εμφάνιση εκπρόθεσμων ειδών"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Ελάχιστη Ημερομηνία"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Εμφάνιση ειδών μετά από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Μέγιστη Ημερομηνία"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Εμφάνιση ειδών πριν από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Δημιουργήθηκε Πριν Από"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Εμφάνιση ειδών που δημιουργήθηκαν πριν από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Δημιουργήθηκε Μετά Από"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Εμφάνιση ειδών που δημιουργήθηκαν μετά από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Ημερομηνία Έναρξης Πριν Από"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Εμφάνιση ειδών με ημερομηνία έναρξης πριν από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Ημερομηνία Έναρξης Μετά Από"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Εμφάνιση ειδών με ημερομηνία έναρξης μετά από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Ημερομηνία-Στόχος Πριν Από"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Εμφάνιση ειδών με ημερομηνία-στόχο πριν από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Ημερομηνία-Στόχος Μετά Από"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Εμφάνιση ειδών με ημερομηνία-στόχο μετά από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Ολοκληρώθηκε Πριν Από"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Εμφάνιση ειδών που ολοκληρώθηκαν πριν από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Ολοκληρώθηκε Μετά Από"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Εμφάνιση ειδών που ολοκληρώθηκαν μετά από αυτή την ημερομηνία"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Ενημερώθηκαν μετά από"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Ενημερώθηκαν πριν από"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Έχει Κωδικό Έργου"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Εμφάνιση παραγγελιών με καταχωρημένο κωδικό έργου"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Συμπερίληψη Παραλλαγών"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Συμπερίληψη αποτελεσμάτων για παραλλαγές Προϊόντων"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Φιλτράρισμα ανά κατάσταση παραγγελίας"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Φιλτράρισμα ανά κωδικό έργου"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Φιλτράρισμα ανά υπεύθυνο ιδιοκτήτη"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Φιλτράρισμα ανά χρήστη"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Φιλτράρισμα ανά κατασκευαστή"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Φιλτράρισμα ανά προμηθευτή"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Φιλτράρισμα ανά χρήστη που δημιούργησε την παραγγελία"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Φιλτράρισμα ανά χρήστη που εξέδωσε την παραγγελία"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Φιλτράρισμα ανά κατηγορία Προϊόντος"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Φιλτράρισμα ανά τοποθεσία αποθέματος"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Αφαίρεση φίλτρου"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Επιλογή τιμής φίλτρου"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Εισαγωγή τιμής φίλτρου"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Επιλογή ημερομηνίας"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Επιλογή φίλτρου"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Φίλτρο"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Φίλτρα Πίνακα"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Προσθήκη Φίλτρου"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Καθαρισμός Φίλτρων"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Δεν βρέθηκαν εγγραφές"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Σφάλμα φόρτωσης επιλογών πίνακα"
@@ -9156,10 +9366,6 @@ msgstr "Σφάλμα φόρτωσης επιλογών πίνακα"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Ο διακομιστής επέστρεψε λανθασμένο τύπο δεδομένων"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Ο διακομιστής επέστρεψε λανθασμένο τύπ
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Ο διακομιστής επέστρεψε λανθασμένο τύπο δεδομένων"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Σφάλμα φόρτωσης δεδομένων πίνακα"
@@ -9190,57 +9400,57 @@ msgstr "Σφάλμα φόρτωσης δεδομένων πίνακα"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Προβολή λεπτομερειών"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr "Προβολή {model}"
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Προβολή λεπτομερειών"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Προβολή {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Διαγραφή Επιλεγμένων Ειδών"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα είδη;"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Τα είδη διαγράφηκαν"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Αποτυχία διαγραφής ειδών"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Τα προσαρμοσμένα φίλτρα πίνακα είναι ενεργά"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Διαγραφή επιλεγμένων εγγραφών"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Ανανέωση δεδομένων"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Ενεργά Φίλτρα"
@@ -9252,71 +9462,71 @@ msgstr "Ενεργά Φίλτρα"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Αυτό το στοιχείο BOM έχει οριστεί για διαφορετικό γονικό"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Πληροφορίες Προϊόντος"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Αυτό το στοιχείο BOM δεν έχει επικυρωθεί"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Υποκατάστατα"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Εικονικό Προϊόν"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Εικονικό Προϊόν"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Εξωτερικό απόθεμα"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Περιλαμβάνει υποκατάστατο απόθεμα"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Περιλαμβάνει απόθεμα παραλλαγών"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Σε κατασκευή"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Σε κατασκευή"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Πληροφορίες αποθέματος"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Αναλώσιμο στοιχείο"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Δεν υπάρχει διαθέσιμο απόθεμα"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Εμφάνιση δοκιμασμένων στοιχείων"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Εμφάνιση ιχνηλάσιμων στοιχείων"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Ενεργό προϊόν"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Εμφάνιση συναρμολογημένων στοιχείων"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Εμφάνιση εικονικών στοιχείων"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Εμφάνιση Προϊόντων με διαθέσιμο απόθεμα"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Εμφάνιση Προϊόντων σε παραγγελία"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Επικυρωμένο"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Εμφάνιση επικυρωμένων στοιχείων"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Κληρονομημένο"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Εμφάνιση κληρονομημένων στοιχείων"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Να επιτρέπονται παραλλαγές"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Εμφάνιση Προϊόντων που επιτρέπουν αντικατάσταση παραλλαγών"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Προαιρετικό"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Εμφάνιση προαιρετικών στοιχείων"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Αναλώσιμο"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Εμφάνιση αναλώσιμων στοιχείων"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Έχει τιμολόγηση"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Εμφάνιση στοιχείων με τιμολόγηση"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Εισαγωγή δεδομένων BOM"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Προσθήκη στοιχείου BOM"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Το στοιχείο BOM δημιουργήθηκε"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Επεξεργασία στοιχείου BOM"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Το στοιχείο BOM ενημερώθηκε"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Διαγραφή στοιχείου BOM"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Το στοιχείο BOM διαγράφηκε"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Το στοιχείο BOM επικυρώθηκε"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Αποτυχία επικύρωσης στοιχείου BOM"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Προβολή BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Επικύρωση γραμμής BOM"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Επεξεργασία υποκατάστατων"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Εισαγωγή από αρχείο"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Το BOM δεν μπορεί να επεξεργαστεί, επειδή το Προϊόν είναι κλειδωμένο"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Συναρμολόγηση"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Εμφάνιση ενεργών συναρμολογήσεων"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Ιχνηλάσιμο"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Εμφάνιση ιχνηλάσιμων συναρμολογήσεων"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Δεσμευμένο για αποτέλεσμα"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Εμφάνιση Προϊόντων δεσμευμένων για αποτέλεσμα κατασκευής"
@@ -9538,17 +9754,17 @@ msgstr "Εμφάνιση Προϊόντων δεσμευμένων για απο
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Κατάσταση παραγγελίας"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Επεξεργασία κατανομής αποθέματος"
@@ -9561,8 +9777,8 @@ msgstr "Επεξεργασία κατανομής αποθέματος"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Κατανάλωση"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,141 +9817,151 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Προβολή Προϊόντος αποθέματος"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Εμφάνιση πλήρως δεσμευμένων γραμμών"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Εμφάνιση πλήρως καταναλωμένων γραμμών"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Εμφάνιση πλήρως καταναλωμένων γραμμών"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Εμφάνιση αναλώσιμων γραμμών"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Εμφάνιση προαιρετικών γραμμών"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Δοκιμασμένο"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Ιχνηλάσιμο"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Εμφάνιση ιχνηλάσιμων γραμμών"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "Σε παραγωγή"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Ανεπαρκές απόθεμα"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Δεν υπάρχει διαθέσιμο απόθεμα"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Κληρονομείται"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Ποσότητα μονάδας"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Ποσότητα ρύθμισης"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Φθορά"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Στρογγυλοποίηση πολλαπλάσιου"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "Πληροφορίες BOM"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Πλήρως δεσμευμένο"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Δημιουργία εντολής κατασκευής"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Αυτόματη κατανομή σε εξέλιξη"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Αυτόματη κατανομή αποθέματος"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Αυτόματη κατανομή αποθέματος σε αυτή την κατασκευή σύμφωνα με τις επιλεγμένες επιλογές"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Αποδέσμευση αποθέματος"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Αποδέσμευση όλου του μη παρακολουθούμενου αποθέματος για αυτή την παραγγελία κατασκευής"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Αποδέσμευση αποθέματος από το επιλεγμένο στοιχείο γραμμής"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Το απόθεμα αποδεσμεύτηκε"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Κατασκευή αποθέματος"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Προβολή Προϊόντος"
@@ -9756,31 +9992,31 @@ msgstr "Προβολή Προϊόντος"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Έχει ημερομηνία στόχο"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Εμφάνιση παραγγελιών με ημερομηνία στόχο"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Έχει ημερομηνία έναρξης"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Εμφάνιση παραγγελιών με ημερομηνία έναρξης"
@@ -9788,7 +10024,7 @@ msgstr "Εμφάνιση παραγγελιών με ημερομηνία ένα
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Κατανομή αποθέματος εξόδου κατασκευής"
@@ -9796,103 +10032,107 @@ msgstr "Κατανομή αποθέματος εξόδου κατασκευής"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Προσθήκη εξόδου κατασκευής"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Η έξοδος κατασκευής δημιουργήθηκε"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Προσθήκη εξόδου κατασκευής"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Η έξοδος κατασκευής δημιουργήθηκε"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Επεξεργασία εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Αυτή η ενέργεια θα αποδεσμεύσει όλο το απόθεμα από την επιλεγμένη έξοδο κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Σειριοποίηση εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Φιλτράρισμα κατά κατάσταση αποθέματος"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Ολοκλήρωση επιλεγμένων εξόδων"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Απόρριψη επιλεγμένων εξόδων"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Ακύρωση επιλεγμένων εξόδων"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Κατανομή"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Κατανομή αποθέματος στην έξοδο κατασκευής"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Απόρριψη επιλεγμένων εξόδων"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Ακύρωση επιλεγμένων εξόδων"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Κατανομή"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Κατανομή αποθέματος στην έξοδο κατασκευής"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Αποδέσμευση"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Αποδέσμευση αποθέματος από την έξοδο κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Σειριοποίηση εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Ολοκλήρωση εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Απόρριψη"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Απόρριψη εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Ακύρωση εξόδου κατασκευής"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Κατανεμημένες γραμμές"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Απαιτούμενες δοκιμές"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Εξωτερική κατασκευή"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Αυτή η εντολή κατασκευής εκτελείται μέσω εξωτερικής εντολής αγοράς"
@@ -9917,28 +10157,28 @@ msgstr "Διαγραφή διεύθυνσης"
msgid "Are you sure you want to delete this address?"
msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή τη διεύθυνση;"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Προσθήκη εταιρείας"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Προσθήκη εταιρείας"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Εμφάνιση ενεργών εταιρειών"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Εμφάνιση εταιρειών που είναι προμηθευτές"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Εμφάνιση εταιρειών που είναι κατασκευαστές"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Εμφάνιση εταιρειών που είναι πελάτες"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Προβολή Προϊόντος"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Προσθήκη γραμμής"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Επεξεργασία γραμμής"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Διαγραφή γραμμής"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Προσθήκη παραμέτρου"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Επεξεργασία παραμέτρου"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Εμφάνιση προτύπων με επιλογές"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Έχει μονάδες"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Ειδοποίηση"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Μήνυμα"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Απαιτούμενο απόθεμα"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Προβολή εντολής παραγωγής"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Έχετε εγγραφεί σε ειδοποιήσεις για αυτήν την κατηγορία"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Συμπερίληψη υποκατηγοριών"
@@ -10560,136 +10800,136 @@ msgstr "Εμφάνιση εκκρεμών παραγγελιών"
msgid "Show received items"
msgstr "Εμφάνιση παραληφθέντων Προϊόντων"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Προβολή παραγγελίας πώλησης"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Ελάχιστο απόθεμα"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Φιλτράρισμα κατά ενεργή κατάσταση προϊόντος"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Φιλτράρισμα κατά κλειδωμένα προϊόντα"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Φιλτράρισμα κατά χαρακτηριστικό συναρμολόγησης"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Έγκυρο BOM"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Φιλτράρισμα προϊόντων με έγκυρο BOM"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Συμπερίληψη προϊόντων σε υποκατηγορίες"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Φιλτράρισμα κατά χαρακτηριστικό Προϊόντος"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Φιλτράρισμα κατά δυνατότητα δοκιμής"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Φιλτράρισμα κατά δυνατότητα ιχνηλάτησης"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Φιλτράρισμα προϊόντων με μονάδες"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Έχει IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Φιλτράρισμα προϊόντων με εσωτερικό κωδικό"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Έχει απόθεμα"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Φιλτράρισμα προϊόντων με διαθέσιμο απόθεμα"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Φιλτράρισμα προϊόντων με χαμηλό απόθεμα"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Αγοράσιμα"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Φιλτράρισμα προϊόντων που μπορούν να αγοραστούν"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Πωλήσιμα"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Φιλτράρισμα προϊόντων που μπορούν να πωληθούν"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Φιλτράρισμα εικονικών προϊόντων"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Μη εικονικά"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Είναι πρότυπο"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Φιλτράρισμα προϊόντων που είναι πρότυπα"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Είναι παραλλαγή"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Φιλτράρισμα προϊόντων που είναι παραλλαγές"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Είναι αναθεώρηση"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Φιλτράρισμα προϊόντων που είναι αναθεωρήσεις"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Έχει αναθεωρήσεις"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Φιλτράρισμα προϊόντων με αναθεωρήσεις"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Φιλτράρισμα προϊόντων με πληροφορίες τιμολόγησης"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Φιλτράρισμα προϊόντων με διαθέσιμο απόθεμα"
@@ -10701,58 +10941,58 @@ msgstr "Φιλτράρισμα προϊόντων με διαθέσιμο από
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Φιλτράρισμα προϊόντων στα οποία ο χρήστης έχει εγγραφεί"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Εισαγωγή προϊόντων"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Ορισμός κατηγορίας"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Ορισμός κατηγορίας για τα επιλεγμένα προϊόντα"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Παραγγελία επιλεγμένων προϊόντων"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Προσθήκη προϊόντων"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Δημιουργία προϊόντος"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Δημιουργία νέου προϊόντος"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr "Εισαγωγή εξαρτημάτων από αρχείο"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr "Εισαγωγή από προμηθευτή"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr "Εισαγωγή εξαρτημάτων από πρόσθετο προμηθευτή"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Προσθήκη αποτελέσματος δοκιμής"
@@ -10774,7 +11014,7 @@ msgstr "Τα αποτελέσματα δοκιμής προστέθηκαν"
msgid "No Result"
msgstr "Κανένα αποτέλεσμα"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Εμφάνιση εξόδων παραγωγής που βρίσκονται σε εξέλιξη"
@@ -10859,7 +11099,15 @@ msgstr "Προβολή γονικού εξαρτήματος"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Τα πρότυπα εξαρτημάτων δεν μπορούν να επεξεργαστούν, καθώς το εξάρτημα είναι κλειδωμένο"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Επιλέξτε"
@@ -10913,7 +11161,7 @@ msgstr "Επεξεργασία λίστας επιλογής"
msgid "Delete Selection List"
msgstr "Διαγραφή λίστας επιλογής"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Στάδιο"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Υποχρεωτικό"
@@ -10973,68 +11221,68 @@ msgstr "Δεν υπάρχει διαθέσιμη περιγραφή"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Επιβεβαίωση ενεργοποίησης plugin"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Επιβεβαίωση απενεργοποίησης plugin"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Το επιλεγμένο plugin θα ενεργοποιηθεί"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Το επιλεγμένο plugin θα απενεργοποιηθεί"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Το επιλεγμένο plugin θα ενεργοποιηθεί"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Το επιλεγμένο plugin θα απενεργοποιηθεί"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Απενεργοποίηση"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Ενεργοποίηση"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Ενεργοποίηση επιλεγμένου plugin"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Ενεργοποίηση"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Ενεργοποίηση επιλεγμένου plugin"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Ενημέρωση επιλεγμένου plugin"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Απεγκατάσταση"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Απεγκατάσταση επιλεγμένου plugin"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Διαγραφή ρυθμίσεων του επιλεγμένου plugin"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Ενεργοποίηση Plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Το plugin ενεργοποιήθηκε"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Το plugin απενεργοποιήθηκε"
@@ -11042,20 +11290,20 @@ msgstr "Το plugin απενεργοποιήθηκε"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Εγκατάσταση Plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Εγκατάσταση"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Το plugin εγκαταστάθηκε με επιτυχία"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Απεγκατάσταση Plugin"
@@ -11063,23 +11311,23 @@ msgstr "Απεγκατάσταση Plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Επιβεβαίωση απεγκατάστασης plugin"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Το επιλεγμένο plugin θα απεγκατασταθεί."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Το plugin απεγκαταστάθηκε με επιτυχία"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Διαγραφή Plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Η διαγραφή αυτής της ρύθμισης plugin θα αφαιρέσει όλες τις συνδεδεμένες ρυθμίσεις και δεδομένα. Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το plugin;"
@@ -11087,11 +11335,11 @@ msgstr "Η διαγραφή αυτής της ρύθμισης plugin θα αφ
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Τα plugins φορτώθηκαν ξανά"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Τα plugins φορτώθηκαν ξανά με επιτυχία"
@@ -11103,7 +11351,7 @@ msgstr "Τα plugins φορτώθηκαν ξανά με επιτυχία"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Επαναφόρτωση Plugins"
@@ -11115,7 +11363,7 @@ msgstr "Επαναφόρτωση Plugins"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Λεπτομέρειες Plugin"
@@ -11127,12 +11375,12 @@ msgstr "Λεπτομέρειες Plugin"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Δείγμα"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Εγκατεστημένο"
@@ -11152,30 +11400,24 @@ msgstr "Εγκατεστημένο"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Ενεργό προϊόν"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr "Εμφάνιση προϊόντων κατασκευαστή για ενεργά εσωτερικά προϊόντα."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr "Ενεργός κατασκευαστής"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr "Εμφάνιση προϊόντων για ενεργούς κατασκευαστές."
@@ -11196,7 +11438,7 @@ msgstr "Εμφάνιση προϊόντων για ενεργούς κατασκ
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Εισαγωγή γραμμών παραγγελίας"
@@ -11204,15 +11446,15 @@ msgstr "Εισαγωγή γραμμών παραγγελίας"
msgid "Supplier Code"
msgstr "Κωδικός προμηθευτή"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Σύνδεσμος προμηθευτή"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Κωδικός κατασκευαστή"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Εμφάνιση γραμμών που έχουν παραληφθεί"
@@ -11222,30 +11464,22 @@ msgstr "Εμφάνιση γραμμών που έχουν παραληφθεί"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Παραλαβή γραμμής"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Παραλαβή Προϊόντων"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Βασικές μονάδες"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Προσθήκη προϊόντος προμηθευτή"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr "Εισαγωγή προϊόντος προμηθευτή"
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr "Εισαγωγή προϊόντος προμηθευτή"
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Προσθήκη προϊόντος προμηθευτή"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Εισαγωγή προϊόντος προμηθευτή"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Εμφάνιση ενεργών προϊόντων προμηθευτή"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Εμφάνιση ενεργών εσωτερικών προϊόντων"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Ενεργός προμηθευτής"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Εμφάνιση ενεργών προμηθευτών"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Εμφάνιση προϊόντων προμηθευτή με απόθεμα"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Ημερομηνία παραλαβής"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Εμφάνιση Προϊόντων που έχουν παραληφθεί"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Φιλτράρισμα βάσει κατάστασης γραμμής"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Παραλαβή επιλεγμένων Προϊόντων"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Παραλαβή Προϊόντος"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Εμφάνιση μη ολοκληρωμένων δεσμεύσεων"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Ανατέθηκε σε αποστολή"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Εμφάνιση δεσμεύσεων που έχουν ανατεθεί σε αποστολή"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Διαθέσιμη ποσότητα"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Δεσμευμένη ποσότητα"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Καμία αποστολή"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Δεν έχει αποσταλεί"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Επεξεργασία δέσμευσης"
@@ -11333,16 +11579,16 @@ msgstr "Επεξεργασία δέσμευσης"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Προβολή αποστολής"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Ανάθεση σε αποστολή"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Ανάθεση σε αποστολή"
@@ -11350,31 +11596,35 @@ msgstr "Ανάθεση σε αποστολή"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Δέσμευση σειριακών αριθμών"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Δέσμευση σειριακών αριθμών"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Εμφάνιση γραμμών με πλήρη δέσμευση"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Εμφάνιση ολοκληρωμένων γραμμών"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Δέσμευση σειριακών"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Παραγωγή αποθέματος"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Παραγγελία αποθέματος"
@@ -11386,78 +11636,82 @@ msgstr "Παραγγελία αποθέματος"
msgid "Create Shipment"
msgstr "Δημιουργία αποστολής"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Προϊόντα"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Επεξεργασία αποστολής"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Ακύρωση αποστολής"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Προσθήκη αποστολής"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr "Εμφάνιση ελεγμένων αποστολών"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Εμφάνιση αποστολών που έχουν σταλεί"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Εμφάνιση παραδομένων αποστολών"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Δημιουργία token"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Το token δημιουργήθηκε"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Ανακλημένο"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "Σε χρήση"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Τελευταία εμφάνιση"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Λήξη"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Εμφάνιση ανακλημένων tokens"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Ανάκληση"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Σφάλμα κατά την ανάκληση token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Τα tokens εμφανίζονται μόνο μία φορά — σημειώστε τα."
@@ -11990,24 +12244,24 @@ msgstr "Ο χρήστης ενημερώθηκε με επιτυχία"
msgid "Error updating user"
msgstr "Σφάλμα κατά την ενημέρωση χρήστη"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Εγκατάσταση Προϊόντος"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Το Προϊόν εγκαταστάθηκε"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Απεγκατάσταση Προϊόντος"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Το Προϊόν απεγκαταστάθηκε"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Απεγκατάσταση αποθέματος"
@@ -12028,207 +12282,159 @@ msgstr "Διαγραφή τύπου τοποθεσίας"
msgid "Icon"
msgstr "Εικονίδιο"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Αυτό το Προϊόν αποθέματος είναι σε παραγωγή"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Ημερομηνία απογραφής"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Αυτό το Προϊόν αποθέματος έχει ανατεθεί σε παραγγελία πώλησης"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Εμφάνιση αποθέματος για ενεργά προϊόντα"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Αυτό το Προϊόν αποθέματος έχει ανατεθεί σε πελάτη"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Εμφάνιση αποθέματος για συναρμολογημένα προϊόντα"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Αυτό το Προϊόν αποθέματος είναι εγκατεστημένο σε άλλο Προϊόν αποθέματος"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Εμφάνιση Προϊόντων που έχουν δεσμευτεί"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Αυτό το Προϊόν αποθέματος έχει καταναλωθεί από εντολή παραγωγής"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Εμφάνιση διαθέσιμων Προϊόντων"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Αυτό το Προϊόν αποθέματος δεν είναι διαθέσιμο"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Συμπερίληψη υποτοποθεσιών"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Αυτό το Προϊόν αποθέματος έχει λήξει"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Συμπερίληψη αποθέματος σε υποτοποθεσίες"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Αυτό το Προϊόν αποθέματος είναι παλιό"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Εξαντλημένο"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Αυτό το Προϊόν αποθέματος έχει πλήρως δεσμευτεί"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Εμφάνιση εξαντλημένου αποθέματος"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Αυτό το Προϊόν αποθέματος έχει μερικώς δεσμευτεί"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Εμφάνιση Προϊόντων σε παραγωγή"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Αυτό το Προϊόν αποθέματος έχει εξαντληθεί"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Εμφάνιση Προϊόντων που έχουν καταναλωθεί από εντολή παραγωγής"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Εμφάνιση Προϊόντων αποθέματος που είναι εγκατεστημένα σε άλλα Προϊόντα"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Απεσταλμένα σε πελάτη"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Εμφάνιση Προϊόντων που έχουν αποσταλεί σε πελάτη"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Εμφάνιση ιχνηλάσιμων Προϊόντων"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Έχει τιμή αγοράς"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Εμφάνιση Προϊόντων που έχουν τιμή αγοράς"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Εμφάνιση Προϊόντων που έχουν λήξει"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Εμφάνιση Προϊόντων που είναι παλαιωμένα"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Έληξαν πριν από"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Εμφάνιση Προϊόντων που έληξαν πριν από αυτή την ημερομηνία"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Έληξαν μετά από"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Εμφάνιση Προϊόντων που έληξαν μετά από αυτή την ημερομηνία"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Εμφάνιση Προϊόντων που ενημερώθηκαν πριν από αυτή την ημερομηνία"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Εμφάνιση Προϊόντων που ενημερώθηκαν μετά από αυτή την ημερομηνία"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Απογραφή πριν από"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Εμφάνιση Προϊόντων που απογράφηκαν πριν από αυτή την ημερομηνία"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Απογραφή μετά από"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Εμφάνιση Προϊόντων που απογράφηκαν μετά από αυτή την ημερομηνία"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Ημερομηνία απογραφής"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Εξωτερική τοποθεσία"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Εμφάνιση αποθέματος για ενεργά προϊόντα"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Εμφάνιση αποθέματος για συναρμολογημένα προϊόντα"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Εμφάνιση Προϊόντων που έχουν δεσμευτεί"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Εμφάνιση διαθέσιμων Προϊόντων"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Συμπερίληψη υποτοποθεσιών"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Συμπερίληψη αποθέματος σε υποτοποθεσίες"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Εξαντλημένο"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Εμφάνιση εξαντλημένου αποθέματος"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Εμφάνιση Προϊόντων σε παραγωγή"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Εμφάνιση Προϊόντων σε εξωτερική τοποθεσία"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Εμφάνιση Προϊόντων που έχουν καταναλωθεί από εντολή παραγωγής"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Εμφάνιση Προϊόντων αποθέματος που είναι εγκατεστημένα σε άλλα Προϊόντα"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Απεσταλμένα σε πελάτη"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Εμφάνιση Προϊόντων που έχουν αποσταλεί σε πελάτη"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Εμφάνιση ιχνηλάσιμων Προϊόντων"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Έχει τιμή αγοράς"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Εμφάνιση Προϊόντων που έχουν τιμή αγοράς"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Εμφάνιση Προϊόντων που έχουν λήξει"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Εμφάνιση Προϊόντων που είναι παλαιωμένα"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Έληξαν πριν από"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Εμφάνιση Προϊόντων που έληξαν πριν από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Έληξαν μετά από"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Εμφάνιση Προϊόντων που έληξαν μετά από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Ενημερώθηκαν πριν από"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Εμφάνιση Προϊόντων που ενημερώθηκαν πριν από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Ενημερώθηκαν μετά από"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Εμφάνιση Προϊόντων που ενημερώθηκαν μετά από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Απογραφή πριν από"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Εμφάνιση Προϊόντων που απογράφηκαν πριν από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Απογραφή μετά από"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Εμφάνιση Προϊόντων που απογράφηκαν μετά από αυτή την ημερομηνία"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Εξωτερική τοποθεσία"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Εμφάνιση Προϊόντων σε εξωτερική τοποθεσία"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Παραγγελία Προϊόντων"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Παραγγελία Προϊόντων"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Ολοκληρώθηκε"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Επεξεργασία αποτελέσματος τεστ"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Το αποτέλεσμα του τεστ ενημερώθηκε"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Διαγραφή αποτελέσματος τεστ"
@@ -12327,27 +12533,27 @@ msgstr "Αποτυχία καταγραφής αποτελέσματος τεσ
msgid "Pass Test"
msgstr "Επιτυχής Δοκιμή"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Εμφάνιση αποτελεσμάτων για υποχρεωτικά τεστ"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Συμπερίληψη εγκατεστημένων"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Εμφάνιση αποτελεσμάτων για εγκατεστημένα Προϊόντα"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Επιτυχία"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Εμφάνιση μόνο επιτυχημένων τεστ"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Εμφάνιση αποτελεσμάτων για ενεργά τεστ"
@@ -12392,15 +12598,23 @@ msgstr "Ορισμός μητρικής τοποθεσίας"
msgid "Set parent location for the selected items"
msgstr "Ορισμός μητρικής τοποθεσίας για τα επιλεγμένα Προϊόντα"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Προστέθηκε"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Αφαιρέθηκε"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Δεν υπάρχουν πληροφορίες χρήστη"
diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po
index 8d593ccbeb..5bda6bb932 100644
--- a/src/frontend/src/locales/en/messages.po
+++ b/src/frontend/src/locales/en/messages.po
@@ -30,7 +30,7 @@ msgstr "Edit"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Delete"
@@ -39,36 +39,36 @@ msgstr "Delete"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Cancel"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Actions"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Search"
@@ -81,42 +81,46 @@ msgid "Fail"
msgstr "Fail"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Yes"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "No"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Part"
@@ -129,7 +133,7 @@ msgstr "Part"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Parts"
@@ -147,11 +151,11 @@ msgid "Parameter"
msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parameters"
@@ -175,37 +179,37 @@ msgstr "Part Test Templates"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Supplier Part"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Supplier Parts"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Manufacturer Part"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Manufacturer Parts"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Part Category"
@@ -213,19 +217,22 @@ msgstr "Part Category"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Part Categories"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Stock Item"
@@ -233,22 +240,22 @@ msgstr "Stock Item"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Stock Items"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Stock Location"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Stock Locations"
@@ -261,8 +268,8 @@ msgid "Stock Location Types"
msgstr "Stock Location Types"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Stock History"
@@ -295,8 +302,8 @@ msgid "Build Items"
msgstr "Build Items"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -307,12 +314,12 @@ msgid "Companies"
msgstr "Companies"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Project Code"
@@ -325,21 +332,21 @@ msgstr "Project Codes"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Purchase Order"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Purchase Orders"
@@ -353,31 +360,31 @@ msgid "Purchase Order Lines"
msgstr "Purchase Order Lines"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Sales Order"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Sales Orders"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Sales Order Shipment"
@@ -386,17 +393,17 @@ msgid "Sales Order Shipments"
msgstr "Sales Order Shipments"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Return Order"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Return Orders"
@@ -415,7 +422,7 @@ msgid "Address"
msgstr "Address"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Addresses"
@@ -429,13 +436,13 @@ msgid "Contact"
msgstr "Contact"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contacts"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Owner"
@@ -446,15 +453,15 @@ msgstr "Owners"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "User"
@@ -508,7 +515,7 @@ msgid "Report Templates"
msgstr "Report Templates"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Plugin Configuration"
@@ -538,31 +545,31 @@ msgstr "Selection Lists"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -579,24 +586,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Build Orders"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Process failed"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Process completed successfully"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Error rendering component"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "An error occurred while rendering this component. Refer to the console for more information."
@@ -632,7 +643,7 @@ msgstr "Barcode"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Scan"
@@ -663,8 +674,8 @@ msgstr "Enter barcode data"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Scan Barcode"
@@ -683,7 +694,7 @@ msgstr "Barcode does not match the expected model type"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Success"
@@ -734,11 +745,11 @@ msgid "Failed to link barcode"
msgstr "Failed to link barcode"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -749,7 +760,7 @@ msgstr "This will remove the link to the associated barcode"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Unlink Barcode"
@@ -761,11 +772,11 @@ msgstr "Open in admin interface"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copied"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copy"
@@ -793,19 +804,15 @@ msgstr "Printing Reports"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Print Label"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Print"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -814,19 +821,19 @@ msgstr "Print"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Print Report"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Printing Actions"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Print Labels"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Print Reports"
@@ -855,8 +862,8 @@ msgstr "You will be redirected to the provider for further actions."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Open Barcode Scanner"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -878,27 +885,32 @@ msgstr "Unsubscribe from notifications"
msgid "Subscribe to notifications"
msgstr "Subscribe to notifications"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Calendar Filters"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Previous month"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Select month"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Next month"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Export data"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -909,7 +921,7 @@ msgid "Error updating order"
msgstr "Error updating order"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Overdue"
@@ -932,7 +944,7 @@ msgstr "Accept Layout"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -974,185 +986,185 @@ msgstr "No Widgets Available"
msgid "There are no more widgets available for the dashboard"
msgstr "There are no more widgets available for the dashboard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Subscribed Parts"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Show the number of parts which you have subscribed to"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Subscribed Categories"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Show the number of part categories which you have subscribed to"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Invalid BOMs"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Assemblies requiring bill of materials validation"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Low Stock"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Show the number of parts which are low on stock"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Required for Build Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Show parts which are required for active build orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Expired Stock Items"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Show the number of stock items which have expired"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Stale Stock Items"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Show the number of stock items which are stale"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Active Build Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Show the number of build orders which are currently active"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Overdue Build Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Show the number of build orders which are overdue"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Assigned Build Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Show the number of build orders which are assigned to you"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Active Sales Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Show the number of sales orders which are currently active"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Overdue Sales Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Show the number of sales orders which are overdue"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Assigned Sales Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Show the number of sales orders which are assigned to you"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Pending Shipments"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Show the number of pending sales order shipments"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Active Purchase Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Show the number of purchase orders which are currently active"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Overdue Purchase Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Show the number of purchase orders which are overdue"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Assigned Purchase Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Show the number of purchase orders which are assigned to you"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Active Return Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Show the number of return orders which are currently active"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Overdue Return Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Show the number of return orders which are overdue"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Assigned Return Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Show the number of return orders which are assigned to you"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Getting Started"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Getting started with InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "News Updates"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "The latest news from InvenTree"
@@ -1195,11 +1207,34 @@ msgstr "No News"
msgid "There are no unread news items"
msgstr "There are no unread news items"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Generating Stocktake Report"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Generate Stocktake Report"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Generate"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Stocktake"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Generate a new stocktake report"
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1207,18 +1242,18 @@ msgstr "There are no unread news items"
msgid "Superuser"
msgstr "Superuser"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Staff"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "No name defined"
@@ -1231,84 +1266,92 @@ msgid "Remove the associated image from this item?"
msgstr "Remove the associated image from this item?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Remove"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr "Image removed"
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr "The image has been removed successfully"
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Drag and drop to upload"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Click to select file(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Image uploaded"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Image has been uploaded successfully"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Upload Error"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Clear"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Submit"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Select from existing images"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Select Image"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Download remote image"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Upload new image"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Upload Image"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Delete image"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Download Image"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Image downloaded successfully"
@@ -1541,7 +1584,7 @@ msgstr "Errors exist for one or more form fields"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Update"
@@ -1574,21 +1617,21 @@ msgstr "Logged in successfully"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Login failed"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Check your input and try again."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Mail delivery successful"
@@ -1623,7 +1666,7 @@ msgstr "Your username"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Password"
@@ -1698,7 +1741,7 @@ msgid "Repeat password"
msgstr "Repeat password"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Register"
@@ -1715,6 +1758,10 @@ msgstr "Registration not active"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "This might be related to missing mail settings or could be a deliberate decision."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Select date and time"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1726,14 +1773,14 @@ msgstr "Host"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1813,6 +1860,7 @@ msgstr "API Version"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1824,7 +1872,7 @@ msgstr "Plugins"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Enabled"
@@ -1845,7 +1893,7 @@ msgstr "Stopped"
msgid "Running"
msgstr "Running"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Select file to upload"
@@ -1853,7 +1901,7 @@ msgstr "Select file to upload"
msgid "Accept suggested value"
msgstr "Accept suggested value"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Select date"
@@ -1866,8 +1914,8 @@ msgid "Uncategorized"
msgstr "Uncategorized"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Search..."
@@ -1885,13 +1933,13 @@ msgstr "Select pack"
msgid "{0} icons"
msgstr "{0} icons"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Loading"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "No results found"
@@ -1935,49 +1983,49 @@ msgstr "Edit Data"
msgid "Delete Row"
msgstr "Delete Row"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Row"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Row contains errors"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Accept"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Valid"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filter by row validation status"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Complete"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filter by row completion status"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Import selected rows"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Processing Data"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "An error occurred"
@@ -1997,31 +2045,31 @@ msgstr "Select column, or leave blank to ignore this field."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignore this field"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapping data columns to database fields"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Accept Column Mapping"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Database Field"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Field Description"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Imported Column"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Default Value"
@@ -2034,8 +2082,8 @@ msgid "Map Columns"
msgstr "Map Columns"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Import Data"
+msgid "Import Rows"
+msgstr "Import Rows"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2065,8 +2113,8 @@ msgstr "Data has been imported successfully"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Close"
@@ -2099,8 +2147,8 @@ msgstr "Options"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Barcode Actions"
@@ -2172,10 +2220,15 @@ msgstr "Unknown error"
msgid "None"
msgstr "None"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree Logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr "Default Language"
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Select language"
@@ -2203,9 +2256,10 @@ msgstr "Updating group roles"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Updated"
@@ -2218,7 +2272,7 @@ msgid "Role"
msgstr "Role"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "View"
@@ -2227,8 +2281,8 @@ msgid "Change"
msgstr "Change"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Add"
@@ -2250,14 +2304,14 @@ msgstr "No items"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Available"
@@ -2315,7 +2369,7 @@ msgstr "Links"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentation"
@@ -2518,7 +2572,7 @@ msgstr "Learn more about {code}"
msgid "Notifications"
msgstr "Notifications"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nothing found..."
@@ -2542,7 +2596,7 @@ msgstr "Settings"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2560,9 +2614,9 @@ msgstr "User Settings"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "System Settings"
@@ -2573,14 +2627,14 @@ msgstr "System Settings"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Admin Center"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2611,19 +2665,19 @@ msgstr "Logout"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Stock"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Manufacturing"
@@ -2631,21 +2685,21 @@ msgstr "Manufacturing"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Purchasing"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Sales"
@@ -2700,7 +2754,7 @@ msgstr "Remove search group"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2708,7 +2762,7 @@ msgstr "Suppliers"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Manufacturers"
@@ -2763,21 +2817,21 @@ msgstr "No results available for search query"
msgid "Attachments"
msgstr "Attachments"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notes"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plugin Provided"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Collapse panels"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Expand panels"
@@ -2804,19 +2858,19 @@ msgstr "Plugin Information"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2830,7 +2884,7 @@ msgstr "Author"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Date"
@@ -2840,48 +2894,54 @@ msgstr "Date"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Active"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Website"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Package Name"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Installation Path"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Builtin"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Package"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Plugin Settings"
@@ -2964,65 +3024,65 @@ msgstr "Unknown model: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Shipment"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inactive"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "No stock"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "On Order"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "In Production"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Details"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3031,78 +3091,76 @@ msgstr "Category"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Location"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Serial Number"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Quantity"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Batch"
@@ -3188,45 +3246,53 @@ msgstr "Add Custom State"
msgid "Create a new custom state for your workflow"
msgstr "Create a new custom state for your workflow"
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Do you want to proceed to change this setting?"
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "This setting requires confirmation"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Edit Setting"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Setting {key} updated successfully"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Setting updated"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Setting {0} updated successfully"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Error editing setting"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Error loading settings"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "No Settings"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "There are no configurable settings available"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "No settings specified"
@@ -3603,19 +3669,19 @@ msgstr "Already Imported"
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Supplier"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Loading..."
@@ -3677,8 +3743,8 @@ msgid "Next"
msgstr "Next"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Edit Part"
@@ -3761,24 +3827,24 @@ msgid "Sales Requirements"
msgstr "Sales Requirements"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "In Stock"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Required Quantity"
@@ -3795,8 +3861,8 @@ msgid "New Supplier Part"
msgstr "New Supplier Part"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Supplier part created"
@@ -3870,9 +3936,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Please correct the errors in the selected parts"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Order Parts"
@@ -4033,77 +4099,89 @@ msgstr "Order Parts"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Go to the InvenTree dashboard"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visit the documentation to learn more about InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "About the InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Server Information"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "About this InvenTree instance"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "License Information"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenses for dependencies of the service"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Open Navigation"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Open the main navigation menu"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Scan a barcode or QR code"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr "Go to your user settings"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Import Data"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Import data from a file"
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr "Go to Purchase Orders"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr "Go to Sales Orders"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr "Go to Return Orders"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Scan a barcode or QR code"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr "Go to Build Orders"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr "Go to System Settings"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Go to the Admin Center"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Manage InvenTree plugins"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4343,19 +4421,19 @@ msgstr "About the InvenTree Project"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Substitute Part"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Edit BOM Substitutes"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Add Substitute"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Substitute added"
@@ -4369,53 +4447,53 @@ msgstr "Substitute added"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Build Output"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr "Quantity to Complete"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Complete Build Outputs"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Build outputs have been completed"
@@ -4423,143 +4501,133 @@ msgstr "Build outputs have been completed"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr "Quantity to Scrap"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Scrap Build Outputs"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Selected build outputs will be completed, but marked as scrapped"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Allocated stock items will be consumed"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Build outputs have been scrapped"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Build outputs have been scrapped"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancel Build Outputs"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Selected build outputs will be removed"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Allocated stock items will be returned to stock"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Build outputs have been cancelled"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Allocated"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Source Location"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Select the source location for the stock allocation"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Allocate Stock"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Stock items allocated"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Consume Stock"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr "Stock items scheduled to be consumed"
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Consume Stock"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Fully consumed"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Consumed"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr "Select project code for this line item"
@@ -4567,16 +4635,16 @@ msgstr "Select project code for this line item"
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Subscribed"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Subscribe to notifications for this part"
@@ -4588,11 +4656,11 @@ msgstr "Subscribe to notifications for this part"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Parent part category"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Subscribe to notifications for this category"
@@ -4600,67 +4668,71 @@ msgstr "Subscribe to notifications for this category"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Assign Batch Code and Serial Numbers"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Assign Batch Code"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Choose Location"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Item Destination selected"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Part category default location selected"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Received stock location selected"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Default location selected"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Set Location"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Assign Batch Code"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Assign Serial Numbers"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Set Expiry Date"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Adjust Packaging"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Adjust Packaging"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Change Status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Add Note"
@@ -4668,56 +4740,56 @@ msgstr "Add Note"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Store at default location"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Store at line item destination "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Store with already received stock"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Batch Code"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Enter batch code for received items"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Serial Numbers"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Enter serial numbers for received items"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Expiry Date"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Enter an expiry date for received items"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4725,71 +4797,89 @@ msgstr "Enter an expiry date for received items"
msgid "Packaging"
msgstr "Packaging"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Note"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Received"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Receive Line Items"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Items received"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Receive Items"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Item received into stock"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr "Price based on part and quantity differs{0}"
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr "Check Shipment"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr "Shipment marked as checked"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr "Uncheck Shipment"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr "Marking the shipment as unchecked indicates that the shipment requires further verification"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr "Shipment marked as unchecked"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr "Completing shipment"
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr "Shipment completed successfully"
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Complete Shipment"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr "Leave blank to use the order address"
@@ -4801,193 +4891,202 @@ msgstr "Leave blank to use the order address"
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Add given quantity as packs instead of individual items"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Enter initial quantity for this stock item"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Enter serial numbers for new stock (or leave blank)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Stock Status"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Add Stock Item"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Select the part to install"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Confirm Stock Transfer"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Move to default location"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Move"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Return"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Count"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Add Stock"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Stock added"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Increase the quantity of the selected stock items by a given amount."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Remove Stock"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Stock removed"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Decrease the quantity of the selected stock items by a given amount."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transfer Stock"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Stock transferred"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Transfer selected items to the specified location."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Return Stock"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Stock returned"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Return selected items into stock, to the specified location."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Count Stock"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Stock counted"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Count the selected stock items, and adjust the quantity accordingly."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Change Stock Status"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Stock status changed"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Change the status of the selected stock items."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr "Change Batch Code"
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr "Change batch code for the selected stock items"
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Merge Stock"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Stock merged"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Merge Stock Items"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Merge operation cannot be reversed"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Tracking information may be lost when merging items"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Supplier information may be lost when merging items"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Assign Stock to Customer"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Stock assigned to customer"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Delete Stock Items"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Stock deleted"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "This operation will permanently delete the selected stock items."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Parent stock location"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Find Serial Number"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "No matching items"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Multiple matching items"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Invalid response from server"
@@ -5000,10 +5099,10 @@ msgid "List of entries to choose from"
msgstr "List of entries to choose from"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5057,99 +5156,110 @@ msgstr "Internal server error"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Already logged in"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Logged Out"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+msgstr "There was a conflicting session for this browser, which has been logged out."
#: 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 "No response from server."
+msgstr "No response from server."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "MFA Login successful"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "MFA details were automatically provided in the browser"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Logged Out"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Successfully logged out"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Language changed"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Your active language has been changed to the one set in your profile"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Theme changed"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Your active theme has been changed to the one set in your profile"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Reset failed"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Already logged in"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "There is a conflicting session on the server for this browser. Please logout of that first."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Logged In"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Successfully logged in"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Failed to set up MFA"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "MFA Setup successful"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr "MFA via TOTP has been set up successfully; you will need to login again."
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Password set"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "The password was set successfully. You can now login with your new password"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Password could not be changed"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "The two password fields didn’t match"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Password Changed"
@@ -5205,23 +5315,14 @@ msgstr "The request timed out"
msgid "Exporting Data"
msgstr "Exporting Data"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Export Data"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Export"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Process failed"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Process completed successfully"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Item Created"
@@ -5250,52 +5351,56 @@ msgstr "Are you sure you want to delete this item?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Count selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Add to selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Remove from selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Transfer selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Merge selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Change status of selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr "Change batch code of selected stock items"
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Assign Stock"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Assign selected stock items to a customer"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Return selected items into stock"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Delete Stock"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Delete selected stock items"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Stock Actions"
@@ -5352,15 +5457,15 @@ msgstr "No selection"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Login"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Logging you in"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Don't have an account?"
@@ -5378,12 +5483,12 @@ msgstr "Don't have an account?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Multi-Factor Authentication"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP Code"
@@ -5881,7 +5986,7 @@ msgid "Position"
msgstr "Position"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Type"
@@ -5928,220 +6033,220 @@ msgstr "Edit Profile"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr "Reauthentication Succeeded"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr "You have been reauthenticated successfully."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr "Error during reauthentication"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr "Reauthentication Failed"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr "Failed to reauthenticate"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr "Reauthenticate"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr "Reauthentiction is required to continue."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Enter your password"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr "Enter one of your TOTP codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr "WebAuthn Credential Removed"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr "WebAuthn credential removed successfully."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr "Error removing WebAuthn credential"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr "Remove WebAuthn Credential"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr "Confirm Removal"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr "Confirm removal of webauth credential"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr "TOTP Removed"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr "TOTP token removed successfully."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr "Error removing TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr "Remove TOTP Token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr "Confirm removal of TOTP code"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr "TOTP Already Registered"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr "A TOTP token is already registered for this account."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr "Error Fetching TOTP Registration"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr "An unexpected error occurred while fetching TOTP registration data."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr "TOTP Registered"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr "TOTP token registered successfully."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Error registering TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Register TOTP Token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr "Error fetching recovery codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Recovery Codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr "The following one time recovery codes are available for use"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr "Copy recovery codes to clipboard"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr "No Unused Codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr "There are no available recovery codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr "WebAuthn Registered"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr "WebAuthn credential registered successfully"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr "Error registering WebAuthn credential"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr "WebAuthn Registration Failed"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr "Failed to register WebAuthn credential"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr "Error fetching WebAuthn registration"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Time-based One-Time Password"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "One-Time pre-generated recovery codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr "Web Authentication (WebAuthn) is a web standard for secure authentication"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Last used at"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Created at"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Not Configured"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "No multi-factor tokens configured for this account"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr "Register Authentication Method"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr "No MFA Methods Available"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr "There are no MFA methods available for configuration"
@@ -6157,47 +6262,47 @@ msgstr "One-Time Password"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Enter the TOTP code to ensure it registered correctly"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Email Addresses"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Email Addresses"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Single Sign On"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Not enabled"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Single Sign On is not enabled for this server "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Not enabled"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Single Sign On is not enabled for this server "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Access Tokens"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Session Information"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6205,61 +6310,58 @@ msgstr "Session Information"
msgid "Timestamp"
msgstr "Timestamp"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Method"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Error while updating email"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Currently no email addresses are registered."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "The following email addresses are associated with your account:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primary"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verified"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Unverified"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Make Primary"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Re-send Verification"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Add Email Address"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-Mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-Mail address"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Add Email Address"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-Mail address"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6269,23 +6371,27 @@ msgstr "Error while adding email"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Error while adding email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Add Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "There are no providers connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "You can sign in to your account using any of the following providers"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Remove Provider Link"
@@ -6415,7 +6521,7 @@ msgstr "Dots"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Currency"
@@ -6680,30 +6786,34 @@ msgstr "Attach to Model"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Background worker not running"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr "Background worker running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Background worker not running"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "The background task manager service is not running. Contact your system administrator."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Pending Tasks"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Scheduled Tasks"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Failed Tasks"
@@ -6800,6 +6910,16 @@ msgstr "Pricing"
msgid "Labels"
msgstr "Labels"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr "Part Stocktake"
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Stock Tracking"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6884,15 +7004,6 @@ msgstr "The assembled part may not have a Bill of Materials (BOM) defined, or th
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revision"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6901,7 +7012,20 @@ msgstr "Revision"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revision"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6909,291 +7033,287 @@ msgstr "Revision"
msgid "Custom Status"
msgstr "Custom Status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "External"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Reference"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Parent Build"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Build Quantity"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Can Build"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Completed Outputs"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Issued By"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsible"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Any location"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Destination Location"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Created"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Start Date"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Destination Location"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Created"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Start Date"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Target Date"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Completed"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Build Details"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Required Parts"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Allocated Stock"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Consumed Stock"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Incomplete Outputs"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "External Orders"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Child Build Orders"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Test Results"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Edit Build Order"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Add Build Order"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Cancel Build Order"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Order cancelled"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Cancel this order"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Hold Build Order"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Place this order on hold"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Order placed on hold"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Issue Build Order"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Issue this order"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Order issued"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Complete Build Order"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Mark this order as complete"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Order completed"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Issue Order"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Complete Order"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Build Order Actions"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Edit order"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplicate order"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Hold order"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Cancel order"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Build Order"
@@ -7202,7 +7322,7 @@ msgstr "Build Order"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Show external build orders"
@@ -7214,12 +7334,13 @@ msgstr "Show external build orders"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Table View"
@@ -7233,20 +7354,17 @@ msgstr "Calendar View"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr "Parametric View"
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Website"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Phone Number"
@@ -7266,11 +7384,11 @@ msgstr "Default Currency"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Manufacturer"
@@ -7279,15 +7397,15 @@ msgstr "Manufacturer"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Customer"
@@ -7315,16 +7433,16 @@ msgstr "Manufactured Parts"
msgid "Assigned Stock"
msgstr "Assigned Stock"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Edit Company"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Delete Company"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Company Actions"
@@ -7344,7 +7462,7 @@ msgstr "External Link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Part Details"
@@ -7358,28 +7476,28 @@ msgstr "Manufacturer Part Details"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Received Stock"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Edit Manufacturer Part"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Add Manufacturer Part"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Delete Manufacturer Part"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Manufacturer Part Actions"
@@ -7396,7 +7514,7 @@ msgstr "Part Description"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Pack Quantity"
@@ -7422,28 +7540,28 @@ msgstr "Supplier Part Details"
msgid "Supplier Pricing"
msgstr "Supplier Pricing"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Supplier Part Actions"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Edit Supplier Part"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Delete Supplier Part"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Add Supplier Part"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "No Stock"
@@ -7469,7 +7587,7 @@ msgid "Group Roles"
msgstr "Group Roles"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "User Information"
@@ -7491,7 +7609,7 @@ msgid "Basic user"
msgstr "Basic user"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7507,7 +7625,7 @@ msgid "Subcategories"
msgstr "Subcategories"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7536,7 +7654,7 @@ msgid "Move items to parent category"
msgstr "Move items to parent category"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Delete items"
@@ -7572,60 +7690,64 @@ msgstr "Category Details"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Build Order Allocations"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Sales Order Allocations"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr "Validating BOM"
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr "BOM validated"
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Validate BOM"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Do you want to validate the bill of materials for this assembly?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr "Bill of materials scheduled for validation"
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "BOM Validated"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "The Bill of Materials for this part has been validated"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "BOM Not Validated"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "The Bill of Materials for this part has previously been checked, but requires revalidation"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "The Bill of Materials for this part has not yet been validated"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validated On"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validated By"
@@ -7645,246 +7767,246 @@ msgstr "Validated By"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variant of"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revision of"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Default Location"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Category Default Location"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Units"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Category Default Location"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Units"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Keywords"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Available Stock"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "On order"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Required for Orders"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Allocated to Build Orders"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Allocated to Sales Orders"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimum Stock"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimum Stock"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Locked"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Template Part"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Assembled Part"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Component Part"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Testable Part"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Trackable Part"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Purchaseable Part"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Saleable Part"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtual Part"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Creation Date"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Created By"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Default Supplier"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Default Expiry"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "days"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Price Range"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Latest Serial Number"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Select Part Revision"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Bill of Materials"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Used In"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Part Pricing"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Test Templates"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Related Parts"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Part is Locked"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Part parameters cannot be edited, as the part is locked"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Part is Locked"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Part parameters cannot be edited, as the part is locked"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Required"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr "Deficit"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Add Part"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Delete Part"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Deleting this part cannot be reversed"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Order"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Order Stock"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Search by serial number"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Part Actions"
@@ -7963,35 +8085,46 @@ msgstr "Sale History"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Edit Stocktake Entry"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Delete Stocktake Entry"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr "Stocktake report scheduled for generation"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr "Stock Quantity"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Stock Value"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr "Generate Stocktake Entry"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimum Value"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maximum Value"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr "Stocktake Entries"
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8003,33 +8136,33 @@ msgstr "Maximum Value"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Component"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimum Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8043,25 +8176,25 @@ msgstr "Maximum Price"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Unit Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Pie Chart"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Bar Chart"
@@ -8131,9 +8264,12 @@ msgid "Purchase Pricing"
msgstr "Purchase Pricing"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Last Updated"
@@ -8205,8 +8341,8 @@ msgid "Edit Purchase Order"
msgstr "Edit Purchase Order"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Add Purchase Order"
@@ -8227,7 +8363,7 @@ msgid "Completed Line Items"
msgstr "Completed Line Items"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destination"
@@ -8270,60 +8406,60 @@ msgstr "Issue Date"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Completion Date"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Order Details"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Line Items"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Extra Line Items"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Issue Purchase Order"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Cancel Purchase Order"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Hold Purchase Order"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Complete Purchase Order"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Order Actions"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Customer Reference"
@@ -8333,7 +8469,7 @@ msgstr "Return Address"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr "Not specified"
@@ -8341,29 +8477,29 @@ msgstr "Not specified"
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Edit Return Order"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Add Return Order"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Issue Return Order"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Cancel Return Order"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Hold Return Order"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Complete Return Order"
@@ -8372,86 +8508,86 @@ msgid "Completed Shipments"
msgstr "Completed Shipments"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr "Shipping Address"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Edit Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Add Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Shipments"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Issue Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Cancel Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Hold Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Ship Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Ship this order?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Order shipped"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Complete Sales Order"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Ship Order"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Shipment Reference"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Tracking Number"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Invoice Number"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Allocated Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Checked By"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr "Not checked"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Shipment Date"
@@ -8459,173 +8595,167 @@ msgstr "Shipment Date"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Delivery Date"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Shipment Details"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Edit Shipment"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Cancel Shipment"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Complete Shipment"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Pending"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr "Checked"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr "Not Checked"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Shipped"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Delivered"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Send Shipment"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Shipment Actions"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr "Check"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr "Mark shipment as checked"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr "Uncheck"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr "Mark shipment as unchecked"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Parent Location"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sublocations"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Location Type"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Top level stock location"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Location Details"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Default Parts"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Edit Stock Location"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Move items to parent location"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Delete Stock Location"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Items Action"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Action for stock items in this location"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Edit Stock Location"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Move items to parent location"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Delete Stock Location"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Items Action"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Action for stock items in this location"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr "Locations Action"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Action for child locations in this location"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Scan Stock Item"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Scanned stock item into location"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Error scanning stock item"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Scan Stock Location"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Scanned stock location into location"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Error scanning stock location"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Location Actions"
@@ -8698,10 +8828,6 @@ msgstr "Last Stocktake"
msgid "Stock Details"
msgstr "Stock Details"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Stock Tracking"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8714,7 +8840,7 @@ msgstr "Installed Items"
msgid "Child Items"
msgstr "Child Items"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Edit Stock Item"
@@ -8733,15 +8859,15 @@ msgstr "Edit Stock Item"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Items Created"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Created {n} stock items"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Delete Stock Item"
@@ -8753,7 +8879,7 @@ msgstr "Delete Stock Item"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serialize Stock Item"
@@ -8761,24 +8887,23 @@ msgstr "Serialize Stock Item"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Stock item serialized"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Scan Into Location"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Scan into location"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Scan this item into a location"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Stock Operations"
@@ -8786,12 +8911,12 @@ msgstr "Stock Operations"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serialize"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serialize stock"
@@ -8799,7 +8924,7 @@ msgstr "Serialize stock"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Stock Item Actions"
@@ -8815,17 +8940,17 @@ msgstr "Stock Item Actions"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Stale"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Expired"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Unavailable"
@@ -8850,6 +8975,72 @@ msgstr "You are subscribed to notifications for this part"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "This stock item is in production"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "This stock item has been assigned to a sales order"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "This stock item has been assigned to a customer"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "This stock item is installed in another stock item"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "This stock item has been consumed by a build order"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "This stock item is unavailable"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "This stock item has expired"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "This stock item is stale"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr "This stock item is over-allocated"
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "This stock item is fully allocated"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "This stock item is partially allocated"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "No stock available"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "This stock item has been depleted"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Stock Information"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Allocated Lines"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8883,263 +9074,282 @@ msgstr "Select Columns"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Has Batch Code"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Show items which have a batch code"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filter items by batch code"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Show items which are in stock"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Is Serialized"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Show items which have a serial number"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Has Batch Code"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Show items which have a batch code"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filter items by batch code"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Show items which are in stock"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Is Serialized"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Show items which have a serial number"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Serial"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Filter items by serial number"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Serial Below"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Show items with serial numbers less than or equal to a given value"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Serial Above"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Show items with serial numbers greater than or equal to a given value"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Assigned to me"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Show orders assigned to me"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Outstanding"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Show outstanding items"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Show overdue items"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Minimum Date"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Show items after this date"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Maximum Date"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Show items before this date"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Created Before"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Show items created before this date"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Created After"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Show items created after this date"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Start Date Before"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Show items with a start date before this date"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Start Date After"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Show items with a start date after this date"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Target Date Before"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Show items with a target date before this date"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Target Date After"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Show items with a target date after this date"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Completed Before"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Show items completed before this date"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Completed After"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Show items completed after this date"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Updated After"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr "Show orders updated after this date"
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Updated Before"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr "Show orders updated before this date"
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Has Project Code"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Show orders with an assigned project code"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Include Variants"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Include results for part variants"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filter by order status"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filter by project code"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filter by responsible owner"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filter by user"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Filter by manufacturer"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Filter by supplier"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filter by user who created the order"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Filter by user who issued the order"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Filter by part category"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Filter by stock location"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Remove filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Select filter value"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Enter filter value"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Select date value"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Select filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Table Filters"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Add Filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Clear Filters"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "No records found"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Error loading table options"
@@ -9151,10 +9361,6 @@ msgstr "Error loading table options"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Server returned incorrect data type"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9171,7 +9377,11 @@ msgstr "Server returned incorrect data type"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server returned incorrect data type"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Error loading table data"
@@ -9185,57 +9395,57 @@ msgstr "Error loading table data"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "View details"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr "View {model}"
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "View details"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "View {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Delete Selected Items"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Are you sure you want to delete the selected items?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "This action cannot be undone"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Items deleted"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Failed to delete items"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Custom table filters are active"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Delete selected records"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Refresh data"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Active Filters"
@@ -9247,71 +9457,71 @@ msgstr "Active Filters"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "This BOM item is defined for a different parent"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Part Information"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "This BOM item has not been validated"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Substitutes"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtual part"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtual part"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "External stock"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Includes substitute stock"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Includes variant stock"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Building"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9324,203 +9534,209 @@ msgstr "Building"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Stock Information"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Consumable item"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "No available stock"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Show testable items"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Show trackable items"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Active Part"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr "Show active items"
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Show assembled items"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Show virtual items"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Show items with available stock"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Show items on order"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validated"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Show validated items"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Inherited"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Show inherited items"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Allow Variants"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Show items which allow variant substitution"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Optional"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Show optional items"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consumable"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Show consumable items"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Has Pricing"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Show items with pricing"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Import BOM Data"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Add BOM Item"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "BOM item created"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Edit BOM Item"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "BOM item updated"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Delete BOM Item"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "BOM item deleted"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "BOM item validated"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Failed to validate BOM item"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "View BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Validate BOM Line"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Edit Substitutes"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr "Add BOM Items"
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr "Add a single BOM item"
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Import from File"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr "Import BOM items from a file"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Bill of materials cannot be edited, as the part is locked"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Assembly"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Show active assemblies"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Trackable"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Show trackable assemblies"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Allocated to Output"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Show items allocated to a build output"
@@ -9533,17 +9749,17 @@ msgstr "Show items allocated to a build output"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Order Status"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Edit Stock Allocation"
@@ -9556,8 +9772,8 @@ msgstr "Edit Stock Allocation"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr "Remove Allocated Stock"
@@ -9567,18 +9783,28 @@ msgstr "Remove Allocated Stock"
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr "Are you sure you want to remove this allocated stock from the order?"
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr "Consuming allocated stock"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr "Stock consumed successfully"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Consume"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr "Remove allocated stock"
@@ -9586,141 +9812,151 @@ msgstr "Remove allocated stock"
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "View Stock Item"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Show fully allocated lines"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Show fully consumed lines"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Show fully consumed lines"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr "Show items with sufficient available stock"
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Show consumable lines"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Show optional lines"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testable"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Tracked"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Show tracked lines"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr "Show items with stock on order"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "In production"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Insufficient stock"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "No stock available"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Gets Inherited"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Unit Quantity"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Setup Quantity"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Attrition"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Rounding Multiple"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "BOM Information"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Fully allocated"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Create Build Order"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr "Allocating stock to build order"
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr "Stock allocation complete"
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Auto Allocate Stock"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr "Automatically allocate untracked BOM items to this build according to the selected options"
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Deallocate Stock"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Deallocate all untracked stock for this build order"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Deallocate stock from the selected line item"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Stock has been deallocated"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Build Stock"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "View Part"
@@ -9751,31 +9987,31 @@ msgstr "View Part"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Has Target Date"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Show orders with a target date"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Has Start Date"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Show orders with a start date"
@@ -9783,7 +10019,7 @@ msgstr "Show orders with a start date"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Build Output Stock Allocation"
@@ -9791,103 +10027,107 @@ msgstr "Build Output Stock Allocation"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Add Build Output"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr "Automatically allocate tracked BOM items to this build according to the selected options"
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Add Build Output"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Build output created"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Edit Build Output"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "This action will deallocate all stock from the selected build output"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Serialize Build Output"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filter by stock status"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Complete selected outputs"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Scrap selected outputs"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Cancel selected outputs"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Allocate"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Allocate stock to build output"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Scrap selected outputs"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Cancel selected outputs"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Allocate"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Allocate stock to build output"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Deallocate"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Deallocate stock from build output"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Serialize build output"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Complete build output"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Scrap"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Scrap build output"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Cancel build output"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Allocated Lines"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Required Tests"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "External Build"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "This build order is fulfilled by an external purchase order"
@@ -9912,28 +10152,28 @@ msgstr "Delete Address"
msgid "Are you sure you want to delete this address?"
msgstr "Are you sure you want to delete this address?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Add Company"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Add Company"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Show active companies"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Show companies which are suppliers"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Show companies which are manufacturers"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Show companies which are customers"
@@ -10043,26 +10283,26 @@ msgid "View Item"
msgstr "View Item"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Add Line Item"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Edit Line Item"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Delete Line Item"
@@ -10092,14 +10332,14 @@ msgid "Import Parameters"
msgstr "Import Parameters"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Add Parameter"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Edit Parameter"
@@ -10158,7 +10398,7 @@ msgid "Show templates with choices"
msgstr "Show templates with choices"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Has Units"
@@ -10418,7 +10658,7 @@ msgid "Notification"
msgstr "Notification"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Message"
@@ -10462,7 +10702,7 @@ msgid "Required Stock"
msgstr "Required Stock"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "View Build Order"
@@ -10471,7 +10711,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "You are subscribed to notifications for this category"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Include Subcategories"
@@ -10555,136 +10795,136 @@ msgstr "Show pending orders"
msgid "Show received items"
msgstr "Show received items"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "View Sales Order"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimum stock"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filter by part active status"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filter by part locked status"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filter by assembly attribute"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "BOM Valid"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Filter by parts with a valid BOM"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Include parts in subcategories"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filter by component attribute"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filter by testable attribute"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filter by trackable attribute"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filter by parts which have units"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Has IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
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:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Has Stock"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filter by parts which have stock"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filter by parts which have low stock"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Purchaseable"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filter by parts which are purchaseable"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Salable"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filter by parts which are salable"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filter by parts which are virtual"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Not Virtual"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Is Template"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filter by parts which are templates"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Is Variant"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Filter by parts which are variants"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Is Revision"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filter by parts which are revisions"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Has Revisions"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filter by parts which have revisions"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filter by parts which have pricing information"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filter by parts which have available stock"
@@ -10696,58 +10936,58 @@ msgstr "Filter by parts which have available stock"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filter by parts to which the user is subscribed"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Import Parts"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Set Category"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Set category for selected parts"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Order selected parts"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Add Parts"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Create Part"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Create a new part"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr "Import parts from a file"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr "Import from Supplier"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr "Import parts from a supplier plugin"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Add Test Result"
@@ -10769,7 +11009,7 @@ msgstr "Test results added"
msgid "No Result"
msgstr "No Result"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Show build outputs currently in production"
@@ -10854,7 +11094,15 @@ msgstr "View Parent Part"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Part templates cannot be edited, as the part is locked"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr "Image updated"
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr "The image has been updated successfully"
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Select"
@@ -10908,7 +11156,7 @@ msgstr "Edit Selection List"
msgid "Delete Selection List"
msgstr "Delete Selection List"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Stage"
@@ -10938,7 +11186,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Mandatory"
@@ -10968,68 +11216,68 @@ msgstr "Description not available"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Confirm plugin activation"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Confirm plugin deactivation"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "The selected plugin will be activated"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "The selected plugin will be deactivated"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "The selected plugin will be activated"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "The selected plugin will be deactivated"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Deactivate"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Activate"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Activate selected plugin"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Activate"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Activate selected plugin"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Update selected plugin"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Uninstall"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Uninstall selected plugin"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Delete selected plugin configuration"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Activate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "The plugin was activated"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "The plugin was deactivated"
@@ -11037,20 +11285,20 @@ msgstr "The plugin was deactivated"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Install Plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Install"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin installed successfully"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Uninstall Plugin"
@@ -11058,23 +11306,23 @@ msgstr "Uninstall Plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Confirm plugin uninstall"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "The selected plugin will be uninstalled."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin uninstalled successfully"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Delete Plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
@@ -11082,11 +11330,11 @@ msgstr "Deleting this plugin configuration will remove all associated settings a
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plugins reloaded"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Plugins were reloaded successfully"
@@ -11098,7 +11346,7 @@ msgstr "Plugins were reloaded successfully"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Reload Plugins"
@@ -11110,7 +11358,7 @@ msgstr "Reload Plugins"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Plugin Detail"
@@ -11122,12 +11370,12 @@ msgstr "Plugin Detail"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Sample"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installed"
@@ -11147,30 +11395,24 @@ msgstr "Installed"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Active Part"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr "Show manufacturer parts for active internal parts."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr "Active Manufacturer"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr "Show manufacturer parts for active manufacturers."
@@ -11191,7 +11433,7 @@ msgstr "Show manufacturer parts for active manufacturers."
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Import Line Items"
@@ -11199,15 +11441,15 @@ msgstr "Import Line Items"
msgid "Supplier Code"
msgstr "Supplier Code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Supplier Link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Manufacturer Code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Show line items which have been received"
@@ -11217,30 +11459,22 @@ msgstr "Show line items which have been received"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Receive line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Receive items"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Base units"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Add supplier part"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr "Import supplier part"
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11249,77 +11483,89 @@ msgstr "Import supplier part"
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Add supplier part"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Import supplier part"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Show active supplier parts"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr "Show primary supplier parts"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Show active internal parts"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Active Supplier"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Show active suppliers"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Show supplier parts with stock"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Received Date"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Show items which have been received"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filter by line item status"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Receive selected items"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Receive Item"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Show outstanding allocations"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Assigned to Shipment"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Show allocations assigned to a shipment"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Available Quantity"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Allocated Quantity"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "No shipment"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Not shipped"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Edit Allocation"
@@ -11328,16 +11574,16 @@ msgstr "Edit Allocation"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "View Shipment"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Assign to Shipment"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Assign to shipment"
@@ -11345,31 +11591,35 @@ msgstr "Assign to shipment"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Allocate Serial Numbers"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr "Stock allocated successfully"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Show lines which are fully allocated"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Show lines which are completed"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Allocate serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Build stock"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Order stock"
@@ -11381,78 +11631,82 @@ msgstr "Order stock"
msgid "Create Shipment"
msgstr "Create Shipment"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr "Shipment created"
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Items"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Edit shipment"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Cancel shipment"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Add shipment"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr "Show shipments which have been checked"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Show shipments which have been shipped"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Show shipments which have been delivered"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Generate Token"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token generated"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Revoked"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "In Use"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Last Seen"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Expiry"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Show revoked tokens"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Revoke"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Error revoking token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Tokens are only shown once - make sure to note it down."
@@ -11985,24 +12239,24 @@ msgstr "User updated successfully"
msgid "Error updating user"
msgstr "Error updating user"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Install Item"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Item installed"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Uninstall Item"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Item uninstalled"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Uninstall stock item"
@@ -12023,207 +12277,159 @@ msgstr "Delete Location Type"
msgid "Icon"
msgstr "Icon"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Stocktake Date"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Show stock for active parts"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Show stock for assembled parts"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Show items which have been allocated"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Show items which are available"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Include Sublocations"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Include stock in sublocations"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Depleted"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Show depleted stock items"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Show items which are in production"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Show items which have been consumed by a build order"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Show stock items which are installed in other items"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Sent to Customer"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Show items which have been sent to a customer"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Show tracked items"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Has Purchase Price"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Show items which have a purchase price"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Show items which have expired"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Show items which are stale"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Expired Before"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Show items which expired before this date"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Expired After"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Show items which expired after this date"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Show items updated before this date"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Show items updated after this date"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Stocktake Before"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Show items counted before this date"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Stocktake After"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Show items counted after this date"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "External Location"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Show stock for active parts"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Show stock for assembled parts"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Show items which have been allocated"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Show items which are available"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Include Sublocations"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Include stock in sublocations"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Depleted"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Show depleted stock items"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Show items in an external location"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Show items which have been consumed by a build order"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Show stock items which are installed in other items"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Sent to Customer"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Show items which have been sent to a customer"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Show tracked items"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Has Purchase Price"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Show items which have a purchase price"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Show items which have expired"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr "Stock item created"
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Expired Before"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Show items which expired before this date"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Expired After"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Show items which expired after this date"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Updated Before"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Show items updated before this date"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Updated After"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Show items updated after this date"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Stocktake Before"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Show items counted before this date"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Stocktake After"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Show items counted after this date"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "External Location"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Order items"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Order items"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12289,7 +12495,7 @@ msgid "Finished"
msgstr "Finished"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Edit Test Result"
@@ -12298,7 +12504,7 @@ msgid "Test result updated"
msgstr "Test result updated"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Delete Test Result"
@@ -12322,27 +12528,27 @@ msgstr "Failed to record test result"
msgid "Pass Test"
msgstr "Pass Test"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Show results for required tests"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Include Installed"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Show results for installed stock items"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Passed"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Show only passed tests"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Show results for enabled tests"
@@ -12387,15 +12593,23 @@ msgstr "Set Parent Location"
msgid "Set parent location for the selected items"
msgstr "Set parent location for the selected items"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr "Old Status"
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Added"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Removed"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr "Stock item no longer exists"
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "No user information"
diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po
index 02913f40d2..e605ef1723 100644
--- a/src/frontend/src/locales/es/messages.po
+++ b/src/frontend/src/locales/es/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Editar"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Eliminar"
@@ -44,36 +44,36 @@ msgstr "Eliminar"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Cancelar"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Acciones"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Buscar"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Fallo"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Sí"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "No"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Pieza"
@@ -134,7 +138,7 @@ msgstr "Pieza"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Piezas"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parámetros"
@@ -180,37 +184,37 @@ msgstr "Plantillas de prueba de piezas"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Pieza de proveedor"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Piezas de proveedor"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Pieza de fabricante"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Piezas del fabricante"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Categoría de Pieza"
@@ -218,19 +222,22 @@ msgstr "Categoría de Pieza"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Categorías de Pieza"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Artículo de stock"
@@ -238,22 +245,22 @@ msgstr "Artículo de stock"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Artículos de Stock"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Ubicación de existencias"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Ubicaciones de existencias"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Tipos de ubicaciones de existencias"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Histórico de existencias"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Construir elementos"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Empresas"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Código de proyecto"
@@ -330,21 +337,21 @@ msgstr "Códigos de proyecto"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Pedido de compra"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Líneas de pedido de compra"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Orden de venta"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Órdenes de venta"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Envío de orden de venta"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Envío de orden de venta"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Orden de devolución"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Órdenes de devolución"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Dirección"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Direcciones"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contacto"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contactos"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Propietario"
@@ -451,15 +458,15 @@ msgstr "Propietarios"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Usuario"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Plantillas de Reportes"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configuración de complemento"
@@ -543,31 +550,31 @@ msgstr "Listas de Selección"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Órdenes de construcción"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Error al procesar el componente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información."
@@ -637,7 +648,7 @@ msgstr "Código de barras"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Escanear"
@@ -668,8 +679,8 @@ msgstr "Introduce datos de código de barras"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Escanear código de barras"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Completado"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Error al vincular código de barras"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Enlace"
@@ -754,7 +765,7 @@ msgstr "Esto eliminará el enlace al código de barras asociado"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Desvincular Código de Barras"
@@ -766,11 +777,11 @@ msgstr "Abrir en interfaz de administración"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copiado"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copiar"
@@ -798,19 +809,15 @@ msgstr "Imprimir Reportes"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Imprimir etiqueta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Imprimir"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Imprimir"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Imprimir un informe"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Acciones de impresión"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Imprimir etiquetas"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Imprimir reportes"
@@ -860,8 +867,8 @@ msgstr "Usted será redirigido al proveedor para más acciones."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Abrir Escáner de código de barras"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Dejar de recibir notificaciones"
msgid "Subscribe to notifications"
msgstr "Suscribirse a notificaciones"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Filtros de calendario"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Mes anterior"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Seleccione el mes"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Siguiente mes"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Descargar datos"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Error al actualizar orden"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Vencido"
@@ -937,7 +949,7 @@ msgstr "Aceptar diseño"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "No hay widgets disponibles"
msgid "There are no more widgets available for the dashboard"
msgstr "No hay más widgets disponibles para el panel de control"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Piezas suscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Mostrar el número de piezas a las que te has suscrito"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Categorías suscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Mostrar el número de categorías de piezas a las que se ha suscrito"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "BOMs inválidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Stock bajo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Mostrar el número de piezas que son bajas en stock"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Requerido para construir pedidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Mostrar las partes requeridas para las órdenes de construcción activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Elementos de stock caducados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Mostrar el número de elementos de stock que han caducado"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Elementos obsoletos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Mostrar el número de artículos de stock que están obsoletos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Órdenes de construcción activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Mostrar el número de órdenes de construcción que actualmente están activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Órdenes de construcción atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Mostrar el número de órdenes de construcción vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Órdenes de construcción asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Mostrar el número de órdenes de construcción asignadas a usted"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Órdenes de Venta activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Mostrar el número de pedidos de venta que están activos actualmente"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Órdenes de venta vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Mostrar el número de pedidos que están retrasados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Pedidos de venta asignados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Mostrar el número de órdenes de venta que se le han asignado"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Órdenes de Compra asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Mostrar el número de órdenes de compra que están activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Pedidos de Compra Atrasados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Mostrar el número de órdenes de compra que están atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Órdenes de Compra asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Mostrar el número de órdenes de compra que se le asignaron"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Pedidos de devolución activos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Mostrar el número de órdenes de devolución actualmente activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Órdenes de devolución atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Mostrar el número de órdenes de devolución que están vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Órdenes de devolución asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Mostrar el número de órdenes de devolución que se le asignaron"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Empezando"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Empezando con InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Noticias actualizadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Las últimas noticias de InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Sin noticias"
msgid "There are no unread news items"
msgstr "No hay noticias sin leer"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "No hay noticias sin leer"
msgid "Superuser"
msgstr "Superusuario"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Personal"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Correo electrónico: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "No hay nombre definido"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "¿Eliminar la imagen asociada de este elemento?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Eliminar"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Arrastrar y soltar para subir"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Clic para seleccionar archivo(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Imagen cargada"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "La imagen ha sido subida correctamente"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Error de subida"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Borrar"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Enviar"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Seleccionar de imágenes existentes"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Seleccionar imagen"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Descargar imagen remota"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Cargar nueva imagen"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Cargar Imagen"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Borrar imagen"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Descargar imagen"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Imagen descargada correctamente"
@@ -1546,7 +1589,7 @@ msgstr "Existen errores para uno o más campos del formulario"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Actualizar"
@@ -1579,21 +1622,21 @@ msgstr "Se ha iniciado sesión con éxito"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Error al iniciar sesión"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Verifique su entrada e intente nuevamente."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Envío de correo exitoso"
@@ -1628,7 +1671,7 @@ msgstr "Tu nombre de usuario"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Contraseña"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Repetir contraseña"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registro"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Servidor"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Versión API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Complementos"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Habilitado"
@@ -1850,7 +1898,7 @@ msgstr "Detenido"
msgid "Running"
msgstr "Ejecutándose"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "No clasificado"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Búsqueda..."
@@ -1890,13 +1938,13 @@ msgstr "Seleccionar paquete"
msgid "{0} icons"
msgstr "Iconos {0}"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Cargando"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "No hay resultados"
@@ -1940,49 +1988,49 @@ msgstr "Editar datos"
msgid "Delete Row"
msgstr "Eliminar fila"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Fila"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "La fila contiene errores"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Aceptar"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Válido"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrar por estado de validación de fila"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Terminado"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrar por estado de finalización de fila"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importar filas seleccionadas"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Procesando datos"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Se ha producido un error"
@@ -2002,31 +2050,31 @@ msgstr "Seleccione la columna o deje en blanco para ignorar este campo."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorar este campo"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapear datos de columnas a campos de la base de datos"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Aceptar mapeo de columnas"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Cambo de base de datos"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Descripción del campo"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Columna importada"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Valor por defecto"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mapear columnas"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importar datos"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Los datos se han importado satisfactoriamente"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Cerrar"
@@ -2104,8 +2152,8 @@ msgstr "Opciones"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Acciones de código de barras"
@@ -2177,10 +2225,15 @@ msgstr "Error desconocido"
msgid "None"
msgstr "Nada"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo de InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Seleccionar idioma"
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Actualizado"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Rol"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Vista"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Añadir"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponible"
@@ -2320,7 +2374,7 @@ msgstr "Enlaces"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentación"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Notificaciones"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "No se encontró nada..."
@@ -2547,7 +2601,7 @@ msgstr "Ajustes"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Ajustes del usuario"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Ajustes del sistema"
@@ -2578,14 +2632,14 @@ msgstr "Ajustes del sistema"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Administración"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Cerrar sesión"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Stock"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fabricación"
@@ -2636,21 +2690,21 @@ msgstr "Fabricación"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Compras"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Ventas"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Proveedores"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabricantes"
@@ -2768,21 +2822,21 @@ msgstr "No hay resultados disponibles para consulta de búsqueda"
msgid "Attachments"
msgstr "Archivos adjuntos"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notas"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr "Información del complemento"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Fecha"
@@ -2845,48 +2899,54 @@ msgstr "Fecha"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Activo"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Sitio Web"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nombre del Paquete"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Ruta de Instalación"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Integrado"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paquete"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Ajustes del complemento"
@@ -2969,65 +3029,65 @@ msgstr "Modelo desconocido: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Envío"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inactivo"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Sin Stock"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "En pedido"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "En producción"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detalles"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Categoría"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Ubicación"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Número de serie"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Cantidad"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lote"
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Editar Ajustes"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Configuración actualizada"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "La configuración {0} se ha actualizado correctamente"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Error al editar la configuración"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "No se especificaron ajustes"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Proveedor"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Cargando..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Editar Pieza"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Disponible"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Cantidad requerida"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Ordenar Partes"
@@ -4038,77 +4104,89 @@ msgstr "Ordenar Partes"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Ir al panel de InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visite la documentación para obtener más información sobre InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Acerca de InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Información del Servidor"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Acerca de esta instancia de InvenTree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Información de licencia"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licencias para dependencias del servicio"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Abrir navegación"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Abrir el menú de navegación principal"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Ir al Centro de Administración"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "Acerca del proyecto InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Estado"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Salidas de Trabajo Completadas"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Salidas de Trabajo se han Completado"
@@ -4428,143 +4506,133 @@ msgstr "Salidas de Trabajo se han Completado"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Eliminar Salidas de Construcción"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Salidas de Construcción eliminadas"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Salidas de Construcción eliminadas"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancelar Salidas de Construcción"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Salidas de Construcción han sido canceladas"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Asignado"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Ubicación origen"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Seleccione la ubicación de origen para la asignación de stock"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Asignar Stock"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Artículos de stock seleccionados"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Consumido"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Suscrito"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Suscríbete a las notificaciones de esta pieza"
@@ -4593,11 +4661,11 @@ msgstr "Suscríbete a las notificaciones de esta pieza"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Categoría superior de pieza"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Suscribirse a las notificaciones de esta categoría"
@@ -4605,67 +4673,71 @@ msgstr "Suscribirse a las notificaciones de esta categoría"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Asignar código de lote y números de serie"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Asignar código de lote"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Elegir ubicación"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destino de artículo seleccionado"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Ubicación por defecto de la categoría de pieza eleccionada"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Seleccionada ubicación de existencias recibidas"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Ubicación por defecto seleccionada"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Establecer ubicación"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Asignar código de lote"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Establecer Fecha de Vencimiento"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Ajustar empaquetado"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Ajustar empaquetado"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Cambiar Estado"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Añadir Nota"
@@ -4673,56 +4745,56 @@ msgstr "Añadir Nota"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Guardar en la ubicación predeterminada"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Guardar con cantidad ya recibida"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Código de lote"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Introduzca el código de lote para los artículos recibidos"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Números de serie"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Introduzca números de serie para los elementos recibidos"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Fecha de Expiración"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr "Empaquetado"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Nota"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Número De Referencia"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Recibido"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Recibir ítem de línea"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Artículos Recibidos"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Recibir Artículos"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Artículo recibido en existencias"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Agrega una cantidad dada en conjunto en lugar de artículos individuales"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Cantidad inicial de existencias que tendrá este artículo"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Introduzca números de serie para las nuevas existencias (o deje en blanco)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Estado de Existencias"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Añadir artículo de stock"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Selecciona la pieza a instalar"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Confirmar transferencia de existencias"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Mover a la ubicación predeterminada"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Mover"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Devolver"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Contar"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Agregar existencias"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Existencias añadidas"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Eliminar existencias"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Existencias eliminadas"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transferir existencias"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Existencias transferidas"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Contar existencias"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Existencias contadas"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Cambiar estado de existencias"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Estado de existencias cambiado"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Juntar existencias"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Existencias fusionadas"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Asignar existencias a cliente"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Existencias asignadas a cliente"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Eliminar existencias"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Existencias eliminadas"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Ubicación del stock padre"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Lista de entradas entre las que elegir"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Error interno del servidor"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Ya iniciaste sesión"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Desconectado"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Desconectado"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Se cerró sesión correctamente"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Restablecimiento fallido"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Ya iniciaste sesión"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Conectado"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Sesión iniciada correctamente"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Contraseña establecida"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "La contraseña fue establecida con éxito. Ahora puede iniciar sesión con su nueva contraseña"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr "La solicitud ha expirado"
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Exportar Datos"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exportar"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Elemento creado"
@@ -5255,52 +5356,56 @@ msgstr "¿Está seguro de querer borrar este ítem?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Acciones de inventario"
@@ -5357,15 +5462,15 @@ msgstr "Ninguna selección"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Iniciar sesión"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "¿No tiene una cuenta?"
@@ -5383,12 +5488,12 @@ msgstr "¿No tiene una cuenta?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr "Editar Perfil"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "No Configurado"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Direcciones de Correo Electrónico"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Direcciones de Correo Electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "No habilitado"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "No habilitado"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Tokens de Acceso"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "Fecha y hora"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Las siguientes direcciones de correo electrónico están asociadas con tu cuenta:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Principal"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Sin verificar"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Convertir en principal"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Reenviar verificación"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Añadir dirección de correo electrónico"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "Correo electrónico"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Dirección de correo electrónico"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Añadir dirección de correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "Correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Dirección de correo electrónico"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Añadir correo electrónico"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Añadir correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr "Puntos"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Divisa"
@@ -6685,12 +6791,8 @@ msgstr "Adjuntar al modelo"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Trabajador en segundo plano no ejecutado"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Trabajador en segundo plano no ejecutado"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Tareas pendientes"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Tareas Programadas"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Tareas fallidas"
@@ -6805,6 +6915,16 @@ msgstr "Precios"
msgid "Labels"
msgstr "Etiquetas"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Seguimiento de existencias"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisión"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revisión"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisión"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revisión"
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Externo"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referencia"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Cantidad de construcción"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Salidas completadas"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Emitido por"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsable"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Cualquier ubicación"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Ubicación de destino"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Creado"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Fecha objetivo"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Ubicación de destino"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Creado"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Fecha objetivo"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Completado"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detalles de construcción"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Existencias asignadas"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Existencias consumidas"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Salidas incompletas"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Resultados de la Prueba"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Pedido completado"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Emitir pedido"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Completar Pedido"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Editar pedido"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplicar pedido"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Retener pedido"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Cancelar pedido"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Orden de construcción"
@@ -7207,7 +7327,7 @@ msgstr "Orden de construcción"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Sitio Web"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Número de teléfono"
@@ -7271,11 +7389,11 @@ msgstr "Divisa predeterminada"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabricante"
@@ -7284,15 +7402,15 @@ msgstr "Fabricante"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Cliente"
@@ -7320,16 +7438,16 @@ msgstr "Piezas fabricadas"
msgid "Assigned Stock"
msgstr "Existencias asignadas"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Editar empresa"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Eliminar Empresa"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Acciones de empresa"
@@ -7349,7 +7467,7 @@ msgstr "Enlace externo"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr "Detalles de pieza del fabricante"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Existencias recibidas"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Editar pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Añadir pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Borrar pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Acciones de pieza de fabricante"
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Cantidad del paquete"
@@ -7427,28 +7545,28 @@ msgstr "Detalles de pieza de proveedor"
msgid "Supplier Pricing"
msgstr "Precios del Proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Acciones de piezas de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Editar pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Borrar pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Añadir pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Sin existencias"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Subcategorías"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Mover elementos a la categoría padre"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Eliminar elementos"
@@ -7577,60 +7695,64 @@ msgstr "Detalles de categoría"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revisión de"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Ubicación Predeterminada"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Ubicación por defecto de categoría"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unidades"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Ubicación por defecto de categoría"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unidades"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Palabras claves"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Existencias disponibles"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "En pedido"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Requerido para pedidos"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Existencias mínimas"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Existencias mínimas"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Bloqueado"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Último número de serie"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Precio de pieza"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Plantillas de Prueba"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Piezas Relacionadas"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Requerido"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Añadir pieza"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Eliminar pieza"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "La eliminación de esta pieza no se puede revertir"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Orden"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr "Historial de ventas"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Editar entrada de inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Eliminar entrada de inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Precio total"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Componente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Precio mínimo"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Precio Máximo"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Precio Unitario"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Gráfico de tarta"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Gráfico de barras"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Última Actualización"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Artículos de línea completados"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr "Fecha de emisión"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Fecha de Finalización"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Elementos de línea"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Elementos extra de línea"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Envíos Completados"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Editar orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Agregar orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Envíos"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Emitir orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Cancelar orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Mantener orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Completar orden de venta"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Orden de envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Número de Seguimiento"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Número de factura"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Elementos asignados"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Fecha de Envío"
@@ -8464,173 +8600,167 @@ msgstr "Fecha de Envío"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Detalles del envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Cancelar envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Enviar envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Acciones de envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Ubicación padre"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sub-localizaciones"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Tipo de ubicación"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Ubicación de existencias superior"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Detalles de la ubicación"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Partes por defecto"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Mover elementos a la categoría padre"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Acción de elementos"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Acción para los artículos de stock en esta ubicación"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Mover elementos a la categoría padre"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Acción de elementos"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Acción para los artículos de stock en esta ubicación"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr "Detalles de existencias"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Seguimiento de existencias"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Elementos instalados"
msgid "Child Items"
msgstr "Elementos secundarios"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Editar elemento de stock"
@@ -8738,15 +8864,15 @@ msgstr "Editar elemento de stock"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Borrar elemento de stock"
@@ -8758,7 +8884,7 @@ msgstr "Borrar elemento de stock"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serializar artículo de existencias"
@@ -8766,24 +8892,23 @@ msgstr "Serializar artículo de existencias"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Serializado artículo de existencias"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Operaciones de existencias"
@@ -8791,12 +8916,12 @@ msgstr "Operaciones de existencias"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serializar"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serializar stock"
@@ -8804,7 +8929,7 @@ msgstr "Serializar stock"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Acciones de artículos de existencias"
@@ -8820,17 +8945,17 @@ msgstr "Acciones de artículos de existencias"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Obsoleto"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Expirado"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "No disponible"
@@ -8855,6 +8980,72 @@ msgstr "Estás suscrito a las notificaciones de este artículo"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Este artículo de existencias no está disponible"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Seleccionar columnas"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtrar elementos por código de lote"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr "Filtrar artículos por número de serie"
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtrar elementos por código de lote"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr ""
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr ""
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr ""
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
+msgstr ""
+
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
+msgstr "Filtrar artículos por número de serie"
+
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
+msgstr ""
+
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Mostrar elementos con números de serie menores o iguales a un valor determinado"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Mostrar artículos con números de serie mayores o iguales a un valor dado"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Asignado a mí"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Mostrar pedidos asignados a mí"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Destacado"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Mostrar elementos destacados"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Mostrar artículos vencidos"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Fecha Mínima"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Mostrar elementos después de esta fecha"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Fecha máxima"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Mostrar artículos antes de esta fecha"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Creado antes de"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Mostrar elementos creados antes de esta fecha"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Creado después de"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Mostrar elementos creados después de esta fecha"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Fecha objetivo antes"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Mostrar elementos con una fecha objetivo anterior a esta fecha"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Fecha objetivo después"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Mostrar elementos con una fecha de objetivo posterior a esta fecha"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Completado antes de"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Mostrar elementos completados antes de esta fecha"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Completado después de"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Mostrar elementos completados después de esta fecha"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Actualizado después de"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Actualizado antes"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Mostrar pedidos con un código de proyecto asignado"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Eliminar filtro"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Seleccionar valor del filtro"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Introducir valor de filtro"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Seleccionar fecha"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Seleccionar filtro"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtro"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtros de tabla"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Añadir filtro"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Borrar filtros"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Ningún registro encontrado"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "El servidor devolvió un tipo de datos incorrecto"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "El servidor devolvió un tipo de datos incorrecto"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "El servidor devolvió un tipo de datos incorrecto"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Borrar los elementos seleccionados"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "¿Confirma que desea eliminar los elementos seleccionados?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Esta acción no se puede deshacer"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Los filtros personalizados de tabla están activos"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Eliminar los registros seleccionados"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Refrescar datos"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Este elemento BOM está definido para un padre diferente"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Información de la pieza"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Existencias externas"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Incluye existencias sustitutas"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Incluye existencias variantes"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Editar asignación de existencias"
@@ -9561,8 +9777,8 @@ msgstr "Editar asignación de existencias"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Ver artículo de existencias"
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Auto asignación en progreso"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Autoasignar stock"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Asignar stock automáticamente a esta construcción de acuerdo a las opciones seleccionadas"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Deshacer asignación de existencias"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Deshacer asignación de todo el stock sin seguimiento para este pedido"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Deshacer asignación de existencias de la línea de artículo seleccionada"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Deshecha asignación de existencias"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Ver pieza"
@@ -9756,31 +9992,31 @@ msgstr "Ver pieza"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Adjudicación de existencias de salida de construcción"
@@ -9796,103 +10032,107 @@ msgstr "Adjudicación de existencias de salida de construcción"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Editar salida de construcción"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Esta acción desubicará todas las existencias de la salida de construcción seleccionada"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Eliminar Dirección"
msgid "Are you sure you want to delete this address?"
msgstr "¿Estás seguro de que quieres eliminar esta dirección?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Agregar empresa"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Agregar empresa"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Añadir Artículo de Línea"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Editar artículo de línea"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Borrar artículo de línea"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notificación"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Mensaje"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Stock requerido"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Ver orden de construcción"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Estás suscrito a las notificaciones de esta categoría"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Incluir subcategorias"
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Ver orden de venta"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Incluye piezas en subcategorías"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr "Editar lista de selección"
msgid "Delete Selection List"
msgstr "Eliminar lista de selección"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Activar el complemento seleccionado"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Activar el complemento seleccionado"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Actualizar complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Desinstalar el complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Eliminar la configuración del complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "El complemento fue activado"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "El complemento fue desactivado"
@@ -11042,20 +11290,20 @@ msgstr "El complemento fue desactivado"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Mostrar elementos de línea que han sido recibidos"
@@ -11222,30 +11464,22 @@ msgstr "Mostrar elementos de línea que han sido recibidos"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Mostrar partes del proveedor con stock"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Recibir artículos seleccionados"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Mostrar asignaciones destacadas"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Asignado al envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Mostrar asignaciones asignadas a un envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Sin envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "No enviado"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Editar Asignación"
@@ -11333,16 +11579,16 @@ msgstr "Editar Asignación"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Ver envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Asignar Números de Serie"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Asignar Números de Serie"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Mostrar líneas completamente asignadas"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Mostrar líneas que están completadas"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Asignar seriales"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Editar envío"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Cancelar envío"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Revocar"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Instalar artículo"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Artículo instalado"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Desinstalar artículo"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Artículo desinstalado"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Desinstalar artículo de existencias"
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Mostrar stock existencias para piezas ensambladas"
+
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Este artículo de existencias no está disponible"
-
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Mostrar artículos que han sido consumidos por una orden de construcción"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
msgstr ""
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Mostrar artículos que han caducado"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Mostrar artículos que son obsoletos"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Expiró antes"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Mostrar elementos que caducaron antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Expiró después"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Mostrar elementos que expiraron después de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Mostrar elementos actualizados antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Mostrar elementos actualizados después de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventario antes"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Mostrar elementos contados antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventario después"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Mostrar elementos contados después de esta fecha"
+
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Mostrar stock existencias para piezas ensambladas"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Mostrar artículos que han sido consumidos por una orden de construcción"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Mostrar artículos que han caducado"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Mostrar artículos que son obsoletos"
-
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Expiró antes"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Mostrar elementos que caducaron antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Expiró después"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Mostrar elementos que expiraron después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Actualizado antes"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Mostrar elementos actualizados antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Actualizado después de"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Mostrar elementos actualizados después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventario antes"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Mostrar elementos contados antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventario después"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Mostrar elementos contados después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Añadido"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Eliminado"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "No hay información de usuario"
diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po
index 5c3c553c73..b796086f0e 100644
--- a/src/frontend/src/locales/es_MX/messages.po
+++ b/src/frontend/src/locales/es_MX/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: es_MX\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Editar"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Eliminar"
@@ -44,36 +44,36 @@ msgstr "Eliminar"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Cancelar"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Acciones"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Buscar"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Falló"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Sí"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "No"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Pieza"
@@ -134,7 +138,7 @@ msgstr "Pieza"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Piezas"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parámetros"
@@ -180,37 +184,37 @@ msgstr "Plantillas de prueba de piezas"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Pieza de proveedor"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Piezas de proveedor"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Pieza de fabricante"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Piezas del fabricante"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Categoría de Pieza"
@@ -218,19 +222,22 @@ msgstr "Categoría de Pieza"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Categorías de Pieza"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Artículo de stock"
@@ -238,22 +245,22 @@ msgstr "Artículo de stock"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Artículos de Stock"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Ubicación de almacén"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Ubicaciones de almacén"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Tipos de ubicaciones de existencias"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Histórico de existencias"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Construir elementos"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Empresas"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Código de proyecto"
@@ -330,21 +337,21 @@ msgstr "Códigos de proyecto"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Pedido de compra"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Órdenes de compra"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Líneas de pedido de compra"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Orden de venta"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Órdenes de venta"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Envío de orden de venta"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Envíos de pedidos de venta"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Orden de devolución"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Ordenes de devolución"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Dirección"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Direcciones"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contacto"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contactos"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Propietario"
@@ -451,15 +458,15 @@ msgstr "Propietarios"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Usuario"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Plantillas de informe"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configuración de complemento"
@@ -543,31 +550,31 @@ msgstr "Listas de Selección"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Ordenes de Producción"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Error al renderizar componente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información."
@@ -637,7 +648,7 @@ msgstr "Código de barras"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Escanear"
@@ -668,8 +679,8 @@ msgstr "Introduce datos del código de barras"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Escanear código de barras"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Completado"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "No se pudo vincular el código de barras"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Enlace"
@@ -754,7 +765,7 @@ msgstr "Esto eliminará el enlace al código de barras asociado"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Desvincular Código de Barras"
@@ -766,11 +777,11 @@ msgstr "Abrir en interfaz de administrador"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copiado"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copiar"
@@ -798,19 +809,15 @@ msgstr "Imprimir reportes"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Imprimir etiqueta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Imprimir"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Imprimir"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Imprimir informe"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Acciones de impresión"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Imprimir etiquetas"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Imprimir informes"
@@ -860,8 +867,8 @@ msgstr "Usted será redirigido al proveedor para más acciones."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Abrir Escáner de código de barras"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Desuscribirse de las notificaciones"
msgid "Subscribe to notifications"
msgstr "Suscribirse a las notificaciones"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Filtros de calendario"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Mes anterior"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Seleccione el mes"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Siguiente mes"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Descargar datos"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr "Aceptar diseño"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "No hay widgets disponibles"
msgid "There are no more widgets available for the dashboard"
msgstr "No hay más widgets disponibles para el panel de control"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Piezas suscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Mostrar el número de piezas a las que te has suscrito"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Categorías suscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Mostrar el número de categorías de piezas a las que se ha suscrito"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Existencias bajas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Mostrar el número de piezas que son bajas en existencia"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Requerido para construir pedidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Mostrar las partes requeridas para las órdenes de construcción activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Artículos de stock caducados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Mostrar el número de elementos de stock que han caducado"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Elementos obsoletos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Mostrar el número de artículos de stock que están obsoletos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Órdenes de construcción activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Mostrar el número de órdenes de construcción que actualmente están activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Órdenes de construcción atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Mostrar el número de órdenes de construcción vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Órdenes de construcción asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Mostrar el número de órdenes de construcción asignadas a usted"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Órdenes de Venta activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Mostrar el número de pedidos de venta que están activos actualmente"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Órdenes de venta vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Mostrar el número de pedidos que están retrasados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Pedidos de venta asignados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Mostrar el número de órdenes de venta que se le han asignado"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Órdenes de Compra asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Mostrar el número de órdenes de compra que están activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Pedidos de Compra Atrasados"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Mostrar el número de órdenes de compra que están atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Órdenes de Compra asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Mostrar el número de órdenes de compra que se le asignaron"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Pedidos de devolución activos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Mostrar el número de órdenes de devolución actualmente activas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Órdenes de devolución atrasadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Mostrar el número de órdenes de devolución que están vencidas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Órdenes de devolución asignadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Mostrar el número de órdenes de devolución que se le asignaron"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Empezando"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Empezando con InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Noticias actualizadas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Las últimas noticias de InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Sin noticias"
msgid "There are no unread news items"
msgstr "No hay noticias sin leer"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "No hay noticias sin leer"
msgid "Superuser"
msgstr "Superusuario"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Personal"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "No hay nombre definido"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "¿Eliminar imagen asociada al artículo?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Eliminar"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Arrastra y suelta para subir"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Clic para seleccionar archivo(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Imagen subida"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "La imagen se ha subido correctamente"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Error al subir"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Borrar"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Aceptar"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Seleccionar desde imágenes existentes"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Seleccionar imagen"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Descargar imagen remota"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Subir nueva imagen"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Subir Imagen"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Eliminar imagen"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Descargar imagen"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Imagen descargada correctamente"
@@ -1546,7 +1589,7 @@ msgstr "Existen errores para uno o más campos del formulario"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Actualizar"
@@ -1579,21 +1622,21 @@ msgstr "Se ha iniciado sesión con éxito"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Error al iniciar sesión"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Verifique su entrada e intente nuevamente."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Envío de correo exitoso"
@@ -1628,7 +1671,7 @@ msgstr "Tu nombre de usuario"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Contraseña"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Repetir contraseña"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registro"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Servidor"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Versión de API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Complementos"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Habilitado"
@@ -1850,7 +1898,7 @@ msgstr "Detenido"
msgid "Running"
msgstr "En ejecución"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "No clasificado"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Búsqueda..."
@@ -1890,13 +1938,13 @@ msgstr "Seleccionar paquete"
msgid "{0} icons"
msgstr "Iconos {0}"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Cargando"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "No hay resultados"
@@ -1940,49 +1988,49 @@ msgstr "Editar datos"
msgid "Delete Row"
msgstr "Eliminar fila"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Fila"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "La fila contiene errores"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Aceptar"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Válido"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrar por estado de validación de fila"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Completado"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrar por estado de finalización de fila"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importar filas seleccionadas"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Procesando datos"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Se ha producido un error"
@@ -2002,31 +2050,31 @@ msgstr "Seleccione la columna o deje en blanco para ignorar este campo."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorar este campo"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapear datos de columnas a campos de la base de datos"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Aceptar mapeo de columnas"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Cambo de base de datos"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Descripción del campo"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Columna importada"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Valor por defecto"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mapear columnas"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importar datos"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Los datos se han importado satisfactoriamente"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Cerrar"
@@ -2104,8 +2152,8 @@ msgstr "Opciones"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Acciones de código de barras"
@@ -2177,10 +2225,15 @@ msgstr "Error desconocido"
msgid "None"
msgstr "Nada"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo de InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Selecciona el idioma"
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Actualizado"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Agregar"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponible"
@@ -2320,7 +2374,7 @@ msgstr "Enlaces"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentación"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Notificaciones"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "No se encontró nada..."
@@ -2547,7 +2601,7 @@ msgstr "Ajustes"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Ajustes del usuario"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Ajustes del sistema"
@@ -2578,14 +2632,14 @@ msgstr "Ajustes del sistema"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centro de administración"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Cerrar sesión"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Existencias"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fabricación"
@@ -2636,21 +2690,21 @@ msgstr "Fabricación"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Compras"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Ventas"
@@ -2705,7 +2759,7 @@ msgstr "Eliminar grupo de búsqueda"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Proveedores"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabricantes"
@@ -2768,21 +2822,21 @@ msgstr "No hay resultados disponibles para consulta de búsqueda"
msgid "Attachments"
msgstr "Archivos adjuntos"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notas"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr "Información del complemento"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Fecha"
@@ -2845,48 +2899,54 @@ msgstr "Fecha"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Activo"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Sitio web"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nombre de Paquete"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Ruta de instalación"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Integrado"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paquete"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Ajustes del complemento"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Envío"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inactivo"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Sin existencias"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "En pedido"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "En producción"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detalles"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Categoría"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Ubicación"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Número de serie"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Cantidad"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lote"
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Editar ajuste"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "El ajuste {key} se ha actualizado correctamente"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Ajuste actualizado"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "El ajuste {0} se ha actualizado correctamente"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Error al editar el ajuste"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "No se especificaron ajustes"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Proveedor"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Cargando..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Editar Pieza"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "En Stock"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Cantidad requerida"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Nueva Parte de Proveedor"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Por favor, corrija los errores en las partes seleccionadas"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Pedir Piezas"
@@ -4038,77 +4104,89 @@ msgstr "Pedir Piezas"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Ir al panel de InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visite la documentación para obtener más información sobre InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Acerca de la organización InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Información del Servidor"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Acerca de esta instancia de InvenTree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Información de licencia"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licencias para dependencias del servicio"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Abrir navegación"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Abrir el menú de navegación principal"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Escanear el código de barras o código QR"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Escanear el código de barras o código QR"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Ir al Centro de Administración"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "Acerca del proyecto InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Estado"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Salidas de construcción completadas"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Salidas de construcción se han completado"
@@ -4428,143 +4506,133 @@ msgstr "Salidas de construcción se han completado"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Eliminar salidas de construcción"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Salidas de construcción eliminadas"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Salidas de construcción eliminadas"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancelar salidas de construcción"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Las salidas de la construcción han sido canceladas"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Asignado"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Ubicación origen"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Seleccione la ubicación de origen para la asignación de stock"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Stock Asignado"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Artículos de stock seleccionados"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Consumido"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Suscrito"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Suscríbete a las notificaciones de esta pieza"
@@ -4593,11 +4661,11 @@ msgstr "Suscríbete a las notificaciones de esta pieza"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Categoría superior de pieza"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Suscribirse a las notificaciones de esta categoría"
@@ -4605,67 +4673,71 @@ msgstr "Suscribirse a las notificaciones de esta categoría"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Asignar código de lote y números de serie"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Asignar código de lote"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Elegir ubicación"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destino de artículo seleccionado"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Ubicación por defecto de la categoría de pieza eleccionada"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Seleccionada ubicación de existencias recibidas"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Ubicación por defecto seleccionada"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Establecer ubicación"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Asignar código de lote"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Establecer la fecha de caducidad"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Ajustar empaquetado"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Ajustar empaquetado"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Cambiar Estado"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Añadir Nota"
@@ -4673,56 +4745,56 @@ msgstr "Añadir Nota"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Guardar en la ubicación predeterminada"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Guardar con cantidad ya recibida"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Código de lote"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Introduzca el código de lote para los artículos recibidos"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Números de serie"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Introduzca números de serie para los elementos recibidos"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Fecha de caducidad"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Introduzca una fecha de caducidad para los artículos recibidos"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Introduzca una fecha de caducidad para los artículos recibidos"
msgid "Packaging"
msgstr "Empaquetado"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Nota"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Recibido"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Recibir partidas"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Artículos recibidos"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Recibir artículos"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Artículo recibido en existencias"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Agrega una cantidad dada en conjunto en lugar de artículos individuales"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Cantidad inicial de existencias que tendrá este artículo"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Introduzca números de serie para las nuevas existencias (o deje en blanco)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Estado del stock"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Añadir artículo de stock"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Selecciona la pieza a instalar"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Confirmar transferencia de existencias"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Mover a la ubicación predeterminada"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Mover"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Devolver"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Contar"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Agregar existencias"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Existencias añadidas"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Eliminar existencias"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Existencias eliminadas"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transferir existencias"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Existencias transferidas"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Contar existencias"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Existencias contadas"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Cambiar estado de existencias"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Estado de existencias cambiado"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Juntar existencias"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Existencias fusionadas"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Asignar existencias a cliente"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Existencias asignadas a cliente"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Eliminar existencias"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Existencias eliminadas"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Ubicación del stock padre"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Lista de entradas entre las que elegir"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Error interno del servidor"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Ya iniciaste sesión"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Hay una sesión en conflicto en el servidor para este navegador. Por favor, cierra la sesión primero."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Desconectado"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Desconectado"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Se cerró sesión correctamente"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Revisa tu bandeja de entrada para un enlace de restablecimiento. Esto solo funciona si tienes una cuenta. Revisa el correo no deseado también."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Restablecimiento fallido"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Ya iniciaste sesión"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Hay una sesión en conflicto en el servidor para este navegador. Por favor, cierra la sesión primero."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Conectado"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Sesión iniciada correctamente"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Error al configurar MFA"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Contraseña establecida"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "La contraseña fue establecida con éxito. Ahora puede iniciar sesión con su nueva contraseña"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "No se ha podido cambiar la contraseña"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Contraseña Cambiada"
@@ -5210,23 +5320,14 @@ msgstr "La solicitud ha expirado"
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Artículo creado"
@@ -5255,52 +5356,56 @@ msgstr "¿Está seguro de querer eliminar este artículo?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr "Ninguna selección"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Ingresar"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "¿No tiene una cuenta?"
@@ -5383,12 +5488,12 @@ msgstr "¿No tiene una cuenta?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Ingrese su contraseña"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Contraseña única temporal"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Códigos de recuperación auto-generados de un sólo uso"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "No habilitado"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "No habilitado"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "Fecha y hora"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Las siguientes direcciones de correo electrónico están asociadas con tu cuenta:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primario"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Sin verificar"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Convertir en principal"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Reenviar verificación"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Añadir dirección de correo electrónico"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "Correo electrónico"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Dirección de correo electrónico"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Añadir dirección de correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "Correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Dirección de correo electrónico"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Añadir correo electrónico"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Añadir correo electrónico"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr "Puntos"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Moneda"
@@ -6685,30 +6791,34 @@ msgstr "Adjuntar al modelo"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Trabajador en segundo plano no está ejecutándose"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "El servicio de administración de tareas en segundo plano no se está ejecutando. Póngase en contacto con el administrador del sistema."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Trabajador en segundo plano no está ejecutándose"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "El servicio de administración de tareas en segundo plano no se está ejecutando. Póngase en contacto con el administrador del sistema."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Tareas pendientes"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Tareas Programadas"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Tareas fallidas"
@@ -6805,6 +6915,16 @@ msgstr "Precios"
msgid "Labels"
msgstr "Etiquetas"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisión"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revisión"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisión"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revisión"
msgid "Custom Status"
msgstr "Estado Personalizado"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referencia"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Construir padre"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Cantidad de construcción"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Salidas completadas"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Emitido por"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsable"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Cualquier ubicación"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Ubicación de destino"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Creado"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Fecha de inicio"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Fecha objetivo"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Ubicación de destino"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Creado"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Fecha de inicio"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Fecha objetivo"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Completado"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detalles de construcción"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Existencias asignadas"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Existencias consumidas"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Salidas incompletas"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Órdenes de Trabajo herederas"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Resultados de la prueba"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Editar orden de construcción"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Añadir orden de construcción"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Cancelar orden de construcción"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Pedido cancelado"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Cancelar esta orden"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Poner en espera orden de construcción"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Poner este pedido en espera"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Pedido puesto en espera"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Emitir Orden de Construcción"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Emitir este pedido"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Orden emitida"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Completar Orden de Construcción"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Marcar pedido como completado"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Pedido completado"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Emitir pedido"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Completar Pedido"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Editar pedido"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplicar pedido"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Retener pedido"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Cancelar pedido"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Sitio web"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Número de teléfono"
@@ -7271,11 +7389,11 @@ msgstr "Divisa predeterminada"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabricante"
@@ -7284,15 +7402,15 @@ msgstr "Fabricante"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Cliente"
@@ -7320,16 +7438,16 @@ msgstr "Piezas fabricadas"
msgid "Assigned Stock"
msgstr "Existencias asignadas"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Editar empresa"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Eliminar Empresa"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Acciones de empresa"
@@ -7349,7 +7467,7 @@ msgstr "Enlace externo"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Detalles de la Pieza"
@@ -7363,28 +7481,28 @@ msgstr "Detalles de pieza del fabricante"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Existencias recibidas"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Editar pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Añadir pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Eliminar pieza de fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Acciones de pieza de fabricante"
@@ -7401,7 +7519,7 @@ msgstr "Descripción de la Pieza"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Cantidad del paquete"
@@ -7427,28 +7545,28 @@ msgstr "Detalles de pieza de proveedor"
msgid "Supplier Pricing"
msgstr "Precios del Proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Acciones de piezas de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Editar pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Eliminar pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Añadir pieza de proveedor"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Sin existencias"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Subcategorías"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Mover artículos a la categoría padre"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Eliminar elementos"
@@ -7577,60 +7695,64 @@ msgstr "Detalles de categoría"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Validar BOM"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revisión de"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Ubicación Predeterminada"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Ubicación de Categoría Predeterminada"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unidades"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Ubicación de Categoría Predeterminada"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unidades"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Palabras claves"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Existencias disponibles"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "En pedido"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Requerido para Pedidos"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Asignado para Construir Pedidos"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Existencias Mínimas"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Existencias Mínimas"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Bloqueado"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Fecha de Creación"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Creado Por"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Proveedor Predeterminado"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Rango de Precios"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Último número de serie"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variantes"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Asignaciones"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Lista de Materiales"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Requerido"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Añadir pieza"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Eliminar pieza"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "La eliminación de esta parte no puede ser revertida"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Pedido"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Editar entrada de inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Eliminar entrada de inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Valor Mínimo"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Valor Máximo"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Valor Máximo"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Precio total"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Componente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Precio mínimo"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Precio Máximo"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Precio Unitario"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Precio de Compra"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Última Actualización"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr "Fecha de emisión"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Fecha de Finalización"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Detalles del pedido"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Partidas"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Envíos"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Orden de Venta de Envío"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "¿Enviar este pedido?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Pedido enviado"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Número de Seguimiento"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Número de factura"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Artículos asignados"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Detalles del envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Cancelar envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Enviar envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Acciones de envío"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Mover elementos a la categoría padre"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Mover elementos a la categoría padre"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serializar artículo de existencias"
@@ -8766,24 +8892,23 @@ msgstr "Serializar artículo de existencias"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Serializado artículo de existencias"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serializar"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serializar stock"
@@ -8804,7 +8929,7 @@ msgstr "Serializar stock"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Obsoleto"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Expirado"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "No disponible"
@@ -8855,6 +8980,72 @@ msgstr "Estás suscrito a las notificaciones de esta pieza"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Este artículo de existencias no está disponible"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtrar elementos por código de lote"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr "Filtrar artículos por número de serie"
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtrar elementos por código de lote"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr ""
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr ""
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr ""
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
+msgstr ""
+
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
+msgstr "Filtrar artículos por número de serie"
+
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
+msgstr ""
+
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Mostrar elementos con números de serie menores o iguales a un valor determinado"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Mostrar artículos con números de serie mayores o iguales a un valor dado"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr ""
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr ""
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Mostrar artículos destacados"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Mostrar artículos vencidos"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Fecha Mínima"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Mostrar elementos después de esta fecha"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Fecha máxima"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Mostrar artículos antes de esta fecha"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Creado antes de"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Mostrar elementos creados antes de esta fecha"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Creado después de"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Mostrar elementos creados después de esta fecha"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Fecha objetivo antes de"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Mostrar elementos con una fecha objetivo anterior a esta fecha"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Fecha objetivo después de"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Mostrar elementos con una fecha de objetivo posterior a esta fecha"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Completado antes de"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Mostrar elementos completados antes de esta fecha"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Completado después de"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Mostrar elementos completados después de esta fecha"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Actualizado después de"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Actualizado antes"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Mostrar pedidos con un código de proyecto asignado"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrar por estado de la orden"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Eliminar filtro"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Seleccionar valor del filtro"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Introducir valor de filtro"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Seleccionar fecha"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Seleccionar filtro"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtro"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtros de tabla"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Añadir filtro"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Borrar Filtros"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Ningún registro encontrado"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "El servidor devolvió un tipo de datos incorrecto"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "El servidor devolvió un tipo de datos incorrecto"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "El servidor devolvió un tipo de datos incorrecto"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Eliminar Elementos Seleccionados"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Esta acción no se puede deshacer"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Los filtros personalizados de tabla están activos"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validado"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Mostrar artículos validados"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opcional"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consumible"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Mostrar artículos consumibles"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Tiene Precio"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreable"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Mostrar ensamblajes rastreables"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Editar asignación de existencias"
@@ -9561,8 +9777,8 @@ msgstr "Editar asignación de existencias"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Ver artículo de existencias"
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Auto asignación en progreso"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Autoasignar stock"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Asignar stock automáticamente a esta construcción de acuerdo a las opciones seleccionadas"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Desasignar existencias"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Desasignar todo el stock sin seguimiento para este pedido"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Desasignar stock de la partida seleccionada"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Stock ha sido desasignado"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Ver pieza"
@@ -9756,31 +9992,31 @@ msgstr "Ver pieza"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Asignación de existencias de salida de construcción"
@@ -9796,103 +10032,107 @@ msgstr "Asignación de existencias de salida de construcción"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Editar salida de construcción"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Esta acción desasignará todas las existencias de la salida de construcción seleccionada"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Eliminar Dirección"
msgid "Are you sure you want to delete this address?"
msgstr "¿Estás seguro de que deseas eliminar esta dirección?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Mostrar plantillas con opciones"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Tiene Unidades"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notificación"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Stock requerido"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Ver orden de construcción"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Estás suscrito a las notificaciones de esta categoría"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Ver orden de venta"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Stock mínimo"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Tiene IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Ordenar partes seleccionadas"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr "Editar lista de selección"
msgid "Delete Selection List"
msgstr "Eliminar lista de selección"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Etapa"
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Activar el complemento seleccionado"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Activar el complemento seleccionado"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Actualizar complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Desinstalar el complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Eliminar la configuración del complemento seleccionado"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "El complemento fue activado"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "El complemento fue desactivado"
@@ -11042,20 +11290,20 @@ msgstr "El complemento fue desactivado"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Mostrar partidas que han sido recibidas"
@@ -11222,30 +11464,22 @@ msgstr "Mostrar partidas que han sido recibidas"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Recibir artículos"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Unidades base"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Mostrar piezas de proveedor con stock"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Recibir elementos seleccionados"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Mostrar asignaciones destacadas"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Asignado al envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Mostrar asignaciones asignadas a un envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Sin envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "No enviado"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Editar Asignación"
@@ -11333,16 +11579,16 @@ msgstr "Editar Asignación"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Ver envío"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Asignar Números de Serie"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Asignar Números de Serie"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Mostrar líneas completamente asignadas"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Mostrar líneas que están completadas"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Asignar seriales"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Editar envío"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Cancelar envío"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Revocar"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Error al revocar token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Instalar artículo"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Artículo instalado"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Desinstalar artículo"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Artículo desinstalado"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Desinstalar artículo de existencias"
@@ -12028,207 +12282,159 @@ msgstr "Eliminar Tipo de Ubicación"
msgid "Icon"
msgstr "Icono"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Mostrar stock existencias para piezas ensambladas"
+
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Este artículo de existencias no está disponible"
-
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Mostrar artículos que han sido consumidos por una orden de construcción"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
msgstr ""
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Mostrar artículos que han caducado"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Mostrar artículos que son obsoletos"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Expiró antes"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Mostrar elementos que caducaron antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Expiró después"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Mostrar elementos que expiraron después de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Mostrar elementos actualizados antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Mostrar elementos actualizados después de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventario antes de"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Mostrar elementos contados antes de esta fecha"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventario después de"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Mostrar elementos contados después de esta fecha"
+
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Mostrar stock existencias para piezas ensambladas"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Mostrar artículos que han sido consumidos por una orden de construcción"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Mostrar artículos que han caducado"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Mostrar artículos que son obsoletos"
-
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Expiró antes"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Mostrar elementos que caducaron antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Expiró después"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Mostrar elementos que expiraron después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Actualizado antes"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Mostrar elementos actualizados antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Actualizado después de"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Mostrar elementos actualizados después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventario antes de"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Mostrar elementos contados antes de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventario después de"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Mostrar elementos contados después de esta fecha"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Mostrar resultados para las pruebas habilitadas"
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po
index c5cfc679b7..8360f8cfe6 100644
--- a/src/frontend/src/locales/et/messages.po
+++ b/src/frontend/src/locales/et/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: et\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Muuda"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Kustuta"
@@ -44,36 +44,36 @@ msgstr "Kustuta"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Tühista"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Toimingud"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Otsing"
@@ -86,44 +86,48 @@ msgid "Fail"
msgstr "Läbikukkumine"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Jah"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Ei"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
-msgstr ""
+msgstr "Osa"
#: lib/enums/ModelInformation.tsx:30
#: lib/enums/Roles.tsx:35
@@ -134,9 +138,9 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
-msgstr ""
+msgstr "Osad"
#: lib/enums/ModelInformation.tsx:37
#: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:13
@@ -149,14 +153,14 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parameeter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parameetrid"
@@ -168,69 +172,72 @@ msgstr "Parameetri mall"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parameetri mall"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
-msgstr ""
+msgstr "Osa testi mall"
#: lib/enums/ModelInformation.tsx:53
msgid "Part Test Templates"
-msgstr ""
+msgstr "Osa testi mallid"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
-msgstr ""
+msgstr "Osa kategooria"
#: lib/enums/ModelInformation.tsx:80
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
-msgstr ""
+msgstr "Osa kategooriad"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,42 +245,42 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
-msgstr ""
+msgstr "Lao asukoht"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
-msgstr ""
+msgstr "Lao asukohad"
#: lib/enums/ModelInformation.tsx:108
msgid "Stock Location Type"
-msgstr ""
+msgstr "Lao asukoha liik"
#: lib/enums/ModelInformation.tsx:109
msgid "Stock Location Types"
-msgstr ""
+msgstr "Lao asukoha liigid"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
-msgstr ""
+msgstr "Laoseisu ajalugu"
#: lib/enums/ModelInformation.tsx:115
msgid "Stock Histories"
-msgstr ""
+msgstr "Laoseisu ajalood"
#: lib/enums/ModelInformation.tsx:120
msgid "Build"
@@ -300,89 +307,89 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
-msgstr ""
+msgstr "Ettevõte"
#: lib/enums/ModelInformation.tsx:145
msgid "Companies"
-msgstr ""
+msgstr "Ettevõtted"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
-msgstr ""
+msgstr "Projekti kood"
#: lib/enums/ModelInformation.tsx:153
#: src/pages/Index/Settings/AdminCenter/Index.tsx:172
msgid "Project Codes"
-msgstr ""
+msgstr "Projekti koodid"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
-msgstr ""
+msgstr "Ostukorraldus"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
-msgstr ""
+msgstr "Ostukorraldused"
#: lib/enums/ModelInformation.tsx:169
msgid "Purchase Order Line"
-msgstr ""
+msgstr "Ostukorralduse rida"
#: lib/enums/ModelInformation.tsx:170
msgid "Purchase Order Lines"
-msgstr ""
+msgstr "Ostukorralduse read"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Aadress"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Aadressid"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontaktid"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Omanik"
@@ -451,15 +458,15 @@ msgstr "Omanikud"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Kasutaja"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -577,31 +584,35 @@ msgstr "Tõrge"
#: src/tables/machine/MachineListTable.tsx:402
#: src/tables/machine/MachineTypeTable.tsx:297
msgid "Errors"
-msgstr ""
+msgstr "Tõrked"
#: lib/enums/Roles.tsx:31
msgid "Admin"
-msgstr ""
+msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Töötlemine ebaõnnestus"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Komponendi renderdamise tõrge"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Komponendi renderimisel tekkis viga. Lisateabe saamiseks vaadake konsooli."
@@ -637,7 +648,7 @@ msgstr "Vöötkood"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Skanneeri"
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Edu"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -754,7 +765,7 @@ msgstr "See eemaldab lingi seotud vöötikoodile"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Linki ribakood"
@@ -766,21 +777,21 @@ msgstr "Ava admini liideses"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopeeritud"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopeeri"
#: src/components/buttons/PrintingActions.tsx:56
msgid "Printing Labels"
-msgstr ""
+msgstr "Siltide printimine"
#: src/components/buttons/PrintingActions.tsx:61
msgid "Printing Reports"
-msgstr ""
+msgstr "Aruannete printimine"
#: src/components/buttons/PrintingActions.tsx:77
#~ msgid "Printing"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Prindi silt"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Prindi"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Prindi"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Prindi aruanne"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Printimise toimingud"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Prindi sildid"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Prindi aruanded"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,38 +890,43 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
-msgstr ""
+msgstr "Kalendri filtrid"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
-msgstr ""
+msgstr "Eelmine kuu"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
-msgstr ""
+msgstr "Vali kuu"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
-msgstr ""
+msgstr "Järgmine kuu"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr ""
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Ekspordi andmed"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
-msgstr ""
+msgstr "Tellimust on uuendatud"
#: src/components/calendar/OrderCalendar.tsx:142
msgid "Error updating order"
-msgstr ""
+msgstr "Tõrge tellimuse uuendamisel"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Üle tähtaja"
@@ -933,11 +945,11 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:62
#: src/components/dashboard/DashboardMenu.tsx:138
msgid "Accept Layout"
-msgstr ""
+msgstr "Nõustu paigutusega"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -945,7 +957,7 @@ msgstr "Töölaud"
#: src/components/dashboard/DashboardMenu.tsx:102
msgid "Edit Layout"
-msgstr ""
+msgstr "Muuda paigutust"
#: src/components/dashboard/DashboardMenu.tsx:111
msgid "Add Widget"
@@ -953,11 +965,11 @@ msgstr "Lisa vidin"
#: src/components/dashboard/DashboardMenu.tsx:120
msgid "Remove Widgets"
-msgstr ""
+msgstr "Eemalda vidinad"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "Tühjenda vidinad"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
@@ -979,204 +991,204 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
-msgstr ""
+msgstr "Madal laoseis"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr ""
+msgstr "Näita kui paljude osade laoseis on madal"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Viivitatud ostutellimused"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Alustamine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Arendage InvenTree'ga"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
msgid "Change Color Mode"
-msgstr ""
+msgstr "Muuda värvirežiimi"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
-msgstr ""
+msgstr "Muuda kasutajaliidese värviskeemi"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18
msgid "Change Language"
-msgstr ""
+msgstr "Muuda keelt"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:23
msgid "Change the language of the user interface"
-msgstr ""
+msgstr "Muuda kasutajaliidese keelt"
#: src/components/dashboard/widgets/NewsWidget.tsx:60
#: src/components/nav/NotificationDrawer.tsx:94
@@ -1186,44 +1198,67 @@ msgstr "Märgi loetuks"
#: src/components/dashboard/widgets/NewsWidget.tsx:115
msgid "Requires Superuser"
-msgstr ""
+msgstr "Nõuab superkasutajat"
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr ""
+msgstr "See vidin nõuab superkasutaja õiguseid"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
-msgstr ""
+msgstr "Uudiseid pole"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
+msgstr "Lugemata uudiseid pole"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Genereeri"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
msgstr ""
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
#: src/tables/settings/UserTable.tsx:410
msgid "Superuser"
-msgstr ""
+msgstr "Superkasutaja"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
-msgstr ""
+msgstr "Töötajad"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
-msgstr ""
+msgstr "E-post: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nime pole määratud"
@@ -1236,86 +1271,94 @@ msgid "Remove the associated image from this item?"
msgstr "Kas soovite eemaldada seotud pildi sellest üksusest?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Eemalda"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Lohista ja aseta üleslaadimiseks"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klõpsake, et valida fail(id)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
-msgstr ""
+msgstr "Pilt on üles laaditud"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr ""
+msgstr "Pildifail on üles laaditud"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Üleslaadmise tõrge"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Puhasta"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Esita"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Vali olemasolevatest piltidest"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Vali pilt"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Laadi üles uus pilt"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Laadi pilt üles"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Kustuta pilt"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
-msgstr ""
+msgstr "Laadi pilt alla"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr ""
+msgstr "Pilt on alla laetud"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1363,7 +1406,7 @@ msgstr "Märkmete salvestamine ebaõnnestus"
#: src/components/editors/NotesEditor.tsx:133
msgid "Error Saving Notes"
-msgstr ""
+msgstr "Viga märkmete salvestamisel"
#: src/components/editors/NotesEditor.tsx:151
#~ msgid "Disable Editing"
@@ -1375,7 +1418,7 @@ msgstr "Salvesta märkmed"
#: src/components/editors/NotesEditor.tsx:172
msgid "Close Editor"
-msgstr ""
+msgstr "Sulge redaktor"
#: src/components/editors/NotesEditor.tsx:179
msgid "Enable Editing"
@@ -1399,7 +1442,7 @@ msgstr "Kood"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "Viga eelvaate loomisel"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
@@ -1423,7 +1466,7 @@ msgstr "Malli salvestamise viga"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "Could not load the template from the server."
-msgstr ""
+msgstr "Malli laadimine serverist ebaõnnestus."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:176
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:319
@@ -1546,7 +1589,7 @@ msgstr "Ühes või mitmes vormiväljas on vigu"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Värskenda"
@@ -1579,21 +1622,21 @@ msgstr "Sisselogimine õnnestus"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Sisselogimine ebaõnnestus"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Kontrollige oma sisestust ja proovige uuesti."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "E-kirja kohaletoimetamine õnnestus"
@@ -1628,7 +1671,7 @@ msgstr "Kasutajanimi"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Parool"
@@ -1672,7 +1715,7 @@ msgstr "Saada kiri"
#: src/components/forms/AuthenticationForm.tsx:239
msgid "Passwords do not match"
-msgstr ""
+msgstr "Paroolid ei kattu"
#: src/components/forms/AuthenticationForm.tsx:256
msgid "Registration successful"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Korrake salasõna"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registreeru"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Vali kuupäev ja kellaaeg"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Võõrustaja"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1768,12 +1815,12 @@ msgstr "Salvesta"
#: src/components/forms/InstanceOptions.tsx:58
msgid "Select Server"
-msgstr ""
+msgstr "Vali server"
#: src/components/forms/InstanceOptions.tsx:68
#: src/components/forms/InstanceOptions.tsx:92
msgid "Edit host options"
-msgstr ""
+msgstr "Mooda hosti valikuid"
#: src/components/forms/InstanceOptions.tsx:71
#~ msgid "Edit possible host options"
@@ -1781,7 +1828,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:76
msgid "Save host selection"
-msgstr ""
+msgstr "Salvesta hosti valik"
#: src/components/forms/InstanceOptions.tsx:98
#~ msgid "Version: {0}"
@@ -1818,6 +1865,7 @@ msgstr "API versioon"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,38 +1877,38 @@ msgstr "Pluginad"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
-msgstr ""
+msgstr "Sisse lülitatud"
#: src/components/forms/InstanceOptions.tsx:143
msgid "Disabled"
-msgstr ""
+msgstr "Välja lülitatud"
#: src/components/forms/InstanceOptions.tsx:149
msgid "Worker"
-msgstr ""
+msgstr "Töötaja"
#: src/components/forms/InstanceOptions.tsx:150
#: src/tables/settings/FailedTasksTable.tsx:48
msgid "Stopped"
-msgstr ""
+msgstr "Peatatud"
#: src/components/forms/InstanceOptions.tsx:150
msgid "Running"
-msgstr ""
+msgstr "Käimas"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Vali fail, mida üles laadida"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Nõustu soovitatud väärtustega"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Vali kuupäev"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Liigitamata"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Otsing..."
@@ -1890,13 +1938,13 @@ msgstr "Vali pakk"
msgid "{0} icons"
msgstr "{0} ikoonid"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Laadimine"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Tulemusi pole"
@@ -1910,7 +1958,7 @@ msgstr "Sissekanded puuduvad"
#: src/components/forms/fields/TableField.tsx:198
msgid "Add new row"
-msgstr ""
+msgstr "Lisa uus rida"
#: src/components/images/DetailsImage.tsx:252
#~ msgid "Select image"
@@ -1940,49 +1988,49 @@ msgstr "Muuda Andmeid"
msgid "Delete Row"
msgstr "Kustuta rida"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Rida"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Rida sisaldab vigu"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Nõustu"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Kehtiv"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtreeri rea valideerimise oleku järgi"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Valmis"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtreeri rea lõpuleviimise oleku järgi"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Impordi valitud read"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Andmete töötlemine"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Ilmnes viga"
@@ -2002,31 +2050,31 @@ msgstr "Valige veerg või jätke tühi, et see väli ignoreerida."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignoreerige see väli"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Kaardistage andmepalgid andmebaasi väljadele"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Võtke vastu veeru kaardistamine"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Andmebaasi väli"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Välja kirjeldus"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Imporditud veerg"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Vaikimisi väärtus"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Kaardista veerud"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Andmete importimine"
+msgid "Import Rows"
+msgstr "Impordi ridasid"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Andmed on edukalt importitud"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Sulge"
@@ -2104,14 +2152,14 @@ msgstr "Valikud"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Vöötkoodi Toimingud"
#: src/components/items/ActionDropdown.tsx:176
msgid "View Barcode"
-msgstr ""
+msgstr "Vaata ribakoodi"
#: src/components/items/ActionDropdown.tsx:178
msgid "View barcode"
@@ -2152,7 +2200,7 @@ msgstr "Duplikaadi üksus"
#: src/components/items/ColorToggle.tsx:17
msgid "Toggle color scheme"
-msgstr ""
+msgstr "Lülita värviteemat"
#: src/components/items/DocTooltip.tsx:92
#: src/components/items/GettingStartedCarousel.tsx:20
@@ -2177,13 +2225,18 @@ msgstr "Tundmatu viga"
msgid "None"
msgstr "Ühtegi"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree Logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr "Vaikimisi keel"
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
-msgstr ""
+msgstr "Vali keel"
#: src/components/items/OnlyStaff.tsx:10
#: src/components/modals/AboutInvenTreeModal.tsx:50
@@ -2200,75 +2253,76 @@ msgstr "See teave on saadaval ainult töötajatele"
#: src/components/items/RoleTable.tsx:81
msgid "Updating"
-msgstr ""
+msgstr "Uuendamine"
#: src/components/items/RoleTable.tsx:82
msgid "Updating group roles"
-msgstr ""
+msgstr "Grupi rollide uuendamine"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Uuendatud"
#: src/components/items/RoleTable.tsx:119
msgid "Group roles updated"
-msgstr ""
+msgstr "Grupi rollid on uuendatud"
#: src/components/items/RoleTable.tsx:135
msgid "Role"
-msgstr ""
+msgstr "Roll"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
-msgstr ""
+msgstr "Vaata"
#: src/components/items/RoleTable.tsx:145
msgid "Change"
-msgstr ""
+msgstr "Muuda"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Lisa"
#: src/components/items/RoleTable.tsx:203
msgid "Reset group roles"
-msgstr ""
+msgstr "Nulli grupi rollid"
#: src/components/items/RoleTable.tsx:212
msgid "Reset"
-msgstr ""
+msgstr "Nulli"
#: src/components/items/RoleTable.tsx:215
msgid "Save group roles"
-msgstr ""
+msgstr "Salvesta grupi rollid"
#: src/components/items/TransferList.tsx:65
msgid "No items"
-msgstr ""
+msgstr "Üksuseid pole"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
-msgstr ""
+msgstr "Saadaval"
#: src/components/items/TransferList.tsx:162
msgid "Selected"
-msgstr ""
+msgstr "Valitud"
#: src/components/modals/AboutInvenTreeModal.tsx:103
#~ msgid "Your InvenTree version status is"
@@ -2320,13 +2374,13 @@ msgstr "Lingid"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentatsioon"
#: src/components/modals/AboutInvenTreeModal.tsx:181
msgid "Source Code"
-msgstr ""
+msgstr "Lähtekood"
#: src/components/modals/AboutInvenTreeModal.tsx:182
msgid "Mobile App"
@@ -2391,11 +2445,11 @@ msgstr "{key} Paketid"
#: src/components/modals/ServerInfoModal.tsx:22
msgid "Instance Name"
-msgstr ""
+msgstr "Paigalduse nimi"
#: src/components/modals/ServerInfoModal.tsx:28
msgid "Server Version"
-msgstr ""
+msgstr "Serveri versioon"
#: src/components/modals/ServerInfoModal.tsx:38
#~ msgid "Bebug Mode"
@@ -2408,7 +2462,7 @@ msgstr "Andmebaas"
#: src/components/modals/ServerInfoModal.tsx:49
#: src/components/nav/Alerts.tsx:120
msgid "Debug Mode"
-msgstr ""
+msgstr "Silumisrežiim"
#: src/components/modals/ServerInfoModal.tsx:54
msgid "Server is running in debug mode"
@@ -2424,15 +2478,15 @@ msgstr "Server on paigaldatud kasutades dockerit"
#: src/components/modals/ServerInfoModal.tsx:71
msgid "Plugin Support"
-msgstr ""
+msgstr "Plugina tugi"
#: src/components/modals/ServerInfoModal.tsx:76
msgid "Plugin support enabled"
-msgstr ""
+msgstr "Pluginate tugi on sisse lülitatud"
#: src/components/modals/ServerInfoModal.tsx:78
msgid "Plugin support disabled"
-msgstr ""
+msgstr "Pluginate tugi on välja lülitatud"
#: src/components/modals/ServerInfoModal.tsx:85
msgid "Server status"
@@ -2444,12 +2498,12 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:93
msgid "Issues detected"
-msgstr ""
+msgstr "Tuvastatud probleemid"
#: src/components/modals/ServerInfoModal.tsx:102
#: src/components/nav/Alerts.tsx:127
msgid "Background Worker"
-msgstr ""
+msgstr "Taustatöö"
#: src/components/modals/ServerInfoModal.tsx:107
msgid "The background worker process is not running"
@@ -2462,7 +2516,7 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:115
#: src/pages/Index/Settings/AdminCenter/Index.tsx:129
msgid "Email Settings"
-msgstr ""
+msgstr "E-kirja seaded"
#: src/components/modals/ServerInfoModal.tsx:118
#~ msgid "Email settings not configured"
@@ -2471,27 +2525,27 @@ msgstr ""
#: src/components/modals/ServerInfoModal.tsx:120
#: src/components/nav/Alerts.tsx:143
msgid "Email settings not configured."
-msgstr ""
+msgstr "E-Kirja seaded on seadistamata."
#: src/components/nav/Alerts.tsx:57
msgid "Alerts"
-msgstr ""
+msgstr "Teatised"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Ühtegi probleemi ei tuvastatud"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
-msgstr ""
+msgstr "Server töötab silumisrežiimis."
#: src/components/nav/Alerts.tsx:129
msgid "The background worker process is not running."
-msgstr ""
+msgstr "Taustatöö protsess ei tööta."
#: src/components/nav/Alerts.tsx:134
msgid "Server Restart"
-msgstr ""
+msgstr "Taaskäivita server"
#: src/components/nav/Alerts.tsx:136
msgid "The server requires a restart to apply changes."
@@ -2499,11 +2553,11 @@ msgstr ""
#: src/components/nav/Alerts.tsx:141
msgid "Email settings"
-msgstr ""
+msgstr "E-maili seaded"
#: src/components/nav/Alerts.tsx:148
msgid "Database Migrations"
-msgstr ""
+msgstr "Andmebaasi migreerimised"
#: src/components/nav/Alerts.tsx:150
msgid "There are pending database migrations."
@@ -2523,9 +2577,9 @@ msgstr ""
msgid "Notifications"
msgstr "Teavitused"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
-msgstr ""
+msgstr "Midagi ei leitud..."
#: src/components/nav/MainMenu.tsx:40
#: src/pages/Index/Profile/Profile.tsx:15
@@ -2547,7 +2601,7 @@ msgstr "Seaded"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,11 +2619,11 @@ msgstr "Kasutaja seaded"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
-msgstr ""
+msgstr "Süsteemi seaded"
#: src/components/nav/MainMenu.tsx:71
#~ msgid "Switch to pseudo language"
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
-msgstr ""
+msgstr "Admini keskus"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Logi välja"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
-msgstr ""
+msgstr "Laoseis"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Tootmine"
@@ -2636,21 +2690,21 @@ msgstr "Tootmine"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Ostmine"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Müük"
@@ -2693,11 +2747,11 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:125
msgid "View all results"
-msgstr ""
+msgstr "Vaata kõiki tulemusi"
#: src/components/nav/SearchDrawer.tsx:140
msgid "results"
-msgstr ""
+msgstr "tulemused"
#: src/components/nav/SearchDrawer.tsx:144
msgid "Remove search group"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Tarnijaid"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr "Otsingu päringu jaoks tulemusi pole saadaval"
msgid "Attachments"
msgstr "Manused"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Märkmed"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Kuupäev"
@@ -2845,51 +2899,57 @@ msgstr "Kuupäev"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktiivne"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Veebileht"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
-msgstr ""
+msgstr "Pakett"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
-msgstr ""
+msgstr "Plugina seaded"
#: src/components/plugins/PluginPanel.tsx:87
#~ msgid "Error occurred while rendering plugin content"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Mitteaktiivne"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
-msgstr ""
+msgstr "Virtuaalne"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
-msgstr ""
+msgstr "Laoseis puudub"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
-msgstr ""
+msgstr "Tellimisel"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
-msgstr ""
+msgstr "Tootmises"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Üksikasjad"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,80 +3096,78 @@ msgstr "Kategooria"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Asukoht"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Seerianumber"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Kogus"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
-msgstr ""
+msgstr "Partii"
#: src/components/settings/ConfigValueList.tsx:33
#~ msgid "<0>{0}0> is set via {1} and was last set {2}"
@@ -3155,27 +3213,27 @@ msgstr ""
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Lisa uus grupp"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Lisa uus grupp, millega oma kasutajaid hallata"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Uus grupp"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Lisa uus kasutaja"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Loo uus kasutaja, et hallata oma gruppe"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Uus kasutaja"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
@@ -3183,55 +3241,63 @@ msgstr ""
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Lisa kood"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "Lisa kohandatud staatus"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Muuda seadeid"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Seaded on uuendatud"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Seade {0} edukalt värskendatud"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
-msgstr ""
+msgstr "Seadeid pole"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3593,34 +3659,34 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Täpne vaste"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "Praegune osa"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Juba imporditud"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Tarnija"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Laadimine..."
@@ -3630,16 +3696,16 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Vali tarnija"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "Leiti {0} tulemust"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Impordi see osa"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
@@ -3647,7 +3713,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "Impordi kohe"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
@@ -3659,19 +3725,19 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "Muud parameetrid"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "Lisa uus parameeter"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Jäta vahele"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "Loo parameetrid"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
@@ -3679,11 +3745,11 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "Järgmine"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Muuda osa"
@@ -3701,7 +3767,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Impordi"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
@@ -3718,7 +3784,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "Ava osa"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
@@ -3747,7 +3813,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Valmis"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
@@ -3755,7 +3821,7 @@ msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Nõuded"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
@@ -3763,29 +3829,29 @@ msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "Müügi nõuded"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Laos"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
-msgstr ""
+msgstr "Nõutud kogus"
#: src/components/wizards/OrderPartsWizard.tsx:203
msgid "New Purchase Order"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Minge InvenTree'i armatuurlauale"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Külastage dokumentatsiooni, et rohkem teada saada InvenTree kohta"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Serveri informatsioon"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
-msgstr ""
+msgstr "Litsentsi info"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Teenuste sõltuvuste litsentsid"
-#: src/defaults/actions.tsx:78
-msgid "Open Navigation"
-msgstr ""
-
#: src/defaults/actions.tsx:79
+msgid "Open Navigation"
+msgstr "Ava menüü"
+
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Ava peamenüü"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
-msgstr ""
+msgstr "Mine kasutaja seadetesse"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Impordi andmed"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Impordi andmed failist"
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
-msgstr ""
+msgstr "Mine ostukorraldustesse"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
-msgstr ""
+msgstr "Mine müügitellimustele"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4218,7 +4296,7 @@ msgstr ""
#: src/defaults/links.tsx:127
#: src/defaults/links.tsx:168
msgid "System Information"
-msgstr ""
+msgstr "Süsteemi info"
#: src/defaults/links.tsx:134
#~ msgid "Licenses"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Staatus"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Ehitustulemused on valmis"
@@ -4428,143 +4506,133 @@ msgstr "Ehitustulemused on valmis"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Ehitustulemused on tühistatud"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Ehitustulemused on tühistatud"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Ehitustulemused on tühistatud"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Eraldatud"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
-msgstr ""
+msgstr "Lähtekoht"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Valige laoseisu eraldamise alguskoht"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Selle plugina jaoks ei ole sisu esitatud"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Vali asukoht"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Osakategooria vaikimisi asukoht valitud"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Kättesaadud varude asukoha valitud"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
+msgstr "Määra asukoht"
+
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
msgstr ""
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Muuda staatust"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Lisa märkus"
@@ -4673,56 +4745,56 @@ msgstr "Lisa märkus"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Pood juba saadud varudega"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
-msgstr ""
+msgstr "Seerianumbrid"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:742
-#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
-msgid "Expiry Date"
-msgstr ""
+msgstr "Sisesta saadus ühikute seerianumbrid"
#: src/forms/PurchaseOrderForms.tsx:743
-msgid "Enter an expiry date for received items"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:382
+#: src/tables/stock/StockItemTable.tsx:148
+msgid "Expiry Date"
+msgstr "Aegumise kuupäev"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:744
+msgid "Enter an expiry date for received items"
+msgstr "Sisesta saabunud ühikute aegumise kuupäevad"
+
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr "Pakkimine"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Märkus"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Tootekood"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
-msgstr ""
+msgstr "Saabunud"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Üksus on laoseisu vastu võetud"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,209 +4896,218 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Lisage antud kogus pakkidena individuaalsete esemete asemel"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Sisestage sellele laoseadmele algkogus"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Sisestage uued kaubanduslikud numbrikoodid (või jätke tühjaks)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Laoseis"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Liiguta"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Kogus"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
#: src/forms/selectionListFields.tsx:95
msgid "Entries"
-msgstr ""
+msgstr "Sissekanded"
#: src/forms/selectionListFields.tsx:96
msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5016,7 +5115,7 @@ msgstr "Väärtus"
#: src/forms/selectionListFields.tsx:101
msgid "Label"
-msgstr ""
+msgstr "Silt"
#: src/functions/api.tsx:33
msgid "Bad request"
@@ -5036,11 +5135,11 @@ msgstr "Ei leitud"
#: src/functions/api.tsx:45
msgid "Method not allowed"
-msgstr ""
+msgstr "Keelatud meetod"
#: src/functions/api.tsx:48
msgid "Internal server error"
-msgstr ""
+msgstr "Sisemise serveri viga"
#: src/functions/auth.tsx:34
#~ msgid "Error fetching token from server."
@@ -5062,101 +5161,112 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Edukalt välja logitud"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
-msgstr ""
+msgstr "Keel on muudetud"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
-msgstr ""
+msgstr "Teema on muudetud"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Kontrollige oma postkasti lähtestamise lingi jaoks. See toimib ainult siis, kui teil on konto. Vaadake ka rämpsposti."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Parool määrati edukalt. Nüüd saate sisse logida oma uue parooliga"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
-msgstr ""
+msgstr "Parool on muudetud"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -5192,7 +5302,7 @@ msgstr "Vabandame, teil pole luba sellele toimingule"
#: src/functions/notifications.tsx:37
msgid "Invalid Return Code"
-msgstr ""
+msgstr "Vigane tagastamise kuud"
#: src/functions/notifications.tsx:38
msgid "Server returned status {returnCode}"
@@ -5204,44 +5314,35 @@ msgstr "Aegumine"
#: src/functions/notifications.tsx:49
msgid "The request timed out"
-msgstr ""
+msgstr "Viimane päring aegus"
#: src/hooks/UseDataExport.tsx:34
msgid "Exporting Data"
-msgstr ""
+msgstr "Andmete eksportimine"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
-msgstr ""
+msgstr "Ekspordi andmed"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
+msgstr "Ekspordi"
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
-msgstr ""
+msgstr "Ühik on loodud"
#: src/hooks/UseForm.tsx:116
msgid "Item Updated"
-msgstr ""
+msgstr "Ühik on uuendatud"
#: src/hooks/UseForm.tsx:137
msgid "Items Updated"
-msgstr ""
+msgstr "Ühikud on uuendatud"
#: src/hooks/UseForm.tsx:139
msgid "Update multiple items"
-msgstr ""
+msgstr "Uuenda mitut ühikut"
#: src/hooks/UseForm.tsx:169
msgid "Item Deleted"
@@ -5255,52 +5356,56 @@ msgstr "Kas olete kindel, et soovite selle üksuse kustutada?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5335,11 +5440,11 @@ msgstr ""
#: src/pages/Auth/ChangePassword.tsx:80
msgid "Confirm"
-msgstr ""
+msgstr "Kinnita"
#: src/pages/Auth/Layout.tsx:59
msgid "Log off"
-msgstr ""
+msgstr "Logi välja"
#: src/pages/Auth/LoggedIn.tsx:19
msgid "Checking if you are already logged in"
@@ -5347,7 +5452,7 @@ msgstr "Kontrollige, kas olete juba sisse logitud"
#: src/pages/Auth/Login.tsx:32
msgid "No selection"
-msgstr ""
+msgstr "Valikut pole"
#: src/pages/Auth/Login.tsx:91
#~ msgid "Welcome, log in below"
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Logi sisse"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
-msgstr ""
+msgstr "Sinu sisselogimine"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Kas teil pole kontot?"
@@ -5383,14 +5488,14 @@ msgstr "Kas teil pole kontot?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
-msgstr ""
+msgstr "Mitmeastmeline autentimine"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
-msgstr ""
+msgstr "TOTP kood"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
@@ -5406,7 +5511,7 @@ msgstr ""
#: src/pages/Auth/MFA.tsx:53
msgid "Log in"
-msgstr ""
+msgstr "Logi sisse"
#: src/pages/Auth/MFASetup.tsx:23
msgid "MFA Setup Required"
@@ -5440,7 +5545,7 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:31
msgid "Set new password"
-msgstr ""
+msgstr "Määra uus parool"
#: src/pages/Auth/ResetPassword.tsx:31
#~ msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link."
@@ -5448,11 +5553,11 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:35
msgid "The desired new password"
-msgstr ""
+msgstr "Soovitud uus parool"
#: src/pages/Auth/ResetPassword.tsx:44
msgid "Send Password"
-msgstr ""
+msgstr "Saada parool"
#: src/pages/Auth/Set-Password.tsx:49
#~ msgid "No token provided"
@@ -5468,16 +5573,16 @@ msgstr ""
#: src/pages/Auth/VerifyEmail.tsx:28
msgid "Verify Email"
-msgstr ""
+msgstr "Kinnita e-posti aadress"
#: src/pages/Auth/VerifyEmail.tsx:30
msgid "Verify"
-msgstr ""
+msgstr "Kinnita"
#. placeholder {0}: error.statusText
#: src/pages/ErrorPage.tsx:16
msgid "Error: {0}"
-msgstr ""
+msgstr "Tõrge: {0}"
#: src/pages/ErrorPage.tsx:23
msgid "An unexpected error has occurred"
@@ -5641,11 +5746,11 @@ msgstr "Tekkis ootamatu viga"
#: src/pages/Index/Scan.tsx:65
msgid "Item already scanned"
-msgstr ""
+msgstr "Ühik on juba skännitud"
#: src/pages/Index/Scan.tsx:82
msgid "API Error"
-msgstr ""
+msgstr "API viga"
#: src/pages/Index/Scan.tsx:83
msgid "Failed to fetch instance data"
@@ -5878,275 +5983,275 @@ msgstr ""
#: src/pages/core/UserDetail.tsx:119
#: src/tables/settings/CustomStateTable.tsx:101
msgid "Display Name"
-msgstr ""
+msgstr "Näidatav nimi"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:86
#: src/pages/core/UserDetail.tsx:127
msgid "Position"
-msgstr ""
+msgstr "Asukoht"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
-msgstr ""
+msgstr "Liik"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:91
#: src/pages/core/UserDetail.tsx:143
msgid "Organisation"
-msgstr ""
+msgstr "Organisatsioon"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:92
msgid "Primary Group"
-msgstr ""
+msgstr "Peamine grupp"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:104
msgid "Account Details"
-msgstr ""
+msgstr "Konto üksikasjad"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:107
msgid "Account Actions"
-msgstr ""
+msgstr "Konto toimingud"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:111
msgid "Edit Account"
-msgstr ""
+msgstr "Muuda kontot"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:117
#: src/tables/settings/UserTable.tsx:322
msgid "Change Password"
-msgstr ""
+msgstr "Muuda parooli"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119
msgid "Change User Password"
-msgstr ""
+msgstr "Muuda kasutaja parooli"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131
msgid "Profile Details"
-msgstr ""
+msgstr "Profiili üksikasjad"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:134
msgid "Edit Profile"
-msgstr ""
+msgstr "Muuda profiili"
#. placeholder {0}: item.label
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:153
msgid "{0}"
-msgstr ""
+msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
-msgstr ""
+msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Teie kontoga on seotud järgmised e-posti aadressid:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Peamine"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Kinnitatud"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Kinnitamata"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Määra peamiseks"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Saada kinnitus uuesti"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Lisa e-posti aadress"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-post"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-posti aadress"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Lisa e-posti aadress"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-post"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-posti aadress"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Lisa E-mail"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Lisa E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr "Punktid"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuuta"
@@ -6482,7 +6588,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "Kiirtoimingud"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,11 +6596,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "Avaleht"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
-msgstr ""
+msgstr "Kasutajad / Ligipääs"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:127
#~ msgid "Templates"
@@ -6506,11 +6612,11 @@ msgstr "Andmete importimine"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:142
msgid "Data Export"
-msgstr ""
+msgstr "Andmete eksportimine"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:148
msgid "Barcode Scans"
-msgstr ""
+msgstr "Ribakoodi skännimised"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:154
msgid "Background Tasks"
@@ -6535,7 +6641,7 @@ msgstr "Kohandatud staatused"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:189
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:57
msgid "Custom Units"
-msgstr ""
+msgstr "Kohandatud ühikud"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/part/CategoryDetail.tsx:313
@@ -6563,11 +6669,11 @@ msgstr "Masinad"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:247
msgid "Operations"
-msgstr ""
+msgstr "Toimingud"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:259
msgid "Data Management"
-msgstr ""
+msgstr "Andmete haldamine"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:270
#: src/pages/Index/Settings/SystemSettings.tsx:176
@@ -6585,7 +6691,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:299
msgid "Advanced Options"
-msgstr ""
+msgstr "Täpsemad valikud"
#: src/pages/Index/Settings/AdminCenter/LabelTemplatePanel.tsx:40
#~ msgid "Generated Labels"
@@ -6601,7 +6707,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:60
msgid "Machine Drivers"
-msgstr ""
+msgstr "Masina draiverid"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62
#~ msgid "There are no machine registry errors."
@@ -6609,11 +6715,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:68
msgid "Machine Types"
-msgstr ""
+msgstr "Masina liigid"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:76
msgid "Machine Errors"
-msgstr ""
+msgstr "Masina veateated"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:89
msgid "Registry Registry Errors"
@@ -6671,7 +6777,7 @@ msgstr "Horisontaalne"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:25
msgid "Merge"
-msgstr ""
+msgstr "Liida"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:31
msgid "Attach to Model"
@@ -6685,30 +6791,34 @@ msgstr "Lisa mudelile"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Taustatöötaja ei tööta"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Taustal töötava ülesandehalduri teenus ei tööta. Võtke ühendust oma süsteemi administraatoriga."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Taustatöötaja ei tööta"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Taustal töötava ülesandehalduri teenus ei tööta. Võtke ühendust oma süsteemi administraatoriga."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
-msgstr ""
+msgstr "Ootel ülesanded"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
-msgstr ""
+msgstr "Ajastatud ülesanded"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6774,7 +6884,7 @@ msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:78
msgid "Authentication"
-msgstr ""
+msgstr "Autentimine"
#: src/pages/Index/Settings/SystemSettings.tsx:104
msgid "Barcodes"
@@ -6805,6 +6915,16 @@ msgstr "Hind"
msgid "Labels"
msgstr "Sildid"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Väline"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Viide"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Tühista see tellimus"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Märgi see tellimus lõpetatuks"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Muuda tellimust"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Tee tellimusest koopia"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Tühista tellimus"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,38 +7339,36 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
-msgstr ""
+msgstr "Tabelivaade"
#: src/pages/build/BuildIndex.tsx:80
#: src/pages/purchasing/PurchasingIndex.tsx:80
#: src/pages/sales/SalesIndex.tsx:67
#: src/pages/sales/SalesIndex.tsx:113
msgid "Calendar View"
-msgstr ""
+msgstr "Kalendrivaade"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Veebileht"
+msgstr "Parameetriline vaade"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7271,11 +7389,11 @@ msgstr "Vaikimisi valuuta"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Tootja"
@@ -7284,15 +7402,15 @@ msgstr "Tootja"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Klient"
@@ -7302,7 +7420,7 @@ msgstr "Klient"
#: src/pages/company/CompanyDetail.tsx:182
msgid "Company Details"
-msgstr ""
+msgstr "Ettevõtte andmed"
#: src/pages/company/CompanyDetail.tsx:188
msgid "Supplied Parts"
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Muuda ettevõtet"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Kustuta ettevõte"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Ettevõtte toimingud"
@@ -7349,7 +7467,7 @@ msgstr "Väline link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr "Tootja osa üksikasjad"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Tootjaosade tegevused"
@@ -7395,23 +7513,23 @@ msgstr "Tootjaosade tegevused"
#: src/pages/company/SupplierPartDetail.tsx:105
#: src/tables/part/RelatedPartTable.tsx:82
msgid "Part Description"
-msgstr ""
+msgstr "Osa kirjeldus"
#: src/pages/company/SupplierPartDetail.tsx:180
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Kogus pakis"
#: src/pages/company/SupplierPartDetail.tsx:205
msgid "Supplier Availability"
-msgstr ""
+msgstr "Tarnija saadavus"
#: src/pages/company/SupplierPartDetail.tsx:213
msgid "Availability Updated"
-msgstr ""
+msgstr "Saadavust on uuendatud"
#: src/pages/company/SupplierPartDetail.tsx:238
msgid "Availability"
@@ -7427,30 +7545,30 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
-msgstr ""
+msgstr "Pole laos"
#: src/pages/core/CoreIndex.tsx:46
#: src/pages/core/GroupDetail.tsx:81
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,11 +7614,11 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
-msgstr ""
+msgstr "Asukoht"
#: src/pages/part/CategoryDetail.tsx:119
msgid "Parent Category"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Alamkategooriad"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Tellimuse koostamise eraldised"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Müügitellimuste eraldamine"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Kas soovite selle koostamise jaoks koostamise nimekirja kontrollida?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,248 +7772,248 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Kategooria vaikimisi asukoht"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Kategooria vaikimisi asukoht"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Ühikud"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Märksõnad"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Saadaval laos"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Tellimisel"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Ehitusettevõtetele eraldatud"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Määratud müügitellimustele"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimaalne laoseis"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimaalne laoseis"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
-msgstr ""
+msgstr "Lukustatud"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
-msgstr ""
+msgstr "Malli osa"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
-msgid "Testable Part"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
-msgid "Trackable Part"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:652
-msgid "Purchaseable Part"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
+msgid "Testable Part"
+msgstr "Testitav osa"
+
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
+msgid "Trackable Part"
+msgstr "Jälgitav osa"
+
+#: src/pages/part/PartDetail.tsx:669
+msgid "Purchaseable Part"
+msgstr "Ostetav osa"
+
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
-msgstr ""
+msgstr "Müüdav osa"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
-msgstr ""
+msgstr "Virtuaalne osa"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
-msgstr ""
+msgstr "Loomise kuupäev"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Vaiketarnija"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Hinnavahemik"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variandid"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Osale osade parameetreid ei saa muuta, kuna osa on lukus"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Osale osade parameetreid ei saa muuta, kuna osa on lukus"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Nõutud"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Lisa osa"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Selle osa kustutamist ei saa tagasi võtta"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
-msgstr ""
+msgstr "Otsi seerianumbri järgi"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
-msgstr ""
+msgstr "Osa toimingud"
#: src/pages/part/PartIndex.tsx:29
#~ msgid "Categories"
@@ -7904,11 +8026,11 @@ msgstr "Selle osa kohta andmeid hinnakujunduse kohta ei leitud."
#: src/pages/part/PartPricingPanel.tsx:87
#: src/pages/part/pricing/PricingOverviewPanel.tsx:332
msgid "Pricing Overview"
-msgstr ""
+msgstr "Hinna ülevaade"
#: src/pages/part/PartPricingPanel.tsx:93
msgid "Purchase History"
-msgstr ""
+msgstr "Ostuajalugu"
#: src/pages/part/PartPricingPanel.tsx:107
#: src/pages/part/pricing/PricingOverviewPanel.tsx:211
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
-#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
-msgid "Stock Value"
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr "Kogus laos"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
+#: src/pages/stock/StockDetail.tsx:402
+#: src/tables/stock/StockItemTable.tsx:125
+msgid "Stock Value"
+msgstr "Laoseisu väärtus"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimaalne väärtus"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maksimaalne hind"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maksimaalne hind"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
-msgstr ""
+msgstr "Kogu hind"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponent"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimaalne hind"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Maksimaalne hind"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Ühiku hind"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Sektorgraafik"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Tulpgraafik"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8156,7 +8292,7 @@ msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:300
msgid "Refresh"
-msgstr ""
+msgstr "Värskenda"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:301
msgid "Refresh pricing data"
@@ -8172,7 +8308,7 @@ msgstr ""
#: src/pages/part/pricing/PricingPanel.tsx:65
msgid "No Data"
-msgstr ""
+msgstr "Andmeid pole"
#: src/pages/part/pricing/PricingPanel.tsx:66
msgid "No pricing data available"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,15 +8368,15 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
-msgstr ""
+msgstr "Sihtkoht"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:203
#: src/pages/sales/ReturnOrderDetail.tsx:168
#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Order Currency"
-msgstr ""
+msgstr "Tellimuse valuuta"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:207
#: src/pages/sales/ReturnOrderDetail.tsx:183
@@ -8252,123 +8388,123 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:175
#: src/pages/sales/SalesOrderDetail.tsx:168
msgid "Total Cost"
-msgstr ""
+msgstr "Kogusumma"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:238
#: src/pages/sales/ReturnOrderDetail.tsx:216
#: src/pages/sales/SalesOrderDetail.tsx:209
msgid "Contact Email"
-msgstr ""
+msgstr "Kontakti e-post"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:224
#: src/pages/sales/SalesOrderDetail.tsx:217
msgid "Contact Phone"
-msgstr ""
+msgstr "Kontakttelefon"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:279
#: src/pages/sales/ReturnOrderDetail.tsx:258
#: src/pages/sales/SalesOrderDetail.tsx:250
msgid "Issue Date"
-msgstr ""
+msgstr "Väljastamise kuupäev"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
-msgstr ""
+msgstr "Lõppkuupäev"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
-msgstr ""
+msgstr "Tellimuse andmed"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Täida ostutellimus"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:196
msgid "Return Address"
-msgstr ""
+msgstr "Tagastusaadress"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
-msgstr ""
+msgstr "Määramata"
#: src/pages/sales/ReturnOrderDetail.tsx:349
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Saadetise viide"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
-msgstr ""
+msgstr "Ootel"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
-msgstr ""
+msgstr "Märgitud"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
-msgstr ""
+msgstr "Pole märgitud"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
-msgstr ""
+msgstr "Märgi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
-msgstr ""
+msgstr "Eemalda märgistus"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Tegevus inventariüksuste jaoks selles asukohas"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Tegevus inventariüksuste jaoks selles asukohas"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Tegevus selle asukoha alamkohtades"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,19 +8945,19 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
-msgstr ""
+msgstr "Aegunud"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
-msgstr ""
+msgstr "Pole saadaval"
#: src/states/IconState.tsx:47
#: src/states/IconState.tsx:77
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "See kaupu on tootmises"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "See varuosa on määratud müügitellimusele"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "See varuosa on määratud kliendile"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "See eset varuosa on paigaldatud teisesse varuossa"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "See stock eseme on tarbitud ehitustellimuse poolt"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "See kaupluseseade on aegunud"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "See laoseis on täielikult reserveeritud"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "See kauplemisobjekt on osaliselt reserveeritud"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "See laoseis on ammendatud"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Vali veerud"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Omab partiikoodi"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Näita üksusi, millel on partiikood"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Näita esemeid, mis on laos"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "On serialiseeritud"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Näita üksusi, millel on seerianumber"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Omab partiikoodi"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Näita üksusi, millel on partiikood"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Näita esemeid, mis on laos"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "On serialiseeritud"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Näita üksusi, millel on seerianumber"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Mulle määratud"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Näita mulle minule määratud tellimusi"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Ootel"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
-msgstr ""
+msgstr "Maksimaalne kuupäev"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr ""
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
-msgstr ""
+msgstr "Loodud enne"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr ""
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
-msgstr ""
+msgstr "Lisatud hiljem kui"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
-msgstr ""
+msgstr "Alguse kuupäev enne"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
-msgstr ""
+msgstr "Alguse kuupäev pärast"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtreerige vastutava omaniku järgi"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtreeri kasutaja järgi"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Eemalda filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Vali filtri väärtus"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
-msgstr ""
+msgstr "Vali kuupäev"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Vali filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Tabeli filtrid"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Lisa filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Tühjenda filtrid"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Kirjeid ei leitud"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Server tagastas ebatäpse andmeühiku"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Server tagastas ebatäpse andmeühiku"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server tagastas ebatäpse andmeühiku"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Vaata üksikasju"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Vaata {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Kustutage valitud kirjed"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Kas olete kindel, et soovite kustutada valitud elemendid?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Kustutage valitud kirjed"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "See BOM-i kirje on määratud erinevale vanemale"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Sisaldab asenduslaosid"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktiivne osa"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr "Näita aktiivseid kirjeid"
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Näita esemeid saadaval oleval varul"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Kinnitatud"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Päritud"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
-msgstr ""
+msgstr "Variantide lubamine"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Näita esemeid, mis lubavad variatsiooni asendamist"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Valikuline"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Näita esemeid hinnakujundusega"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "BOM-i toote kontroll ebaõnnestus"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Tükkide loendit ei saa redigeerida, kuna osa on lukustatud"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Jälgitav"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Näita jälgitavaid koosteid"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Näita esemete eraldatud ehituse väljundit"
@@ -9538,17 +9754,17 @@ msgstr "Näita esemete eraldatud ehituse väljundit"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
-msgstr ""
+msgstr "Tootmises"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Automaatne eraldamine on käimas"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Määra laoseis sellele koostetellimusele automaatselt vastavalt valitud valikutele"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Tühista kõik jälgimata laoseisu eraldised selle koostetellimuse jaoks"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Tühista laoseisu eraldamine valitud reaüksusest"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Laoseisu eraldamine on tühistatud"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Valige valitud väljundid lõpule"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Tühistage valitud väljundid"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Võtke lao jääk, et luua väljund"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Tühistage valitud väljundid"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Võtke lao jääk, et luua väljund"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Võtke lao jääk väljundist"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Kustuta aadress"
msgid "Are you sure you want to delete this address?"
msgstr "Kas olete kindel, et soovite selle aadressi kustutada?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Lisa ettevõte"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Lisa ettevõte"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Näita aktiivseid ettevõtteid"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Näita ettevõtteid, mis on tarnijad"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Kuva ettevõtteid, mis on tootjad"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Kuva ettevõtteid, mis on kliendid"
@@ -9973,11 +10213,11 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:160
#: src/tables/general/AttachmentTable.tsx:174
msgid "Uploading File"
-msgstr ""
+msgstr "Faili üleslaadimine"
#: src/tables/general/AttachmentTable.tsx:185
msgid "File Uploaded"
-msgstr ""
+msgstr "Fail on üles laetud"
#: src/tables/general/AttachmentTable.tsx:186
msgid "File {name} uploaded successfully"
@@ -10013,11 +10253,11 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:292
msgid "Is File"
-msgstr ""
+msgstr "On fail"
#: src/tables/general/AttachmentTable.tsx:293
msgid "Show file attachments"
-msgstr ""
+msgstr "Näita lisatud faili"
#: src/tables/general/AttachmentTable.tsx:302
msgid "Add attachment"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10094,17 +10334,17 @@ msgstr ""
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Impordi parameetrid"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
-msgstr ""
+msgstr "Lisa parameeter"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10115,24 +10355,24 @@ msgstr ""
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Lisa marameetrid"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Loo parameeter"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Loo uus parameeter"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Impordi parameetrid failist"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
msgid "Add Parameter Template"
-msgstr ""
+msgstr "Lisa parameetri mall"
#: src/tables/general/ParameterTemplateTable.tsx:64
msgid "Duplicate Parameter Template"
@@ -10148,7 +10388,7 @@ msgstr "Muuda parameetri mall"
#: src/tables/general/ParameterTemplateTable.tsx:138
msgid "Checkbox"
-msgstr ""
+msgstr "Märkekast"
#: src/tables/general/ParameterTemplateTable.tsx:139
msgid "Show checkbox templates"
@@ -10156,14 +10396,14 @@ msgstr "Näita märkeruutude malle"
#: src/tables/general/ParameterTemplateTable.tsx:143
msgid "Has choices"
-msgstr ""
+msgstr "Valikutega"
#: src/tables/general/ParameterTemplateTable.tsx:144
msgid "Show templates with choices"
msgstr "Kuva valikuga mallid"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10179,11 +10419,11 @@ msgstr ""
#: src/tables/settings/ImportSessionTable.tsx:111
#: src/tables/settings/TemplateTable.tsx:368
msgid "Model Type"
-msgstr ""
+msgstr "Mudeli liik"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "Filtreeri mudeli liik"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10191,30 +10431,30 @@ msgstr "Muutmiseks kliki"
#: src/tables/general/ParametricDataTableFilters.tsx:36
msgid "True"
-msgstr ""
+msgstr "Tõene"
#: src/tables/general/ParametricDataTableFilters.tsx:37
msgid "False"
-msgstr ""
+msgstr "Väär"
#: src/tables/general/ParametricDataTableFilters.tsx:47
#: src/tables/general/ParametricDataTableFilters.tsx:80
msgid "Select a choice"
-msgstr ""
+msgstr "Tee valik"
#: src/tables/general/ParametricDataTableFilters.tsx:100
msgid "Enter a value"
-msgstr ""
+msgstr "Sisesta väärtus"
#: src/tables/machine/MachineListTable.tsx:133
msgid "Machine restarted"
-msgstr ""
+msgstr "Masin on taaskäivitatud"
#: src/tables/machine/MachineListTable.tsx:235
#: src/tables/machine/MachineListTable.tsx:297
#: src/tables/machine/MachineListTable.tsx:729
msgid "Edit machine"
-msgstr ""
+msgstr "Muuda masinat"
#: src/tables/machine/MachineListTable.tsx:235
#~ msgid "Are you sure you want to remove the machine \"{0}\"?"
@@ -10223,7 +10463,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:249
#: src/tables/machine/MachineListTable.tsx:301
msgid "Delete machine"
-msgstr ""
+msgstr "Kustuta masin"
#: src/tables/machine/MachineListTable.tsx:250
#: src/tables/machine/MachineListTable.tsx:692
@@ -10233,16 +10473,16 @@ msgstr "Masin kustutati edukalt."
#: src/tables/machine/MachineListTable.tsx:255
#: src/tables/machine/MachineListTable.tsx:697
msgid "Are you sure you want to remove this machine?"
-msgstr ""
+msgstr "Oled sa kindel, et soovid selle masina eemaldada?"
#: src/tables/machine/MachineListTable.tsx:285
msgid "Machine"
-msgstr ""
+msgstr "Masin"
#: src/tables/machine/MachineListTable.tsx:290
#: src/tables/machine/MachineListTable.tsx:568
msgid "Restart required"
-msgstr ""
+msgstr "Taaskäivitamine on vajalik"
#: src/tables/machine/MachineListTable.tsx:291
#~ msgid "Machine information"
@@ -10250,7 +10490,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:294
msgid "Machine Actions"
-msgstr ""
+msgstr "Masina toimingud"
#: src/tables/machine/MachineListTable.tsx:306
msgid "Restart"
@@ -10258,7 +10498,7 @@ msgstr "Taaskäivita"
#: src/tables/machine/MachineListTable.tsx:308
msgid "Restart machine"
-msgstr ""
+msgstr "Taaskäivita masin"
#: src/tables/machine/MachineListTable.tsx:310
msgid "manual restart required"
@@ -10270,29 +10510,29 @@ msgstr "käsitsi taaskäivitamine vajalik"
#: src/tables/machine/MachineListTable.tsx:343
msgid "General"
-msgstr ""
+msgstr "Üldine"
#: src/tables/machine/MachineListTable.tsx:353
#: src/tables/machine/MachineListTable.tsx:804
msgid "Machine Type"
-msgstr ""
+msgstr "Masina liik"
#: src/tables/machine/MachineListTable.tsx:366
msgid "Machine Driver"
-msgstr ""
+msgstr "Masina draiver"
#: src/tables/machine/MachineListTable.tsx:381
msgid "Initialized"
-msgstr ""
+msgstr "Käivitatud"
#: src/tables/machine/MachineListTable.tsx:410
#: src/tables/machine/MachineTypeTable.tsx:305
msgid "No errors reported"
-msgstr ""
+msgstr "Veateateid pole"
#: src/tables/machine/MachineListTable.tsx:431
msgid "Properties"
-msgstr ""
+msgstr "Omadused"
#: src/tables/machine/MachineListTable.tsx:494
#~ msgid "Create machine"
@@ -10300,7 +10540,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:521
msgid "Driver Settings"
-msgstr ""
+msgstr "Draiveri seadeid"
#: src/tables/machine/MachineListTable.tsx:561
#~ msgid "Machine detail"
@@ -10308,40 +10548,40 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:648
msgid "Add Machine"
-msgstr ""
+msgstr "Lisa masin"
#: src/tables/machine/MachineListTable.tsx:691
#: src/tables/machine/MachineListTable.tsx:736
msgid "Delete Machine"
-msgstr ""
+msgstr "Kustuta masin"
#: src/tables/machine/MachineListTable.tsx:704
msgid "Edit Machine"
-msgstr ""
+msgstr "Muuda masinat"
#: src/tables/machine/MachineListTable.tsx:718
msgid "Restart Machine"
-msgstr ""
+msgstr "Taaskäivita masin"
#: src/tables/machine/MachineListTable.tsx:749
msgid "Add machine"
-msgstr ""
+msgstr "Lisa masin"
#: src/tables/machine/MachineListTable.tsx:765
msgid "Machine Detail"
-msgstr ""
+msgstr "Masina üksikasjad"
#: src/tables/machine/MachineListTable.tsx:813
msgid "Driver"
-msgstr ""
+msgstr "Draiver"
#: src/tables/machine/MachineTypeTable.tsx:72
msgid "Driver Type"
-msgstr ""
+msgstr "Draiveri liik"
#: src/tables/machine/MachineTypeTable.tsx:76
msgid "Builtin driver"
-msgstr ""
+msgstr "Sisseehitatud draiver"
#: src/tables/machine/MachineTypeTable.tsx:99
#~ msgid "Machine type information"
@@ -10349,7 +10589,7 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:126
msgid "Not Found"
-msgstr ""
+msgstr "Ei leitud"
#: src/tables/machine/MachineTypeTable.tsx:129
msgid "Machine type not found."
@@ -10357,7 +10597,7 @@ msgstr "Seadme tüüpi ei leitud."
#: src/tables/machine/MachineTypeTable.tsx:139
msgid "Machine Type Information"
-msgstr ""
+msgstr "Masina liigi info"
#: src/tables/machine/MachineTypeTable.tsx:148
#~ msgid "Available drivers"
@@ -10380,7 +10620,7 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:192
msgid "Available Drivers"
-msgstr ""
+msgstr "Saadaolevad draiverid"
#: src/tables/machine/MachineTypeTable.tsx:232
msgid "Machine driver not found."
@@ -10392,7 +10632,7 @@ msgstr "Masinajuhi informatsioon"
#: src/tables/machine/MachineTypeTable.tsx:260
msgid "Machine type"
-msgstr ""
+msgstr "Masina liik"
#: src/tables/machine/MachineTypeTable.tsx:338
#~ msgid "Machine type detail"
@@ -10404,11 +10644,11 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:360
msgid "Builtin type"
-msgstr ""
+msgstr "Sisseehitatud liik"
#: src/tables/machine/MachineTypeTable.tsx:369
msgid "Machine Type Detail"
-msgstr ""
+msgstr "Masina liigi info"
#: src/tables/machine/MachineTypeTable.tsx:379
msgid "Machine Driver Detail"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Teavitus"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Sõnum"
@@ -10460,14 +10700,14 @@ msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:73
msgid "Part IPN"
-msgstr ""
+msgstr "Osa IPN"
#: src/tables/part/PartBuildAllocationsTable.tsx:91
msgid "Required Stock"
-msgstr ""
+msgstr "Nõutud laoseis"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10494,11 +10734,11 @@ msgstr "Näita kategooriaid, millele kasutaja on tellinud"
#: src/tables/part/PartCategoryTable.tsx:104
msgid "New Part Category"
-msgstr ""
+msgstr "Uus osa kategooria"
#: src/tables/part/PartCategoryTable.tsx:130
msgid "Set Parent Category"
-msgstr ""
+msgstr "Määra peamine kategooria"
#: src/tables/part/PartCategoryTable.tsx:148
#: src/tables/stock/StockLocationTable.tsx:147
@@ -10550,146 +10790,146 @@ msgstr "Kustuta kategooria parameeter"
#: src/tables/part/PartPurchaseOrdersTable.tsx:79
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:197
msgid "Total Quantity"
-msgstr ""
+msgstr "Kogus kokku"
#: src/tables/part/PartPurchaseOrdersTable.tsx:123
msgid "Show pending orders"
-msgstr ""
+msgstr "Näita ootel tellimusi"
#: src/tables/part/PartPurchaseOrdersTable.tsx:128
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtreeri osa aktiivse staatuse järgi"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtreeri vastavalt osa lukustatud seisundile"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtreeri koostise atribuudi järgi"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Kaasa osad alamkategooriatesse"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtreeri komponendi atribuudi järgi"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtreeri testitava atribuudi järgi"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtreerige jälgitava atribuudi järgi"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtreeri osade järgi, millel on ühikud"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtreeri osade järgi, millel on siseosade number"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtreeri osade järgi, millel on laoseis"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtreeri osade järgi, millel on vähe laoseisu"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtreeri osade järgi, mis on ostetavad"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtreeri osade järgi, mis on müügiloaga"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtreeri osade järgi, mis on virtuaalsed"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:291
-msgid "Is Template"
-msgstr ""
+msgstr "Pole virtuaalne"
#: src/tables/part/PartTable.tsx:292
+msgid "Is Template"
+msgstr "On mall"
+
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtreeri osade järgi, mis on mallid"
-#: src/tables/part/PartTable.tsx:297
-msgid "Is Variant"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:298
+msgid "Is Variant"
+msgstr "On variant"
+
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtreeri osade järgi, mis on revisioonid"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtreeri osade järgi, millel on revisioonid"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtreeri osade järgi, millel on hinnateave"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtreeri osade järgi, millel on laoseis saadaval"
@@ -10701,58 +10941,58 @@ msgstr "Filtreeri osade järgi, millel on laoseis saadaval"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtreeri osade järgi, millele kasutaja on tellinud"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
-msgstr ""
+msgstr "Määra kategooria"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
-msgstr ""
+msgstr "Lisa osad"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
-msgstr ""
+msgstr "Loo osa"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
-msgstr ""
+msgstr "Loo uus osa"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Lisa testi tulemus"
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr "Tulemus puudub"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Kuva praegu tootmises olevad ehitustulemid"
@@ -10788,11 +11028,11 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:80
msgid "Results"
-msgstr ""
+msgstr "Tulemused"
#: src/tables/part/PartTestTemplateTable.tsx:113
msgid "Show required tests"
-msgstr ""
+msgstr "Näita nõutud teste"
#: src/tables/part/PartTestTemplateTable.tsx:118
msgid "Show enabled tests"
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Osa malle ei saa redigeerida, kuna osa on lukus"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10877,7 +11125,7 @@ msgstr ""
#: src/tables/part/PartVariantTable.tsx:26
msgid "Show virtual variants"
-msgstr ""
+msgstr "Näita virtuaalseid variante"
#: src/tables/part/PartVariantTable.tsx:31
msgid "Show trackable variants"
@@ -10886,7 +11134,7 @@ msgstr "Näita jälgitavaid variante"
#: src/tables/part/RelatedPartTable.tsx:104
#: src/tables/part/RelatedPartTable.tsx:137
msgid "Add Related Part"
-msgstr ""
+msgstr "Lisa seotud osa"
#: src/tables/part/RelatedPartTable.tsx:109
#~ msgid "Add related part"
@@ -10894,11 +11142,11 @@ msgstr ""
#: src/tables/part/RelatedPartTable.tsx:119
msgid "Delete Related Part"
-msgstr ""
+msgstr "Kustuta seotud osa"
#: src/tables/part/RelatedPartTable.tsx:126
msgid "Edit Related Part"
-msgstr ""
+msgstr "Muuda seotud osa"
#: src/tables/part/SelectionListTable.tsx:64
#: src/tables/part/SelectionListTable.tsx:115
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,9 +11191,9 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
-msgstr ""
+msgstr "Kohustuslik"
#: src/tables/plugin/PluginListTable.tsx:113
#~ msgid "Plugin with id {id} not found"
@@ -10973,68 +11221,68 @@ msgstr "Kirjeldust pole saadaval"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Kinnitage pistikmooduli aktiveerimine"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Kinnitage pistikmoodulite deaktiveerimine"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Valitud pistiklahendus aktiveeritakse"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Valitud pistiklahendus inaktiveeritakse"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Valitud pistiklahendus aktiveeritakse"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Valitud pistiklahendus inaktiveeritakse"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Lülita välja"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktiveeri"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktiveeri"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Eemalda"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Aktiveeri plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Paigalda plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Paigalda"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin paigaldamine õnnestus"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Eemalda plugin"
@@ -11063,23 +11311,23 @@ msgstr "Eemalda plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Kinnita plugina eemaldamine"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Valitud pistikprogramm eemaldatakse."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin desinstall on õnnestunud"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Kustuta plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Kui kustutate selle pistikprogrammi seadistuse, eemaldatakse kõik seotud sätted ja andmed. Olete kindel, et soovite selle pistikprogrammi kustutada?"
@@ -11087,11 +11335,11 @@ msgstr "Kui kustutate selle pistikprogrammi seadistuse, eemaldatakse kõik seotu
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plugin on uuesti laaditud"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Pluginid said edukalt taaskäivitatud"
@@ -11103,7 +11351,7 @@ msgstr "Pluginid said edukalt taaskäivitatud"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Laadi pluginad uuesti"
@@ -11115,7 +11363,7 @@ msgstr "Laadi pluginad uuesti"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Plugina üksikasjad"
@@ -11127,12 +11375,12 @@ msgstr "Plugina üksikasjad"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Näidis"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Paigaldatud"
@@ -11152,30 +11400,24 @@ msgstr "Paigaldatud"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
-msgstr ""
+msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Näita aktiivseid tarnijaosasid"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Näita aktiivseid siseosasi"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Näita esemeid, mis on vastu võetud"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtreeri rea üksuse oleku järgi"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Võta vastu valitud üksused"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
-msgstr ""
+msgstr "Saadaolev kogus"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,48 +11579,52 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
-msgstr ""
+msgstr "Lisa saadetisele"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
-msgstr ""
+msgstr "Lisa saadetisele"
#: src/tables/sales/SalesOrderLineItemTable.tsx:280
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Määra seerianumbrid"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Määra seerianumbrid"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Tellige varu"
@@ -11386,78 +11636,82 @@ msgstr "Tellige varu"
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Näita saadetisi, mis on laevatatud"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Näita saadetisi, mis on kätte toimetatud"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
-msgstr ""
+msgstr "Kasutuses"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
-msgstr ""
+msgstr "Viimati nähtud"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
-msgstr ""
+msgstr "Aegumine"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Tühista"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11481,7 +11735,7 @@ msgstr ""
#: src/tables/settings/BarcodeScanHistoryTable.tsx:118
msgid "Response"
-msgstr ""
+msgstr "Vastus"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:209
msgid "Filter by result"
@@ -11513,7 +11767,7 @@ msgstr ""
#: src/tables/settings/CustomStateTable.tsx:96
msgid "Identifier"
-msgstr ""
+msgstr "Identifikaator"
#: src/tables/settings/CustomStateTable.tsx:115
#~ msgid "Add state"
@@ -11521,11 +11775,11 @@ msgstr ""
#: src/tables/settings/CustomStateTable.tsx:153
msgid "Edit State"
-msgstr ""
+msgstr "Muuda staatust"
#: src/tables/settings/CustomStateTable.tsx:161
msgid "Delete State"
-msgstr ""
+msgstr "Kustuta staatust"
#: src/tables/settings/CustomUnitsTable.tsx:54
msgid "Add Custom Unit"
@@ -11549,32 +11803,32 @@ msgstr ""
#: src/tables/settings/EmailTable.tsx:27
msgid "Sent"
-msgstr ""
+msgstr "Saadetud"
#: src/tables/settings/EmailTable.tsx:29
msgid "Failed"
-msgstr ""
+msgstr "Ebaõnnestunud"
#: src/tables/settings/EmailTable.tsx:33
msgid "Read"
-msgstr ""
+msgstr "Loetud"
#: src/tables/settings/EmailTable.tsx:35
msgid "Confirmed"
-msgstr ""
+msgstr "Kinnitatud"
#: src/tables/settings/EmailTable.tsx:43
#: src/tables/settings/EmailTable.tsx:58
msgid "Send Test Email"
-msgstr ""
+msgstr "Saada testikiri"
#: src/tables/settings/EmailTable.tsx:45
msgid "Email sent successfully"
-msgstr ""
+msgstr "E-kiri on saadetud"
#: src/tables/settings/EmailTable.tsx:71
msgid "Delete Email"
-msgstr ""
+msgstr "Kustuta e-kiri"
#: src/tables/settings/EmailTable.tsx:72
msgid "Email deleted successfully"
@@ -11582,27 +11836,27 @@ msgstr ""
#: src/tables/settings/EmailTable.tsx:80
msgid "Subject"
-msgstr ""
+msgstr "Teema"
#: src/tables/settings/EmailTable.tsx:85
msgid "To"
-msgstr ""
+msgstr "Saaja"
#: src/tables/settings/EmailTable.tsx:90
msgid "Sender"
-msgstr ""
+msgstr "Saatja"
#: src/tables/settings/EmailTable.tsx:122
msgid "Direction"
-msgstr ""
+msgstr "Suund"
#: src/tables/settings/EmailTable.tsx:125
msgid "Incoming"
-msgstr ""
+msgstr "Sissetulev"
#: src/tables/settings/EmailTable.tsx:125
msgid "Outgoing"
-msgstr ""
+msgstr "Väljaminevad"
#: src/tables/settings/ErrorTable.tsx:51
#~ msgid "Delete error report"
@@ -11815,7 +12069,7 @@ msgstr ""
#: src/tables/settings/TemplateTable.tsx:165
msgid "Template not found"
-msgstr ""
+msgstr "Malli ei leitud"
#: src/tables/settings/TemplateTable.tsx:167
msgid "An error occurred while fetching template details"
@@ -11840,19 +12094,19 @@ msgstr ""
#: src/tables/settings/TemplateTable.tsx:313
#: src/tables/settings/TemplateTable.tsx:381
msgid "Edit Template"
-msgstr ""
+msgstr "Muuda malli"
#: src/tables/settings/TemplateTable.tsx:321
msgid "Delete template"
-msgstr ""
+msgstr "Kustuta mall"
#: src/tables/settings/TemplateTable.tsx:327
msgid "Add Template"
-msgstr ""
+msgstr "Lisa mall"
#: src/tables/settings/TemplateTable.tsx:340
msgid "Add template"
-msgstr ""
+msgstr "Lisa mall"
#: src/tables/settings/TemplateTable.tsx:363
msgid "Filter by enabled status"
@@ -11888,7 +12142,7 @@ msgstr "Kasutaja üksikasjade hankimisel ilmnes viga"
#: src/tables/settings/UserTable.tsx:178
msgid "Is Active"
-msgstr ""
+msgstr "On aktiivne"
#: src/tables/settings/UserTable.tsx:179
msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts."
@@ -11896,7 +12150,7 @@ msgstr "Määrab, kas seda kasutajat tuleks käsitleda aktiivsena. Tühistage se
#: src/tables/settings/UserTable.tsx:183
msgid "Is Staff"
-msgstr ""
+msgstr "On töötaja"
#: src/tables/settings/UserTable.tsx:184
msgid "Designates whether the user can log into the django admin site."
@@ -11904,7 +12158,7 @@ msgstr "Määrab, kas kasutaja saab sisse logida django admin rakendusse."
#: src/tables/settings/UserTable.tsx:188
msgid "Is Superuser"
-msgstr ""
+msgstr "On superkasutaja"
#: src/tables/settings/UserTable.tsx:189
msgid "Designates that this user has all permissions without explicitly assigning them."
@@ -11916,7 +12170,7 @@ msgstr "Te ei saa praegu sisseloginud kasutaja õigusi muuta."
#: src/tables/settings/UserTable.tsx:218
msgid "User Groups"
-msgstr ""
+msgstr "Kasutajagrupid"
#: src/tables/settings/UserTable.tsx:305
#~ msgid "Edit user"
@@ -11924,19 +12178,19 @@ msgstr ""
#: src/tables/settings/UserTable.tsx:332
msgid "Lock user"
-msgstr ""
+msgstr "Lukusta kasutaja"
#: src/tables/settings/UserTable.tsx:342
msgid "Unlock user"
-msgstr ""
+msgstr "Eemalda kasutaja lukustus"
#: src/tables/settings/UserTable.tsx:358
msgid "Delete user"
-msgstr ""
+msgstr "Kustuta kasutaja"
#: src/tables/settings/UserTable.tsx:359
msgid "User deleted"
-msgstr ""
+msgstr "Kasutaja on kustutatud"
#: src/tables/settings/UserTable.tsx:362
msgid "Are you sure you want to delete this user?"
@@ -11944,70 +12198,70 @@ msgstr "Kas olete kindel, et soovite selle kasutaja kustutada?"
#: src/tables/settings/UserTable.tsx:372
msgid "Set Password"
-msgstr ""
+msgstr "Määra parool"
#: src/tables/settings/UserTable.tsx:377
msgid "Password updated"
-msgstr ""
+msgstr "Parool on uuendatud"
#: src/tables/settings/UserTable.tsx:388
msgid "Add user"
-msgstr ""
+msgstr "Lisa kasutaja"
#: src/tables/settings/UserTable.tsx:401
msgid "Show active users"
-msgstr ""
+msgstr "Näita aktiivseid kasutajaid"
#: src/tables/settings/UserTable.tsx:406
msgid "Show staff users"
-msgstr ""
+msgstr "Näita töötajaid"
#: src/tables/settings/UserTable.tsx:411
msgid "Show superusers"
-msgstr ""
+msgstr "Näita superkasutajaid"
#: src/tables/settings/UserTable.tsx:430
msgid "Edit User"
-msgstr ""
+msgstr "Muuda kasutajat"
#: src/tables/settings/UserTable.tsx:463
msgid "Add User"
-msgstr ""
+msgstr "Lisa kasutajat"
#: src/tables/settings/UserTable.tsx:471
msgid "Added user"
-msgstr ""
+msgstr "Kasutaja on lisatud"
#: src/tables/settings/UserTable.tsx:481
msgid "User updated"
-msgstr ""
+msgstr "Kasutaja on uuendatud"
#: src/tables/settings/UserTable.tsx:482
msgid "User updated successfully"
-msgstr ""
+msgstr "Kasutaja on uuendatud"
#: src/tables/settings/UserTable.tsx:488
msgid "Error updating user"
-msgstr ""
+msgstr "Tõrge kasutaja uuendamisel"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12026,209 +12280,161 @@ msgstr ""
#: src/tables/stock/LocationTypesTable.tsx:68
msgid "Icon"
+msgstr "Ikoon"
+
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "See kaupu on tootmises"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Kuva laoseis aktiivsetele osadele"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "See varuosa on määratud müügitellimusele"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Kuva laoseis koostatud osade jaoks"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "See varuosa on määratud kliendile"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Näita esemeid, mis on eraldatud"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "See eset varuosa on paigaldatud teisesse varuossa"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Näita esemeid, millel on saadaval"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "See stock eseme on tarbitud ehitustellimuse poolt"
-
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "See kaupluseseade on aegunud"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Kaasa laoosad alakohtades"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "See laoseis on täielikult reserveeritud"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Näita ammendunud laoseoseid"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "See kauplemisobjekt on osaliselt reserveeritud"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Näita esemeid, mis on tootmises"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "See laoseis on ammendatud"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Näita varude üksusi, mis on paigaldatud teistesse üksustesse"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Kliendile saadetud"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Näita üksusi, mis on saadetud kliendile"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Näita jälgitavaid üksusi"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Omab ostuhinda"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Näita üksusi, millel on ostuhind"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Aegunud enne"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Aegunud pärast"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Väline asukoht"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Kuva laoseis aktiivsetele osadele"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Kuva laoseis koostatud osade jaoks"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Näita esemeid, mis on eraldatud"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Näita esemeid, millel on saadaval"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Kaasa laoosad alakohtades"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Näita ammendunud laoseoseid"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Näita esemeid, mis on tootmises"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Näita üksusi välises asukohas"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Näita varude üksusi, mis on paigaldatud teistesse üksustesse"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Kliendile saadetud"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Näita üksusi, mis on saadetud kliendile"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Näita jälgitavaid üksusi"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Omab ostuhinda"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Näita üksusi, millel on ostuhind"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Väline asukoht"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Näita üksusi välises asukohas"
-
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Lõpetatud"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Muuda testi tulemust"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Testi tulemus uuendatud"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Kustuta testi tulemus"
@@ -12327,27 +12533,27 @@ msgstr "Testi tulemuse salvestamine ebaõnnestus"
msgid "Pass Test"
msgstr "Läbige test"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Näita kohustuslike testide tulemusi"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Kaasa paigaldatud"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Näita paigaldatud varude tulemusi"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Läbitud"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Näita ainult läbitud teste"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr "Vana staatus"
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Lisatud"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Eemaldatud"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Kasutajateave puudub"
diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po
index fc8e2db736..b504a2e355 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po
index 4e2de11d37..5b036bb4f8 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po
index ee97c00cbe..57687f26b0 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -35,7 +35,7 @@ msgstr "Éditer"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Supprimer"
@@ -44,36 +44,36 @@ msgstr "Supprimer"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Annuler"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Actions"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Rechercher"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Échec"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Oui"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Non"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Pièce"
@@ -134,7 +138,7 @@ msgstr "Pièce"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Composants"
@@ -149,14 +153,14 @@ msgstr "Composants"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Paramètre"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Paramètres"
@@ -180,37 +184,37 @@ msgstr "Modèles de test de pièces"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Pièce fournisseur"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Pièces du fournisseur"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Pièces du fabricant"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Pièces du fabricant"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Catégorie de composant"
@@ -218,19 +222,22 @@ msgstr "Catégorie de composant"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Catégories de composants"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Article en stock"
@@ -238,22 +245,22 @@ msgstr "Article en stock"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Articles en stock"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Emplacement du stock"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Emplacements de stock"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Emplacements des stocks"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Historique du stock"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Construire des éléments"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Sociétés"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Code du projet"
@@ -330,21 +337,21 @@ msgstr "Codes du projet"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Commande d’achat"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Ordres d'achat"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Lignes de commande d'achat"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Ventes"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Ordres de vente"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Expédition de la commande"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Expéditions de la commande"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Retour de commande"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Retours"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adresse"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresses"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contact"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contacts"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Propriétaire"
@@ -451,15 +458,15 @@ msgstr "Propriétaires"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Utilisateur"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Modèles des rapports"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configuration du plugin"
@@ -543,31 +550,31 @@ msgstr "Listes Sélectionnées"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Administrateur"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Ordres de fabrication"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Processus échoué"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Processus terminé avec succès"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Erreur lors de l'affichage de l'application"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Une erreur s'est produite lors du rendu de ce composant. Reportez-vous à la console pour plus d'informations."
@@ -637,7 +648,7 @@ msgstr "Code-barres"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Scanner"
@@ -668,8 +679,8 @@ msgstr "Saisissez les données du code-barres"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Scanner le code-barres"
@@ -688,7 +699,7 @@ msgstr "Le Code-barre ne correspond pas au type de modèle attendu"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Succès"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Impossible de lier le code-barre"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Lien"
@@ -754,7 +765,7 @@ msgstr "Ceci supprimera le lien vers le code-barres associé"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Délier le code-barre"
@@ -766,11 +777,11 @@ msgstr "Ouvrir dans l'interface d'administration"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copié"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copier"
@@ -798,19 +809,15 @@ msgstr "Impression des Rapports"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Imprimer l'étiquette"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Imprimer"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Imprimer"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Imprimer le rapport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Options d'impression"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Imprimer les étiquettes"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Imprimer les rapports"
@@ -860,8 +867,8 @@ msgstr "Vous allez être redirigé vers le fournisseur pour d'autres actions."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Ouvrir le lecteur de code-barres"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Se désabonner des notifications"
msgid "Subscribe to notifications"
msgstr "S'abonner aux notifications"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Filtres de calendrier"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Mois précédent"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Sélectionner un mois"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Prochain mois"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Télécharger des données"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Export des données"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Erreur lors de la mise à jour des commandes"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "En retard"
@@ -937,7 +949,7 @@ msgstr "Accepter la mise en page"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Aucun gadget disponible"
msgid "There are no more widgets available for the dashboard"
msgstr "Il n'y a plus de gadgets disponibles pour le tableau de bord"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Pièces suivies"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Afficher le nombre de pièces auxquelles vous êtes abonné"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Catégories suivies"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Afficher le nombre de catégories de pièces auxquelles vous êtes abonné"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Listes de matériaux invalides"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Validation des listes de matériaux requises pour les assemblages"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Stock faible"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Afficher le nombre de pièces dont le stock est faible"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Requis pour les commandes de construction"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Afficher les pièces requises pour les ordres de fabrication actifs"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Articles de stock expirés"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Afficher le nombre d'articles de stock qui ont expiré"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Articles de stock obsolètes"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Afficher le nombre d'articles de stock qui sont obsolètes"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Ordres de fabrication actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Afficher le nombre d'ordres de fabrication actuellement actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Ordres de construction en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Afficher le nombre d'ordres de fabrication en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Ordres de fabrication assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Afficher le nombre d'ordres de fabrication qui vous sont assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Commandes de vente actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Afficher le nombre d'ordres de vente actuellement actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Vente en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Afficher le nombre de commandes de vente en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Commandes de vente assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Afficher le nombre de commandes de vente qui vous sont assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "Expéditions en attente"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Commandes d'achat actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Afficher le nombre de commandes d'achat actuellement actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Commandes d'achat en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Afficher le nombre de commandes d'achat en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Commandes d'achat assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Afficher le nombre de commandes d'achat qui vous sont assignées"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Commandes de retour actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Afficher le nombre de commandes de retour actuellement actives"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Ordres de retour en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Afficher le nombre d'ordres de retour en retard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Ordres de retour assignés"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Afficher le nombre d'ordres de retour qui vous sont assignés"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Premiers Pas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Démarrer avec InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Mises à jour des actualités"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Les dernières actualités d'InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Pas d'actualités"
msgid "There are no unread news items"
msgstr "Il n'y a pas d'actualités non lues"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Générer un rapport d'inventaire"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Générer un rapport d'inventaire"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Générer"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Prise d'inventaire"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Générer un nouveau rapport d'inventaire"
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Il n'y a pas d'actualités non lues"
msgid "Superuser"
msgstr "Super-utilisateur"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Personnel"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email : "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Aucun nom défini"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Supprimer l'image associée de cet élément ?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Supprimer"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Glisser et déposer pour télécharger"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Cliquer pour sélectionner le(s) fichier(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Image téléchargée"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "L'image a été téléchargée avec succès"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Erreur de téléchargement"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Effacer"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Envoyer"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Sélectionner parmi les images existantes"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Sélectionner une Image"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Télécharger l'image distante"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Téléverser une nouvelle image"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Charger une image"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Supprimer l'image"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Télécharger l'image"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Image téléchargée avec succès"
@@ -1452,7 +1495,7 @@ msgstr "L'aperçu a été mis à jour avec succès."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "Une erreur inconnue s'est produite lors du rendu de l'aperçu."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1546,7 +1589,7 @@ msgstr "Il existe des erreurs pour un ou plusieurs champs du formulaire"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Mise à jour"
@@ -1579,21 +1622,21 @@ msgstr "Connexion réussie"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Login invalide"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Vérifiez votre saisie et réessayez."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Envoi du mail réussi"
@@ -1628,7 +1671,7 @@ msgstr "Votre nom d'utilisateur"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Mot de passe"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Répéter le mot de passe"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "S'enregistrer"
@@ -1720,6 +1763,10 @@ msgstr "L'enregistrement n'est pas actif"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Cela peut être dû à l'absence des paramètres de mail ou une décision délibérée."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Sélectionnez la date et l'heure"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Serveur"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Version de l'API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Extensions"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Activé"
@@ -1850,17 +1898,17 @@ msgstr "Arrêté"
msgid "Running"
msgstr "En cours d'exécution"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Sélectionner un fichier à téléverser"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Accepter la valeur suggérée"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Sélectionnez la date"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Non catégorisé"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Rechercher..."
@@ -1890,13 +1938,13 @@ msgstr "Sélectionnez le pack"
msgid "{0} icons"
msgstr "Icônes {0}"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Chargement"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Aucun résultat trouvé"
@@ -1940,49 +1988,49 @@ msgstr "Éditer les données"
msgid "Delete Row"
msgstr "Supprimer cette ligne"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Ligne"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "La ligne contient des erreurs"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Accepter"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Valide"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrer par état de validation de ligne"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Complet"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrer par statut de complétion de ligne"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importer les lignes sélectionnées"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Traitement des données"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Une erreur s'est produite"
@@ -2002,31 +2050,31 @@ msgstr "Sélectionnez la colonne, ou laissez vide pour ignorer ce champ."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorer ce champ"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mappage des colonnes de données aux champs de la base de données"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Accepter le mappage des colonnes"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Champ de base de données"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Description du champ"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Colonne importée"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Valeur par Défaut"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mapper les colonnes"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importer les données"
+msgid "Import Rows"
+msgstr "Importer des lignes"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Les données on était correctement importés"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Fermer"
@@ -2104,8 +2152,8 @@ msgstr "Options"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Actions de code-barres"
@@ -2177,10 +2225,15 @@ msgstr "Erreur inconnue"
msgid "None"
msgstr "Aucun"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Sélectionner une langue"
@@ -2208,9 +2261,10 @@ msgstr "Mise à jour des roles du groupe"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Mis à jour"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Rôle"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Voir"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Modifier"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Ajouter"
@@ -2255,14 +2309,14 @@ msgstr "Aucun élément"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponible"
@@ -2320,7 +2374,7 @@ msgstr "Liens"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentation"
@@ -2479,7 +2533,7 @@ msgstr "Alertes"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Aucune erreur détectée"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "En savoir plus sur {code}"
msgid "Notifications"
msgstr "Notifications"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Aucun résultat trouvé..."
@@ -2547,7 +2601,7 @@ msgstr "Paramètres"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Paramètres de l'utilisateur"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Les paramètres du système"
@@ -2578,14 +2632,14 @@ msgstr "Les paramètres du système"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centre Admin"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Se déconnecter"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Stock"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fabrication"
@@ -2636,21 +2690,21 @@ msgstr "Fabrication"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Achat en cours"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Ventes"
@@ -2705,7 +2759,7 @@ msgstr "Supprimer le groupe de recherche"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Fournisseurs"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabricants"
@@ -2768,21 +2822,21 @@ msgstr "Aucun résultat disponible pour la requête"
msgid "Attachments"
msgstr "Fichiers joints"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notes"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plugin fourni"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Replier les panneaux"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Déplier les panneaux"
@@ -2809,19 +2863,19 @@ msgstr "Informations sur le plugin"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Auteur"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Date"
@@ -2845,48 +2899,54 @@ msgstr "Date"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Actif"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Site web"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nom du paquet"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Chemin d'installation"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Intégré"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paquet"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Paramètres du plug-in"
@@ -2969,65 +3029,65 @@ msgstr "Modèle inconnu: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Livraison"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inactif"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuel"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Aucun stock"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "En Commande"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "En Production"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Détails"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Catégorie"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Emplacement"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Numéro de série"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Quantité"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lot"
@@ -3143,95 +3201,103 @@ msgstr "Ajouter un état"
#: src/components/settings/QuickAction.tsx:85
msgid "Open an Issue"
-msgstr ""
+msgstr "Ouvrir un ticket"
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "Signaler un bug ou demander une fonctionnalité sur GitHub"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
-msgstr ""
+msgstr "Ouvrir un ticket"
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Ajouter un nouveau groupe"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Créer un nouveau groupe pour gérer vos utilisateurs"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Nouveau groupe"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Ajouter un nouvel utilisateur"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Créer un nouvel utilisateur pour gérer vos groupes"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Nouvel utilisateur"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
-msgstr ""
+msgstr "Créer un nouveau code de projet pour organiser vos articles"
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Ajouter un code"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "Ajouter un état personnalisé"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
-msgstr ""
+msgstr "Créer un nouvel état personnalisé pour votre workflow"
+
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Voulez-vous procéder à la modification de ce paramètre ?"
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Ce paramètre nécessite une confirmation"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Éditer le paramétrage"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Paramètre {key} mis à jour avec succès"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Paramètre mis à jour"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Paramètre {0} mis à jour avec succès"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Erreur lors de la modification des paramètres"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Impossible de charger les paramètres"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Aucun paramètre"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Aucun paramètre configurable n'est disponible"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Aucun paramètre spécifié"
@@ -3593,107 +3659,107 @@ msgstr "Aucun paramètre spécifié"
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Correspondance exacte"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "Pièce actuelle"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Déjà importé"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Fournisseur"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Chargement..."
#: src/components/wizards/ImportPartWizard.tsx:223
msgid "Error fetching suppliers"
-msgstr ""
+msgstr "Erreur lors de la récupération des fournisseurs"
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Sélectionner un fournisseur"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "Résultats: {0} trouvés"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Importer cette pièce"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
-msgstr ""
+msgstr "Êtes-vous sûr de vouloir importer cette pièce dans la catégorie sélectionnée ?"
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "Importer maintenant"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "Sélectionnez et modifiez les paramètres que vous souhaitez ajouter à cette pièce."
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
-msgstr ""
+msgstr "Paramètres par défaut de la catégorie"
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "Autres paramètres"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "Ajouter un nouveau paramètre"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Passer"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "Crée des paramètres"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
-msgstr ""
+msgstr "Créer le stock initial pour la pièce importée."
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "Suivant"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Modifier la pièce"
#: src/components/wizards/ImportPartWizard.tsx:567
msgid "Part imported successfully!"
-msgstr ""
+msgstr "Pièce importée avec succès !"
#: src/components/wizards/ImportPartWizard.tsx:576
msgid "Failed to import part: "
-msgstr ""
+msgstr "Impossible d'importer la pièce : "
#: src/components/wizards/ImportPartWizard.tsx:641
msgid "Are you sure, you want to import the supplier and manufacturer part into this part?"
@@ -3701,24 +3767,24 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Importer"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
-msgstr ""
+msgstr "Composant créé avec succès !"
#: src/components/wizards/ImportPartWizard.tsx:720
msgid "Failed to create parameters, please fix the errors and try again"
-msgstr ""
+msgstr "Impossible de créer les paramètres, veuillez corriger les erreurs et réessayer"
#. placeholder {0}: supplierPart?.supplier
#: src/components/wizards/ImportPartWizard.tsx:740
msgid "Part imported successfully from supplier {0}."
-msgstr ""
+msgstr "Article importé avec succès depuis le fournisseur {0}."
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "Ouvrir la pièce"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
@@ -3726,7 +3792,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:767
msgid "Open Manufacturer Part"
-msgstr ""
+msgstr "Ouvrir la pièce du fabricant"
#: src/components/wizards/ImportPartWizard.tsx:797
#: src/tables/part/PartTable.tsx:499
@@ -3735,55 +3801,55 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "Importer une pièce de fournisseur"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
-msgstr ""
+msgstr "Rechercher une pièce de fournisseur"
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "Confirmer l'import"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Terminé"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "Erreur lors de la récupération des exigences de la pièce"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Prérequis"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
-msgstr ""
+msgstr "Conditions de construction"
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "Conditions de vente"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "En Stock"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Quantité requise"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Nouvelle pièce de fournisseur"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Pièce de fournisseur créée"
@@ -3819,7 +3885,7 @@ msgstr "Sélectionner une pièce du fournisseur"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "Copier le numéro de pièce du fournisseur"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Veuillez corriger les erreurs dans la sélection des pièces"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Commander des pièces"
@@ -4038,77 +4104,89 @@ msgstr "Commander des pièces"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Accéder au tableau de bord InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Consultez la documentation pour en savoir plus sur InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "À propos d'InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Information serveur"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "A propos de instance Inventree actuelle"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informations de licence"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licences des dépendances du service"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Ouvrir la navigation"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Ouvrir le menu principal de navigation"
-#: src/defaults/actions.tsx:86
+#: src/defaults/actions.tsx:87
+msgid "Go to your user settings"
+msgstr "Accéder à vos paramètres utilisateur"
+
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
+msgid "Go to Purchase Orders"
+msgstr "Aller aux bons de commande"
+
+#: src/defaults/actions.tsx:117
+msgid "Go to Sales Orders"
+msgstr "Aller aux commandes de vente"
+
+#: src/defaults/actions.tsx:128
+msgid "Go to Return Orders"
+msgstr "Aller au retour des commandes"
+
+#: src/defaults/actions.tsx:138
msgid "Scan a barcode or QR code"
msgstr "Scanner un code bar ou un QR code"
-#: src/defaults/actions.tsx:94
-msgid "Go to your user settings"
-msgstr ""
-
-#: src/defaults/actions.tsx:105
-msgid "Go to Purchase Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:115
-msgid "Go to Sales Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:126
-msgid "Go to Return Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
-msgstr ""
+msgstr "Aller aux commandes de construction"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "Aller aux paramètres systèmes"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Accéder au centre d'administration"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Gérer les plugins InvenTree"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "A propos du projet InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Substituer une pièce"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Éditer les alternatives de la nomenclature"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Ajouter une alternative"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Alternative ajoutée"
@@ -4374,53 +4452,53 @@ msgstr "Alternative ajoutée"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Sortie de la construction"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "Quantité à allouer"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Sorties de Fabrication terminées"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Les fabrication ont été achevé"
@@ -4428,143 +4506,133 @@ msgstr "Les fabrication ont été achevé"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Éliminer les résultats de construction"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Les sorties de fabrication sélectionnées vont être terminées mais marquées comme rebus"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Les articles en stock vont être consommés"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Les résultats de construction ont été supprimé"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Les résultats de construction ont été supprimé"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Annuler les résultats de construction"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Les sorties de fabrication sélectionnées vont être supprimées"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Les articles en stock alloués vont être remis dans le stock"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Les résultats de construction ont été annulés"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Allouée"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Emplacement d'origine"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Sélectionnez l'emplacement de la source pour l'allocation du stock"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Stock alloué"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Éléments du stock alloués"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Consommer le stock"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Consommer le stock"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Complétement consommé"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Consommé"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Abonné"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Suivre les notifications de cette pièce"
@@ -4593,11 +4661,11 @@ msgstr "Suivre les notifications de cette pièce"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Catégorie de pièce parente"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "S'abonner aux notifications pour cette catégorie"
@@ -4605,67 +4673,71 @@ msgstr "S'abonner aux notifications pour cette catégorie"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Attribuer un code de lot et des numéros de série"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Attribuer un code de lot"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Choisir l'emplacement"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destination de l'élément sélectionné"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Emplacement par défaut de la catégorie"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Emplacement de stock reçu"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Emplacement par défaut"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Définir l'emplacement"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Attribuer un code de lot"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Assigner des numéros de série"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Indiquer une date d'expiration"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Ajuster le conditionnement"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Ajuster le conditionnement"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Changer le statut"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Ajouter une note"
@@ -4673,56 +4745,56 @@ msgstr "Ajouter une note"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Stocker à l'emplacement par défaut"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Stocker à la destination de l'article "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Stocker avec le stock déjà reçu"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Barre-code"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Saisir le code de lot pour les articles reçus"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Numéros de Série"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Saisir les numéros de série des articles reçus"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Date d'expiration"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Entrer une date d'expiration pour les articles reçus"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,74 +4802,92 @@ msgstr "Entrer une date d'expiration pour les articles reçus"
msgid "Packaging"
msgstr "Conditionnement"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Note"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Réceptionnée"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Articles reçus"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Articles reçus"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Articles reçus"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Article reçu en stock"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
-msgstr ""
+msgstr "Vérifier l'expédition"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-msgstr ""
+msgstr "Marquer l'expédition comme étant vérifiée indique que vous avez vérifié que tous les articles inclus dans cet envoi sont corrects"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
-msgstr ""
+msgstr "Expédition marquée comme étant vérifiée"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
-msgstr ""
+msgstr "Ne pas valider l'expédition"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
-msgstr ""
+msgstr "Marquer l'expédition comme non validée indique que l'envoi nécessite une vérification supplémentaire"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
+msgstr "Envoi marqué comme non validé"
+
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
-msgid "Leave blank to use the order address"
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
msgstr ""
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Compléter l'envoi"
+
+#: src/forms/SalesOrderForms.tsx:525
+msgid "Leave blank to use the order address"
+msgstr "Laisser vide pour utiliser l'adresse de commande"
+
#: src/forms/StockForms.tsx:110
#~ msgid "Create Stock Item"
#~ msgstr "Create Stock Item"
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Ajouter une quantité en paquet au lieu de pièces individuelles"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Entrez la quantité initiale pour cet article en stock"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "État du stock"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Ajouter un article en stock"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Sélectionnez la partie à installer"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Confirmer le transfert des stock"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Déplacer vers l'emplacement par défaut"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Déplacer"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Retour"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Compter"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Stock ajouté"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Augmenter le nombre des articles en stock sélectionnés d'une quantité donnée."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Supprimer du stock"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Stock retiré"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Réduire le nombre des articles en stock sélectionnés d'une quantité donnée."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transférer le stock"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Stock transféré"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Transférer les articles sélectionnés vers l'endroit spécifié."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Remettre en stock"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Remis en stock"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Remettre les articles sélectionnés en stock, à l'endroit spécifié."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Compter le stock"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Stock compté"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Compter les articles en stock sélectionnés et ajuster la quantité."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Changer l'état du stock"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Statut du stock changé"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Changer le status des articles en stock sélectionnés."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Fusionner le stock"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Stock fusionné"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Fusionner les articles en stock"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "L'opération de fusion ne permet pas de retour en arrière"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Les informations de suivi pourraient être perdues lors de la fusion des articles"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Les informations du fournisseur pourraient être perdues lors de la fusion des articles"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Lier un stock à un client"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Stock lié au client"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Supprimer l'article du stock"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Stock supprimé"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Cette opération va supprimer définitivement les articles en stock sélectionnés."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Localisation Parente du stock"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Trouver le numéro de série"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Pas d'article correspondant"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Plusieurs articles correspondent"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Réponse invalide du serveur"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Liste des entrées dans lesquelles choisir"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Erreur de serveur interne"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Déjà connecté"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Il y a un conflit de session sur ce serveur pour ce navigateur. Veuillez d'abord vous déconnecter."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Déconnexion"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr ""
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+msgstr "Il y a eu une session en conflit pour ce navigateur, qui a été déconnecté."
#: 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 "No response from server."
+msgstr "Aucune réponse du serveur."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "Connections réussie via MFA"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "Les informations pour la MFA ont été automatiquement fournis par le navigateur"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Déconnexion"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Déconnexion réussie !"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Langue changée"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Votre langue active a été remplacée en celle qui est définie dans votre profil"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Thème changé"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Votre thème actif a été remplacé par celui défini dans votre profil"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Échec de la réinitialisation"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Déjà connecté"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Il y a un conflit de session sur ce serveur pour ce navigateur. Veuillez d'abord vous déconnecter."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Connecté"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Vous êtes connecté(e)"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Échec de la mise en place de l'AMF"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Mot de passe défini"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Votre mot de passe a été modifié avec succès. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Le mot de passe n'a pas pu être changé"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Les deux mots de passes ne corrspondent pas"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Mot de passe changé"
@@ -5210,23 +5320,14 @@ msgstr "La requête a expiré"
msgid "Exporting Data"
msgstr "Export de données"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Exporter les données"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exporter"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Processus échoué"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Processus terminé avec succès"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Élément créé"
@@ -5255,52 +5356,56 @@ msgstr "Êtes-vous certain de vouloir supprimer cet élément?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Compter les articles en stock"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Ajouter aux articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Supprimer des articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Transférer les articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Fusionner les articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Modifier le status des articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Assigner le stock"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Assigner les articles en stock sélectionnés à un client"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Remettre les articles sélectionnés dans le stock"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Supprimer le stock"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Supprimer les articles en stock sélectionnés"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Actions sur le stock"
@@ -5357,15 +5462,15 @@ msgstr "Aucune sélection"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Se connecter"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Connexion en cours"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Pas encore de compte ?"
@@ -5383,18 +5488,18 @@ msgstr "Pas encore de compte ?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Authentification à deux facteurs"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "Code TOTP"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
-msgstr ""
+msgstr "Entrez un de vos codes : {mfa_types}"
#: src/pages/Auth/MFA.tsx:42
msgid "Remember this device"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Localisation"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Type"
@@ -5933,220 +6038,220 @@ msgstr "Modifier le profil"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "Ré-authentification réussie"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "Vous avez été ré-authentifié avec succès."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "Erreur lors de la ré-authentification"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Entrez votre mot de passe"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Erreur d'enregistrement du jeton TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Enregistrer le jeton TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Codes de récupération"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "Mot de passe à usage unique temporaire"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Mot de passe à usage unique basé sur le temps"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Codes de récupération générés à l'avance en une seule fois"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Dernière utilisation à"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Créer à"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Pas configuré"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Pas de jeton multi facteur configuré pour ce compte"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr "Mot de passe à usage unique"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Saisissez le code TOTP pour vous assurer qu'il a été enregistré correctement"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Adresses email"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Adresses email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Inscription unique"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Non activé"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "L'inscription unique n'est pas active sur ce serveur "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Non activé"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "L'inscription unique n'est pas active sur ce serveur "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Jeton d'accès"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Informations sur la session"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Informations sur la session"
msgid "Timestamp"
msgstr "Horodatage"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Méthode"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Erreurs pendant la mise à jour de l'email"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Actuellement, aucune adresse email n'est enregistrer."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Les adresses de messagerie suivantes sont associées à votre compte :"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Principale"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Vérifiée"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Non vérifiée"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Rendre Principale"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Renvoyer le message de vérification"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Ajouter une adresse email"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Adresse e-mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Erreur pendant l'ajout de l'email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Ajouter une adresse email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Adresse e-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Erreur pendant l'ajout de l'email"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Ajouter l’e-mail"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Erreur pendant l'ajout de l'email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Ajouter l’e-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Aucun fournisseur n'est lié à ce compte."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Vous pouvez vous connecter à votre compte en utilisant l'un des fournisseurs suivants"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Retirer lien du fournisseur"
@@ -6420,7 +6526,7 @@ msgstr "Points"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Devise"
@@ -6685,30 +6791,34 @@ msgstr "Joindre au modèle"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Travail en arrière-plan à l'arrêt"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Le gestionnaire de tache en arrière plan ne tourne pas. Veuillez contacter l'administrateur système."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Travail en arrière-plan à l'arrêt"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Le gestionnaire de tache en arrière plan ne tourne pas. Veuillez contacter l'administrateur système."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Tâches en attente"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Tâches planifiées"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Tâches en échec"
@@ -6805,6 +6915,16 @@ msgstr "Tarifs"
msgid "Labels"
msgstr "Étiquettes"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Suivi du stock"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "La pièce d'assemblage pourrait ne pas avoir de nomenclature (BOM) défi
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Révision"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Révision"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Révision"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Révision"
msgid "Custom Status"
msgstr "Statut personnalisé"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Externe"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Référence"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Fabrication parente"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Quantité de fabrication"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Peut être construit"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Sorties complétées"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Émis par"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsable"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Tous les emplacements"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Emplacement cible"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Créé"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Date de début"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Date cible"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Emplacement cible"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Créé"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Date de début"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Date cible"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Complété"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Détails de fabrication"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Pièces requises"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Stock alloué"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Stock utilisé"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Sorties incomplètes"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Achats externes"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Ordre de fabrication enfant"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Résultats des Tests"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Éditer l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Ajouter un ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Annuler l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Commande annulée"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Annuler cette commande"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Suspendre l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Mettre cet ordre en suspens"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Cet ordre a été mis en suspens"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Émettre l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Emettre cette commande"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Commande émise"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Compléter l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Marquer cet ordre comme complété"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Ordre complété"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Émettre l'ordre"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Compléter l'ordre"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Actions de l'ordre de fabrication"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Modifier la commande"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Dupliquer la commande"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Retenir la commande"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Annuler la commande"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Ordre de construction"
@@ -7207,7 +7327,7 @@ msgstr "Ordre de construction"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Voir les ordres de fabrication externes"
@@ -7219,12 +7339,13 @@ msgstr "Voir les ordres de fabrication externes"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Vue de la table"
@@ -7238,20 +7359,17 @@ msgstr "Vue du calendrier"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Site web"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Numéro de téléphone"
@@ -7271,11 +7389,11 @@ msgstr "Devise par défaut"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabricant"
@@ -7284,15 +7402,15 @@ msgstr "Fabricant"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Client"
@@ -7320,16 +7438,16 @@ msgstr "Pièces du fabricant"
msgid "Assigned Stock"
msgstr "Stock attribué"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Modifier la société"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Supprimer la société"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Actions de la société"
@@ -7349,7 +7467,7 @@ msgstr "Lien externe"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Détails de la pièce"
@@ -7363,28 +7481,28 @@ msgstr "Détails de la pièce du fabricant"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Stock reçu"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Modifier la pièce du fabricant"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Nouvelle pièce de fabricant"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Supprimer la pièce de fabricant"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Détails de la pièce du fabricant"
@@ -7401,7 +7519,7 @@ msgstr "Description de la pièce"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Quantité du paquet"
@@ -7427,28 +7545,28 @@ msgstr "Détails de la pièce du fournisseur"
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Actions sur les pièces du fournisseur"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Modifier les pièces du fournisseur"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Supprimer des pièces du fournisseur"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Ajouter la pièce du fournisseur"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Aucun stock"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Roles du groupe"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Informations de l'utilisateur"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Utilisateur basique"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Sous-catégories"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Déplacer les articles dans la catégorie parent"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Supprimer l’élément"
@@ -7577,60 +7695,64 @@ msgstr "Détails de la catégorie"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Allocation de l'ordre de construction"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Allocations de l'ordre de ventes"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
-msgid "Validate BOM"
-msgstr "Valider la nomenclature"
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
-#: src/pages/part/PartDetail.tsx:184
-msgid "Do you want to validate the bill of materials for this assembly?"
-msgstr "Voulez-vous valider la nomenclature pour cet assemblage ?"
-
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
msgstr ""
#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
+msgid "Validate BOM"
+msgstr "Valider la nomenclature"
+
+#: src/pages/part/PartDetail.tsx:196
+msgid "Do you want to validate the bill of materials for this assembly?"
+msgstr "Voulez-vous valider la nomenclature pour cet assemblage ?"
+
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Nomenclature validée"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "La nomenclature pour cette pièce a été validée"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "Nomenclature non validée"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "La nomenclature pour cette pièce a déjà été vérifiée mais nécessite une deuxième vérification"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "La nomenclature pour cette pièce n'a pas encore été validée"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validée sur"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validé par"
@@ -7650,246 +7772,246 @@ msgstr "Validé par"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Révision de"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Emplacement par défaut"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Emplacement par défaut de la catégorie"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unités"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Emplacement par défaut de la catégorie"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unités"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Mots-clés"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Stock disponible"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Sur commande"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Requis pour les commandes"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Alloué à l'ordre de construction"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Alloué aux ordres de ventes"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Stock Minimum"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Stock Minimum"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Verrouillé"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Modèle de la pièce"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Pièce assemblée"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Pièce composante"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Pièce testable"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Pièce suivable"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Pièce achetable"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Pièce vendable"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Pièce virtuelle"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Date de création"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Créé par"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Fournisseur par Défaut"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Expiration par défaut"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "jours"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Échelle des prix"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Dernier numéro de série"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Sélectionner une révision de pièce"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Liste des matériaux"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Utilisé pour"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Prix des pièces"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Modèles de test"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Pièces associées"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "La pièce est bloquée"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Les paramètres de la partie ne peuvent pas être modifiés, car la partie est verrouillée"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "La pièce est bloquée"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Les paramètres de la partie ne peuvent pas être modifiés, car la partie est verrouillée"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Requis"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Ajouter Pièce"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Supprimer la pièce"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "La suppression de cette pièce est irréversible"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Commande"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Stock de commandes"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Rechercher par numéro de série"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Actions sur les pièces"
@@ -7968,35 +8090,46 @@ msgstr "Historique des ventes"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Modifier l'entrée de l'inventaire"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Supprimer l'entrée de l'inventaire"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Valeur des stock"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Valeur minimum"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Valeur maximale"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Valeur maximale"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Prix total"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Composant"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Prix Minimum"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Prix Maximum"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Prix unitaire"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Graphique en secteurs"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Graphique en barres"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Tarif d'achat"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Dernière mise à jour"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Modifier l'ordre d'achat"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Ajouter un ordre d'achat"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Ligne d'articles complétées"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destination"
@@ -8275,60 +8411,60 @@ msgstr "Date d'émission"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Date d'achèvement"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Détails de la commande"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Éléments de la ligne"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Articles supplémentaires"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Emettre un bon de commande"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Annuler le bon de commande"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Maintenir le bon de commande"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Compléter le bon de commande"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Actions sur la commande"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Référence client"
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Modifier l'ordre de retour"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Ajouter un ordre de retour"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Émettre un ordre de retour"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Annuler l'ordre de retour"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Suspendre l'ordre de retour"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Compléter l'ordre de retour"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Livraisons réalisées"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Modifier la commande client"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Ajouter des commandes clients"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Livraisons"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Etablir une commande client"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Annuler une commande client"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Maintenir une commande client"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Envoyer les commandes clients"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Souhaitez vous envoyer cette commande ?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Commande envoyée"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Compléter les commandes clientes"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Envoyer les commandes"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Référence de l'envoi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Numéro de suivi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Numéro de la facture"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Articles alloués"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Date d'envoi"
@@ -8464,173 +8600,167 @@ msgstr "Date d'envoi"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Date de Livraison"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Détails de l'envoi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Modifier l'envoi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Annuler l'envoi"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Compléter l'envoi"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "En attente"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Envoyé"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Livré"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Envoyer l'expédition"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Action sur l'expédition"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Emplacement parent"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sous-emplacements"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Types d'emplacement"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Emplacement de stock de premier niveau"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Détails de l’emplacement"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Pièces par défaut"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Modifier l'emplacement du stock"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Déplacer les articles à l'emplacement des parents"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Supprimer l'emplacement du stock"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Action sur les éléments"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Action pour les articles en stock à cet emplacement"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Modifier l'emplacement du stock"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Déplacer les articles à l'emplacement des parents"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Supprimer l'emplacement du stock"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Action sur les éléments"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Action pour les articles en stock à cet emplacement"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Action pour les emplacements enfants à cet emplacement"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Scanner un article en stock"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Article en stock scanné à cet emplacement"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Impossible de scanner cet article en stock"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Scanner l'emplacement de stock"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Emplacement de stock scanné à cet emplacement"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Impossible de scanner l'emplacement de stock"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Actions de l'emplacement"
@@ -8703,10 +8833,6 @@ msgstr "Dernier inventaire"
msgid "Stock Details"
msgstr "Détails du stock"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Suivi du stock"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Articles installés"
msgid "Child Items"
msgstr "Éléments enfants"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Modifier l'élément du stock"
@@ -8738,15 +8864,15 @@ msgstr "Modifier l'élément du stock"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Articles créés"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "{n} Articles en stock ont été créés"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Supprimer l'élément du stock"
@@ -8758,7 +8884,7 @@ msgstr "Supprimer l'élément du stock"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Sérialiser les articles du stock"
@@ -8766,24 +8892,23 @@ msgstr "Sérialiser les articles du stock"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Articles du stock sérialisés"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Scanner à l'emplacement"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Scanner à l'emplacement"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Scanner cet article dans un emplacement"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Opérations sur le stock"
@@ -8791,12 +8916,12 @@ msgstr "Opérations sur le stock"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Sérialiser"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Sérialiser le stock"
@@ -8804,7 +8929,7 @@ msgstr "Sérialiser le stock"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Actions de l'article de stock"
@@ -8820,17 +8945,17 @@ msgstr "Actions de l'article de stock"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Obsolète"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Expiré"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Indisponible"
@@ -8855,6 +8980,72 @@ msgstr "Vous êtes abonnée aux notifications pour cette pièce"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Cet article est en production"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Cet article a été assigné à une commande client"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Cet article a été assigné à un client"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Cet article est installé dans un autre article"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Cet article a été consommé par un ordre de fabrication"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Cet article n'est pas disponible"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Cet article a expiré"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Cet article est obsolète"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Cet article est entièrement alloué"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Cet article est partiellement alloué"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Aucun stocke disponible"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Cet article a été épuisé"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Information de stock"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Lignes allouées"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Sélectionner les colonnes"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "A un code de lot"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Afficher les articles ayant un code de lot"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtrer les articles par code de lot"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Afficher les articles en stock"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Est sérialisé"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Afficher les articles ayant un numéro de série"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "A un code de lot"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Afficher les articles ayant un code de lot"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtrer les articles par code de lot"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Afficher les articles en stock"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Est sérialisé"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Afficher les articles ayant un numéro de série"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Numéro de série"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Filtrer les articles par numéro de série"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Numéro de série en dessous"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Afficher les articles avec des numéros de série inférieurs ou égaux à une valeur donnée"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Numéro de série au-dessus"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Afficher les articles avec des numéros de série supérieurs ou égaux à une valeur donnée"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Assigné à moi"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Monter mes commandes"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Remarquable"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Afficher les articles en suspens"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Afficher les articles en retard"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Date minimum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Afficher les articles après cette date"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Date maximum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Afficher les articles avant cette date"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Créé avant"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Afficher les articles créés avant cette date"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Créé après"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Afficher les articles créés après cette date"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Date de début avant"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Afficher les articles avec une date de début qui est avant cette date"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Date de dévut après"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Afficher les articles avec une date de début après cette date"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Date cible avant"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Afficher les articles avec une date cible avant cette date"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Date cible après"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Afficher les articles avec une date cible après cette date"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Complété avant"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Afficher les articles complétés avant cette date"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Complété après"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Afficher les articles complétés après cette date"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Mis à jour après"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Mis à jour avant"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Possède un code projet"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Afficher les commandes auxquelles un code de projet a été attribué"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Inclure les variantes"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Inclure les résultats pour les variations de pièces"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrer par ordre de statut"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtrer par code de projet"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtrer par propriétaire responsable"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtrer par utilisateur"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Filtrer par fabriquant"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Filtrer par fournisseur"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filtrer par utilisateur qui a créé une commande"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Filtrer par utilisateur qui a émis la commande"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Filtrer par catégorie de pièce"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Filtrer par emplacement de stock"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Supprimer le filtre"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Sélection de la valeur du filtre"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Entrer une valeur de filtre"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Sélectionner une valeur de date"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Sélection du filtre"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtrer"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtres des tables"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Ajouter un filtre"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Effacer filtres"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Pas d'enregistrement trouvé"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Impossible de charger la table des options"
@@ -9156,10 +9366,6 @@ msgstr "Impossible de charger la table des options"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Le serveur à retourner un type de donnée incorrect"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Le serveur à retourner un type de donnée incorrect"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Le serveur à retourner un type de donnée incorrect"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Impossible de charger le tableau de données"
@@ -9190,57 +9400,57 @@ msgstr "Impossible de charger le tableau de données"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Vue des détails"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Vue des détails"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Supprimer les éléments sélectionnés"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Êtes-vous sûr de vouloir supprimer les éléments sélectionnés ?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Cette action ne peut pas être annulée"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Articles supprimés"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Echecs pour supprimer les articles"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Filtre de tableau personnalisés sont activés"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Supprimer les enregistrements sélectionnés"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Actualiser les données"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Filtres actifs"
@@ -9252,71 +9462,71 @@ msgstr "Filtres actifs"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
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:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Information de pièce"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Cet article de nomenclature n'a pas été validé"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Alternatives"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Pièce virtuelle"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Pièce virtuelle"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Stockage externe"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Comprend un stock de remplacement"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Inclut le stock de variantes"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Construire"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Construire"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Information de stock"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Article consommable"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Pas de stock disponible"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Afficher les articles testables"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Afficher les articles suivables"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Pièce active"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Afficher les articles assemblés"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Afficher les pièces virtuelles"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Afficher les articles avec un stock disponible"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Afficher les articles en commande"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validée"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Afficher les articles valides"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Hérité"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Afficher les articles hérités"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Autoriser les variantes"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Afficher les éléments qui permettent la substitution de variantes"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Optionnel"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Afficher les articles optionnels"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consommable"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Afficher les articles consommables"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Possède un Tarif"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Afficher les articles avec des tarifs"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Importer les données de nomenclature"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Ajouter un article à la nomenclature"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Article de nomenclature créé"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Modifier l'article de nomenclature"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Article de nomenclature mis à jour"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Supprimer l'article de nomenclature"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Article de nomenclature supprimé"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Article de nomenclature validé"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Échec de la validation de l'article de nomenclature"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Voir la nomenclature"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Valider la ligne de nomenclature"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Modifier les substituts"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "La liste des matériaux ne peut être modifiée, car la pièce est bloquée"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Assemblage"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Afficher les assemblages actifs"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Suivi de l'évolution"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Afficher les suivi de l'évolution des assemblages"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Affecté à la production"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Afficher les éléments alloués à une sortie de construction"
@@ -9538,17 +9754,17 @@ msgstr "Afficher les éléments alloués à une sortie de construction"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Statut de la commande"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Modifier la répartition des stocks"
@@ -9561,8 +9777,8 @@ msgstr "Modifier la répartition des stocks"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Consommer"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,141 +9817,151 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Voir l'article du stock"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Voir les lignes totalement allouées"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Voir les lignes totalement consommées"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Voir les lignes totalement consommées"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Afficher les lignes consommables"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Afficher les lignes optionnelles"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testable"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Suivi"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Afficher les lignes suivies"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "En production"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Rupture de stock"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Aucun stocke disponible"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Obtenir les hérités"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Quantité unitaire"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Spécifier la quantité"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Attrition"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Arrondi au multiple"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "Informations de nomenclature"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Complètement alloué"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Créer un ordre de fabrication"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Attribution automatique en cours"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Allocation automatique du stock"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Attribuer automatiquement du stock à ce bâtiment en fonction des options sélectionnées"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Désallouer le stock"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Désallouer tout le stock non suivi pour cet ordre de fabrication"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Désallouer le stock de la ligne sélectionné"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Le stock à état désallouer"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Stock de fabrication"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Voir la pièce"
@@ -9756,31 +9992,31 @@ msgstr "Voir la pièce"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "A une date cible"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Affcihe les commandes avec une date cible"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "A une date de début"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Afficher les commandes avec une date de début"
@@ -9788,7 +10024,7 @@ msgstr "Afficher les commandes avec une date de début"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Allocation du stock de sortie de construction"
@@ -9796,103 +10032,107 @@ msgstr "Allocation du stock de sortie de construction"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Ajouter une sortie de construction"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Sorties de fabrication créées"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Ajouter une sortie de construction"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Sorties de fabrication créées"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Modifier une sortie de construction"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Cette action désaffecte tous les stocks de la production sélectionnée"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Sérialiser la sortie de fabrication"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtrer par état du stock"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Compléter les sorties sélectionnées"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Mise au rebut des sorties sélectionnées"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Annuler les sorties sélectionnées"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Allouer"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Allouer des stock à la sortie de construction"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Mise au rebut des sorties sélectionnées"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Annuler les sorties sélectionnées"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Allouer"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Allouer des stock à la sortie de construction"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Désallouer"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Désallouer le stock de la sortie de la construction"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Sérialiser la sortie de fabrication"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Résultats complets de la construction"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Rébut"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Sortie de la construction de la ferraille"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Annuler la sortie de la construction"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Lignes allouées"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Tests requis"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Fabrication extérieure"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Cet ordre de fabrication est satisfait par un ordre d'achat externe"
@@ -9917,28 +10157,28 @@ msgstr "Supprimer l'adresse"
msgid "Are you sure you want to delete this address?"
msgstr "Êtes-vous certain de vouloir supprimer cette adresse ?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Ajouter une entreprise"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Ajouter une entreprise"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Afficher les entreprises actives"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Afficher les entreprises qui sont des fournisseurs"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Afficher les entreprises qui sont des fabricants"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Montrer les entreprises qui sont clientes"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Voir l'article"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Ajouter la ligne de l'article"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Modifier la ligne de l'article"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Supprimer la ligne de l'article"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Ajouter un paramètre"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Modifier le paramètre"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Afficher les modèles avec choix"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "A des unités"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notification"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Message"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Stock requis"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Voir l'ordre de construction"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Vous êtes abonné aux notifications pour cette catégorie"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Inclure les sous-catégories"
@@ -10560,136 +10800,136 @@ msgstr "Afficher les commandes en cours"
msgid "Show received items"
msgstr "Afficher les articles reçus"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Voir la commande client"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Stock minimum"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrer par statut actif de la pièce"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtrer par statut de pièce verrouillée"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrer par attribut d'assemblage"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Nomenclature valide"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Filtrer avec les pièces qui ont une nomenclature valide"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Inclure les pièces dans les sous-catégories"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrer par attribut de composant"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtrer par attribut testable"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrer par attribut de suivi"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtre sur les pièces qui ont des unités"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "A un IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtre sur les pièces qui ont un numéro de pièce interne"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "A un stock"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtre sur les pièces en stock"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrer les pièces dont le stock est faible"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Achetable"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtre sur les pièces qui peuvent être achetées"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Vendable"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrer les pièces vendables"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrer par pièces virtuelles"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Non virtuel"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Est un modèle"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtrer par pièces qui sont des modèles"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Est une variante"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Filtrer par pièces qui sont des variantes"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Est une révision"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtrer par pièces qui sont des révisions"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Possède des révisions"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtrer par pièces qui ont des révisions"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtrer par pièces qui ont des informations de prix"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtrer par pièces qui ont du stock disponible"
@@ -10701,58 +10941,58 @@ msgstr "Filtrer par pièces qui ont du stock disponible"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtrer par pièces auxquelles l'utilisateur est abonné"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Définir la catégorie"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Définir la catégorie pour les pièces sélectionnées"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Commander les pièces sélectionnées"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Ajouter les résultats des tests"
@@ -10774,7 +11014,7 @@ msgstr "Résultats de test ajoutés"
msgid "No Result"
msgstr "Aucun résultat"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Afficher les sorties"
@@ -10859,7 +11099,15 @@ msgstr "Voir la pièce parente"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Les modèles de pièce ne peuvent pas être modifiés car la pièce est verrouillée"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Sélectionner"
@@ -10913,7 +11161,7 @@ msgstr "Modifier la liste de sélection"
msgid "Delete Selection List"
msgstr "Supprimer la liste de sélection"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Étape"
@@ -10943,7 +11191,7 @@ msgstr "Extension"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Obligatoire"
@@ -10973,68 +11221,68 @@ msgstr "Description non disponible"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Confirmer l'activation du plugin"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Confirmer la désactivation du plugin"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Le plugin sélectionné sera activé"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Le plugin sélectionné sera désactivé"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Le plugin sélectionné sera activé"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Le plugin sélectionné sera désactivé"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Désactiver"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Activer"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Activer le plugin sélectionné"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Activer"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Activer le plugin sélectionné"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Mettre à jour le plugin sélectionné"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Désinstaller"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Désinstaller le plugin sélectionné"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Supprimer la configuration du plugin sélectionné"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Activer le plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Le plugin a été activé"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Le plugin a été désactivé"
@@ -11042,20 +11290,20 @@ msgstr "Le plugin a été désactivé"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Installer le plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Installer"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin installé avec succès"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Désinstaller le plugin"
@@ -11063,23 +11311,23 @@ msgstr "Désinstaller le plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Confirmer la désinstallation du plugin"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Le plugin sélectionné sera désinstallé."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin désinstallé avec succès"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Supprimer le plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "La suppression de cette configuration de plugin supprimera tous les paramètres et données associés. Êtes-vous sûr de vouloir supprimer ce plugin ?"
@@ -11087,11 +11335,11 @@ msgstr "La suppression de cette configuration de plugin supprimera tous les para
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plugins rechargés"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Les plugins ont été rechargés avec succès"
@@ -11103,7 +11351,7 @@ msgstr "Les plugins ont été rechargés avec succès"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Recharger les plugins"
@@ -11115,7 +11363,7 @@ msgstr "Recharger les plugins"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Détail du plugin"
@@ -11127,12 +11375,12 @@ msgstr "Détail du plugin"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Exemple"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installé"
@@ -11152,30 +11400,24 @@ msgstr "Installé"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "Référence fabricant"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Pièce active"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Importer des articles"
@@ -11204,15 +11446,15 @@ msgstr "Importer des articles"
msgid "Supplier Code"
msgstr "Code fournisseur"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Lien du fournisseur"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Code du fabricant"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Afficher les articles qui ont été reçus"
@@ -11222,30 +11464,22 @@ msgstr "Afficher les articles qui ont été reçus"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Recevoir l'article"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Recevoir les articles"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Unités de base"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Ajouter une pièce fournisseur"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Ajouter une pièce fournisseur"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Afficher les pièces fournisseur actives"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Afficher les pièces internes actives"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Fournisseur actif"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Afficher les fournisseurs actifs"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Afficher les pièces fournisseur avec stock"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Date de réception"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Afficher les articles qui ont été reçus"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtrer par statut d'article"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Recevoir les éléments sélectionnés"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Recevoir l'article"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Afficher les allocations en attente"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Assigné à l'expédition"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Afficher les allocations assignées à une expédition"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Quantités disponibles"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Quantité Allouée"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Pas d'expédition"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Non expédié"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Modifier l'allocation"
@@ -11333,16 +11579,16 @@ msgstr "Modifier l'allocation"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Voir l'expédition"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Assigner à l'expédition"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Assigner à l'expédition"
@@ -11350,31 +11596,35 @@ msgstr "Assigner à l'expédition"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Allouer les numéros de série"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Allouer les numéros de série"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Afficher les lignes entièrement allouées"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Afficher les lignes terminées"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Allouer les numéros de série"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Constituer le stock"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Commander du stock"
@@ -11386,78 +11636,82 @@ msgstr "Commander du stock"
msgid "Create Shipment"
msgstr "Créer une expédition"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Articles"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Modifier l'expédition"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Annuler l'expédition"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Ajouter une expédition"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Afficher les expéditions qui ont été envoyées"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Afficher les expéditions qui ont été livrées"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Générer un jeton"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Jeton généré"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Révoqué"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Jeton"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "En utilisation"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Dernière vue"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Expiration"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Afficher les jetons révoqués"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Révoquer"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Erreur lors de la révocation du jeton"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Les jetons ne sont affichés qu'une seule fois - assurez-vous de le noter."
@@ -11990,24 +12244,24 @@ msgstr "Utilisateur mis à jour avec succès"
msgid "Error updating user"
msgstr "Impossible de mettre à jour l'utilisateur"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Installer un élément"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Élément installé"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Désinstaller l'élément"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Élément désinstallé"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Désinstaller l'article en stock"
@@ -12028,207 +12282,159 @@ msgstr "Supprimer le type d'emplacement"
msgid "Icon"
msgstr "Icône"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Cet article est en production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Date d'inventaire"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Cet article a été assigné à une commande client"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Afficher le stock pour les pièces actives"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Cet article a été assigné à un client"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Afficher le stock pour les pièces actives"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Cet article est installé dans un autre article"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Afficher les articles qui ont été alloués"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Cet article a été consommé par un ordre de fabrication"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Afficher les articles disponibles"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Cet article n'est pas disponible"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Inclure les sous-emplacements"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Cet article a expiré"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Inclure le stock dans les sous-emplacements"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Cet article est obsolète"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Epuisé"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Cet article est entièrement alloué"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Afficher les articles épuisés"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Cet article est partiellement alloué"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Afficher les articles en production"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Cet article a été épuisé"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Afficher les articles qui ont été consommés par un ordre de fabrication"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Afficher les articles qui sont installés dans d'autres articles"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Envoyer au client"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Montrer les articles envoyés au client"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Afficher les articles suivis"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "A un prix d'achat"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Afficher les articles ayant un prix d'achat"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Afficher les articles expirés"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Afficher les articles obsolètes"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Expiré avant"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Afficher les articles expirés avant cette date"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Expiré après"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Afficher les articles expirés après cette date"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Afficher les articles mis à jour avant cette date"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Afficher les articles mis à jour après cette date"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventaire avant"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Afficher les articles comptés avant cette date"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventaire après"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Afficher les articles comptés après cette date"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Date d'inventaire"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Emplacement externe"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Afficher le stock pour les pièces actives"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Afficher le stock pour les pièces actives"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Afficher les articles qui ont été alloués"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Afficher les articles disponibles"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Inclure les sous-emplacements"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Inclure le stock dans les sous-emplacements"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Epuisé"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Afficher les articles épuisés"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Afficher les articles en production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Afficher les articles dans un emplacement externe"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Afficher les articles qui ont été consommés par un ordre de fabrication"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Afficher les articles qui sont installés dans d'autres articles"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Envoyer au client"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Montrer les articles envoyés au client"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Afficher les articles suivis"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "A un prix d'achat"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Afficher les articles ayant un prix d'achat"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Afficher les articles expirés"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Afficher les articles obsolètes"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Expiré avant"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Afficher les articles expirés avant cette date"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Expiré après"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Afficher les articles expirés après cette date"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Mis à jour avant"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Afficher les articles mis à jour avant cette date"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Mis à jour après"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Afficher les articles mis à jour après cette date"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventaire avant"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Afficher les articles comptés avant cette date"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventaire après"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Afficher les articles comptés après cette date"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Emplacement externe"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Afficher les articles dans un emplacement externe"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Trier les articles"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Trier les articles"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Terminé"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Modifier le résultat du test"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Résultat du test mis à jour"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Supprimer le résultat du test"
@@ -12327,27 +12533,27 @@ msgstr "Échec de l'enregistrement du résultat du test"
msgid "Pass Test"
msgstr "Réussir le test"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Afficher les résultats pour les tests requis"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Inclusions installées"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Afficher les résultats pour les articles installés"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Réussi"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Montrer uniquement les tests réussis"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Afficher les résultats pour les tests activés"
@@ -12392,15 +12598,23 @@ msgstr "Définir l'emplacement parent"
msgid "Set parent location for the selected items"
msgstr "Définir l'emplacement parent pour les éléments sélectionnés"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Ajouté"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Supprimé"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po
index b758d73c36..2c46c58728 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\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"
@@ -35,7 +35,7 @@ msgstr "ערוך"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "מחק"
@@ -44,36 +44,36 @@ msgstr "מחק"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "בטל"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "חפש"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "כשל"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "כו"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "לא"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "פריט"
@@ -134,7 +138,7 @@ msgstr "פריט"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "פריטים"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "קטגוריית פריט"
@@ -218,19 +222,22 @@ msgstr "קטגוריית פריט"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "קטגוריית פריטים"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "פריט במלאי"
@@ -238,22 +245,22 @@ msgstr "פריט במלאי"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "פריטים במלאי"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "מיקום מלאי"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "מיקומי מלאי"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "סוגי מיקום מלאי"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "היסטוריית מלאי"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "בניית פריטים"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "חברות"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "קוד פרוייקט"
@@ -330,21 +337,21 @@ msgstr "קוד פרויקט"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "הזמנות רכש"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "הזמנת רכש"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "שורות הזמנת רכש"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "הזמנת מכירה"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "הזמנות מכירה"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "משלוח הזמנת מכירות"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "משלוחי הזמנת מכירות"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "החזרת הזמנה"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "החזרת הזמנות"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "כתובת"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "כתובות"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "איש קשר"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "אנשי קשר"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "בעלים"
@@ -451,15 +458,15 @@ msgstr "בעלים"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "משתמש"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "תבניות דווח"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "תצורת תוסף"
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "שגיאה בעיבוד הרכיב"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "אירעה שגיאה בעת עיבוד רכיב זה. עיין במסוף למידע נוסף."
@@ -637,7 +648,7 @@ msgstr "בחר רמת תיקון שגיאות"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "הצלחה"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "קישור"
@@ -754,7 +765,7 @@ msgstr "פעולה זו תסיר את הקישור לברקוד המשויך"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "בטל קישור של ברקוד"
@@ -766,11 +777,11 @@ msgstr "פתח בממשק הניהול"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "מועתק"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "העתק"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "הדפס תווית"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "הדפס"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "הדפס"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "דוח הדפסה"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "פעולות הדפסה"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "הדפס תווית"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "הדפס דוחות"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "מלאי נמוך"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "נדרש עבור בניית הזמנות "
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "הכנת הזמנות באיחור"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "איחור בהזמנות מכירה"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "הזמנות רכש באיחור"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "תחילת עבודה"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "תחילת העבודה עם InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "לא הוגדר שם"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "האם להסיר את התמונה המשויכת מפריט זה?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "הסר"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "גרור ושחרר כדי להעלות"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "לחץ כדי לבחור קובץ/ים"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "נקה"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "שלח"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "בחר מתוך תמונות קיימות"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "בחר תמונה"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "העלה תמונה חדשה"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "העלה תמונה"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "מחק תמונה"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr "קיימות שגיאות עבור שדה טופס אחד או יותר"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "עדכן"
@@ -1579,21 +1622,21 @@ msgstr "התחברת בהצלחה"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "הכניסה נכשלה"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "בדוק את הקלט שלך ונסה שוב."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "הדואר נשלח בהצלחה"
@@ -1628,7 +1671,7 @@ msgstr "שם המשתמש שלך"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "סיסמה"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "חזור/י על הסיסמה"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "הרשמה"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "מארח"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "גרסת API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "תוספים"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "לא מסווג"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "חפש..."
@@ -1890,13 +1938,13 @@ msgstr "בחר חבילה"
msgid "{0} icons"
msgstr "{0} סמלים"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "טוען"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "לא נמצאו תוצאות"
@@ -1940,49 +1988,49 @@ msgstr "ערוך נתונים"
msgid "Delete Row"
msgstr "מחק שורה"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "שורה"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "שורה מכילה שגיאות"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "קבל"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "תקף"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "סנן לפי סטטוס אימות שורה"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "הושלם"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "סנן לפי סטטוס השלמת שורה"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "ייבא שורות נבחרות"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "מעבד נתונים"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "אירעה שגיאה"
@@ -2002,31 +2050,31 @@ msgstr "בחר עמודה, או השאר ריק כדי להתעלם משדה ז
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "התעלם מהשדה הזה"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "מיפוי עמודות נתונים לשדות מסד נתונים"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "קבל מיפוי עמודות"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "שדה מסד נתונים"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "תיאור שדה"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "עמודה מיובאת"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "ערך ברירת מחדל"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "עמודות מפה"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "ייבוא נתונים"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "הנתונים יובאו בהצלחה"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "סגור"
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "פעולות ברקוד"
@@ -2177,10 +2225,15 @@ msgstr "שגיאה לא ידועה"
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "לוגו InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr "קישורים"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "תיעוד"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "התראות"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "לא נמצא כלום..."
@@ -2547,7 +2601,7 @@ msgstr "הגדרות"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "הגדרות מערכת"
@@ -2578,14 +2632,14 @@ msgstr "הגדרות מערכת"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "מרכז ניהול"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "התנתק"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "מלאי"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "רכישה"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "מכירות"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr "אין תוצאות זמינות עבור שאילתת חיפוש"
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "אתר אינטרנט"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "משלוח"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "לא פעיל"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "אין מלאי"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "מספר סידורי"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "כמות"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "ערוך הגדרה"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "ההגדרה עודכנה"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "ההגדרה {0} עודכנה בהצלחה"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "שגיאה בעריכת ההגדרה"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "לא צוינו הגדרות"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "עבור אל לוח המחוונים של InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "בקר בתיעוד כדי ללמוד עוד על InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "אודות ארגון InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "מידע שרת"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "מידע על רישיון"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "רישיונות לתלות בשירות"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "פתח את הניווט"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "פתח את תפריט הניווט הראשי"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "עבור אל מרכז הניהול"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "אין לך חשבון?"
@@ -5383,12 +5488,12 @@ msgstr "אין לך חשבון?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "באקגראונד-וורקר לא פעיל"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "באקגראונד-וורקר לא פעיל"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "אתר אינטרנט"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "לא ניתן לערוך את כתב החומרים, מכיוון שהפריט נעול"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "ניתן למעקב"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "הצג מכלולים שניתנים למעקב"
@@ -9538,17 +9754,17 @@ msgstr "הצג מכלולים שניתנים למעקב"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "הודעה"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po
index 8d00170cf9..027c178244 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "हाँ"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "लॉगिन असफल"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "पासवर्ड"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po
index db3ca9da18..118f6cc939 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 12:44\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Szerkesztés"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Törlés"
@@ -44,36 +44,36 @@ msgstr "Törlés"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Mégsem"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Műveletek"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Keresés"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Megbukott"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Igen"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nem"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Alkatrész"
@@ -134,7 +138,7 @@ msgstr "Alkatrész"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Alkatrészek"
@@ -149,26 +153,26 @@ msgstr "Alkatrészek"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Paraméter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Paraméterek"
#: lib/enums/ModelInformation.tsx:45
#: src/tables/part/PartCategoryTemplateTable.tsx:87
msgid "Parameter Template"
-msgstr ""
+msgstr "Paraméter Sablon"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Paraméter Sablonok"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Alkatrész Teszt Sablonok"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Beszállítói alkatrészek"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Gyártói alkatrészek"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Alkatrész kategória"
@@ -218,19 +222,22 @@ msgstr "Alkatrész kategória"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Készlet tétel"
@@ -238,22 +245,22 @@ msgstr "Készlet tétel"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Készlet tételek"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Készlet hely"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Készlethelyek"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Készlethely típusok"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Készlettörténet"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Gyártási tételek"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Cégek"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Projektszám"
@@ -330,21 +337,21 @@ msgstr "Projektszámok"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Beszerzési rendelés tételei"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Vevői rendelés"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Vevői rendelések"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Vevői rendelés szállítmány"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Vevői rendelés szállítmányok"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Visszavétel"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Visszavételek"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Cím"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Címek"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kapcsolat"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kapcsolatok"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Tulajdonos"
@@ -451,15 +458,15 @@ msgstr "Tulajdonosok"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Felhasználó"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Jelentéssablonok"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Plugin konfiguráció"
@@ -543,31 +550,31 @@ msgstr "Választéklisták"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Adminisztrátor"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Gyártási utasítások"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "A folyamat sikertelen"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Folyamat sikeresen befejezve"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Hiba a komponens renderelése közben"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Hiba történt ennek a komponensnek a renderelése közben. Nézze a konzolt további információkért."
@@ -637,7 +648,7 @@ msgstr "Vonalkód"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Szkennelés"
@@ -668,8 +679,8 @@ msgstr "Add meg a vonalkódot"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Vonalkód beolvasás"
@@ -688,7 +699,7 @@ msgstr "A vonalkód nem egyezik a várt model típussal"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Siker"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Vonalkód párosítás sikertelen"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -754,7 +765,7 @@ msgstr "A hozzárendelt vonalkód kapcsolat megszüntetése"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Vonalkód leválasztása"
@@ -766,11 +777,11 @@ msgstr "Megnyitás adminisztrátori felületen"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Másolva"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Másolás"
@@ -798,19 +809,15 @@ msgstr "Jelentések nyomtatása"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Címke Nyomtatás"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Nyomtatás"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Nyomtatás"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Jelentés Nyomtatása"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Nyomtatási műveletek"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Címkék Nyomtatása"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Jelentések nyomtatása"
@@ -860,8 +867,8 @@ msgstr "Átirányítjuk a szolgáltatóhoz a további lépésekre."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Vonalkód olvasó megnyitása"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Leiratkozás az értesítésekről"
msgid "Subscribe to notifications"
msgstr "Feliratkozás az értesítésekre"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Naptár szűők"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Előző hónap"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Hónap kiválasztása"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Következő hónap"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Adatok letöltése"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Adatok exportálása"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Rendelés módosítási hiba"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Késésben"
@@ -937,7 +949,7 @@ msgstr "Elrendezés elfogadása"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,196 +991,196 @@ msgstr "Nincsen elérhető komponens"
msgid "There are no more widgets available for the dashboard"
msgstr "Nincsenek további komponensek a műszerfalon"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Értesítésre beállított alkatrészek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Feliratkozott alkatrészek száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Értesítésre beállított kategóriák"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Feliratkozott alkatrészkategóriák száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Érvénytelen BOM-ok"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "BOM validálásra váró alkatrészek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Alacsony készlet"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Alacsony készletű alkatrészek száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Gyártáshoz szükséges"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Aktív gyártáshoz szükséges alkatrészek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Lejárt Készlettételek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Lejárt készlettételek száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Álló készlettételek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Álló készlettételek száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Aktív gyártási rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Aktív gyártási rendelések száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Késésben lévő gyártások"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Késésben levő gyártási rendelések száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Hozzárendelt Gyártási Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Saját Hozzárendelt Gyártási Rendelések száma"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Aktív értékesítési rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
-msgstr ""
+msgstr "Mutassa a jelenleg aktív értékesítési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Késésben lévő vevői rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
-msgstr ""
+msgstr "Mutassa a lejárt értékesítési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
-msgstr ""
+msgstr "Hozzárendelt Értékesítési Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
-msgstr ""
+msgstr "Mutassa az Önhöz rendelt értékesítési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "Függőben Lévő Szállítmányok"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
-msgstr ""
+msgstr "Mutassa a függőben lévő értékesítési rendelés szállítmányok számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
-msgstr ""
+msgstr "Aktív Beszerzési Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
-msgstr ""
+msgstr "Mutassa a jelenleg aktív beszerzési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Késésben lévő beszerzések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
-msgstr ""
+msgstr "Mutassa a lejárt beszerzési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
-msgstr ""
+msgstr "Hozzárendelt Beszerzési Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
-msgstr ""
+msgstr "Mutassa az Önhöz rendelt beszerzési rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
-msgstr ""
+msgstr "Aktív Visszáru Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
-msgstr ""
+msgstr "Mutassa a jelenleg aktív visszáru rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
-msgstr ""
+msgstr "Lejárt Visszáru Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
-msgstr ""
+msgstr "Mutassa a lejárt visszáru rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
-msgstr ""
+msgstr "Hozzárendelt Visszáru Rendelések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
-msgstr ""
+msgstr "Mutassa az Önhöz rendelt visszáru rendelések számát"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Első lépések"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Első lépések az InvenTree-vel"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Friss hírek"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
-msgstr ""
+msgstr "A legfrissebb hírek az InvenTree-ről"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
msgid "Change Color Mode"
-msgstr ""
+msgstr "Színmód Váltása"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
-msgstr ""
+msgstr "A felhasználói felület színmódjának módosítása"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18
msgid "Change Language"
@@ -1176,7 +1188,7 @@ msgstr "Nyelv megváltoztatása"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:23
msgid "Change the language of the user interface"
-msgstr ""
+msgstr "A felhasználói felület nyelvének módosítása"
#: src/components/dashboard/widgets/NewsWidget.tsx:60
#: src/components/nav/NotificationDrawer.tsx:94
@@ -1186,11 +1198,11 @@ msgstr "Megjelölés olvasottként"
#: src/components/dashboard/widgets/NewsWidget.tsx:115
msgid "Requires Superuser"
-msgstr ""
+msgstr "Rendszergazdai jogok szükségesek"
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr ""
+msgstr "Ez a widget főfelhasználói jogosultságokat igényel"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
@@ -1198,13 +1210,36 @@ msgstr "Nincsenek új hírek"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
-msgstr ""
+msgstr "Nincsenek olvasatlan hírek"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Leltár riport létrehozása folyamatban"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Leltár riport létrehozása"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Létrehozás"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Leltár"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Új leltár riport létrehozása"
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr "Rendszergazda"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Tag"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "E-mail: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nincs név megadva"
@@ -1236,86 +1271,94 @@ msgid "Remove the associated image from this item?"
msgstr "Tételhez rendelt kép eltávolítása?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Eltávolítás"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr "Kép eltávolítva"
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr "A kép sikeresen eltávolítva"
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Húzd ide a feltöltéshez"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Kattintson a file(ok) kiválasztásához"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Kép feltöltve"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr ""
+msgstr "A kép sikeresen feltöltve"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Feltöltési Hiba"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Törlés"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Küldés"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Válassz a meglévő képek közül"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Válassz képet"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Távoli kép letöltése"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Új kép feltöltése"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Kép feltöltése"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Kép törlése"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Kép letöltése"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr ""
+msgstr "A kép sikeresen letöltve"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1351,7 +1394,7 @@ msgstr "Képfeltöltés sikertelen"
#: src/components/editors/NotesEditor.tsx:85
msgid "Image uploaded successfully"
-msgstr ""
+msgstr "A kép sikeresen feltöltve"
#: src/components/editors/NotesEditor.tsx:119
msgid "Notes saved successfully"
@@ -1363,7 +1406,7 @@ msgstr "Megjegyzések mentése nem sikerült"
#: src/components/editors/NotesEditor.tsx:133
msgid "Error Saving Notes"
-msgstr ""
+msgstr "Hiba a Jegyzet Mentésekor"
#: src/components/editors/NotesEditor.tsx:151
#~ msgid "Disable Editing"
@@ -1399,7 +1442,7 @@ msgstr "Kód"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "Hiba az előnézet renderelése során"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
@@ -1423,7 +1466,7 @@ msgstr "Hiba a sablon mentése közben"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "Could not load the template from the server."
-msgstr ""
+msgstr "Nem sikerült betölteni a sablont a szerverről."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:176
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:319
@@ -1452,7 +1495,7 @@ msgstr "A előnézet sikeresen frissitve."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "Ismeretlen hiba történt az előnézet renderelése során."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1546,7 +1589,7 @@ msgstr "Egy vagy több mező hibát jelez"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Frissítés"
@@ -1579,21 +1622,21 @@ msgstr "Sikeres bejelentkezés"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Belépés sikertelen"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Ellenőrizd amit beírtál és próbáld újra."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Levél kézbesítése sikeres"
@@ -1628,7 +1671,7 @@ msgstr "Felhasználónév"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Jelszó"
@@ -1688,7 +1731,7 @@ msgstr "Beviteli hiba"
#: src/components/forms/AuthenticationForm.tsx:281
msgid "Check your input and try again. "
-msgstr ""
+msgstr "Ellenőrizze a bemenetét és próbálja újra. "
#: src/components/forms/AuthenticationForm.tsx:305
msgid "This will be used for a confirmation"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Jelszó megismétlése"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Regisztráció"
@@ -1718,7 +1761,11 @@ msgstr "A regisztráció nem aktív"
#: src/components/forms/AuthenticationForm.tsx:349
msgid "This might be related to missing mail settings or could be a deliberate decision."
-msgstr ""
+msgstr "Ez vagy szándékos vagy pedig hiányzó levelezési beállítással kapcsolatos."
+
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Dátum és idő kiválasztása"
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
@@ -1731,14 +1778,14 @@ msgstr "Kiszolgáló"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1781,7 +1828,7 @@ msgstr "Hoszt opciók szerkesztése"
#: src/components/forms/InstanceOptions.tsx:76
msgid "Save host selection"
-msgstr ""
+msgstr "Gazdagép kijelölés mentése"
#: src/components/forms/InstanceOptions.tsx:98
#~ msgid "Version: {0}"
@@ -1818,6 +1865,7 @@ msgstr "API verzió"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Pluginok"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Engedélyezve"
@@ -1850,17 +1898,17 @@ msgstr "Leállítva"
msgid "Running"
msgstr "Fut"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Válassza ki a feltöltendő fájlt"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Javasolt érték elfogadása"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Dátum kiválasztása"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Kategorizálatlan"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Keresés..."
@@ -1890,13 +1938,13 @@ msgstr "Csomag választás"
msgid "{0} icons"
msgstr "{0} db"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Betöltés"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nincs találat"
@@ -1940,55 +1988,55 @@ msgstr "Adat szerkesztése"
msgid "Delete Row"
msgstr "Sor törlése"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Sor"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
-msgstr ""
+msgstr "A sor hibákat tartalmaz"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Elfogad"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Érvényes"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
-msgstr ""
+msgstr "Szűrés sor ellenőrzési állapot szerint"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Kész"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
-msgstr ""
+msgstr "Szűrés sor befejezési állapot szerint"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
-msgstr ""
+msgstr "Kijelölt sorok importálása"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Adatok feldolgozása"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Hiba történt"
#: src/components/importer/ImporterColumnSelector.tsx:69
msgid "Select column, or leave blank to ignore this field."
-msgstr ""
+msgstr "Válasszon oszlopot vagy hagyja üresen a mező figyelmen kívül hagyásához."
#: src/components/importer/ImporterColumnSelector.tsx:91
#~ msgid "Select a column from the data file"
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Figyelmen kívül hagyja ezt a mezőt"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
-msgstr ""
+msgstr "Adatoszlopok hozzárendelése adatbázis mezőkhöz"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
-msgstr ""
+msgstr "Oszlop hozzárendelés elfogadása"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Adatbázismező"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Mező leírás"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
-msgstr ""
+msgstr "Importált Oszlop"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Alapértelmezett érték"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Oszlopok leképezése"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Adat importálása"
+msgid "Import Rows"
+msgstr "Sorok importálása"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2048,11 +2096,11 @@ msgstr "Adatok feldolgozása"
#: src/components/importer/ImporterDrawer.tsx:47
msgid "Complete Import"
-msgstr ""
+msgstr "Import Befejezése"
#: src/components/importer/ImporterDrawer.tsx:89
msgid "Failed to fetch import session data"
-msgstr ""
+msgstr "Nem sikerült lekérni az import munkamenet adatait"
#: src/components/importer/ImporterDrawer.tsx:97
#~ msgid "Cancel import session"
@@ -2064,14 +2112,14 @@ msgstr "Importálás befejezve"
#: src/components/importer/ImporterDrawer.tsx:107
msgid "Data has been imported successfully"
-msgstr ""
+msgstr "Az adatok sikeresen importálva"
#: src/components/importer/ImporterDrawer.tsx:109
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Bezárás"
@@ -2104,8 +2152,8 @@ msgstr "Opciók"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Vonalkód műveletek"
@@ -2123,7 +2171,7 @@ msgstr "Vonalkód hozzárendelése"
#: src/components/items/ActionDropdown.tsx:186
msgid "Link a custom barcode to this item"
-msgstr ""
+msgstr "Egyéni vonalkód hozzárendelése ehhez a tételhez"
#: src/components/items/ActionDropdown.tsx:194
msgid "Unlink custom barcode"
@@ -2152,7 +2200,7 @@ msgstr "Elem másolása"
#: src/components/items/ColorToggle.tsx:17
msgid "Toggle color scheme"
-msgstr ""
+msgstr "Színséma váltása"
#: src/components/items/DocTooltip.tsx:92
#: src/components/items/GettingStartedCarousel.tsx:20
@@ -2177,10 +2225,15 @@ msgstr "Ismeretlen hiba"
msgid "None"
msgstr "Nincs"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree logó"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr "Alapértelmezett nyelv"
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Nyelv kiválasztása"
@@ -2204,26 +2257,27 @@ msgstr "Frissítés"
#: src/components/items/RoleTable.tsx:82
msgid "Updating group roles"
-msgstr ""
+msgstr "Csoport szerepkörök frissítése"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Frissítve"
#: src/components/items/RoleTable.tsx:119
msgid "Group roles updated"
-msgstr ""
+msgstr "Csoport szerepkörök frissítve"
#: src/components/items/RoleTable.tsx:135
msgid "Role"
msgstr "Szerepkör"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Megtekintés"
@@ -2232,14 +2286,14 @@ msgid "Change"
msgstr "Módosítás"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Hozzáadás"
#: src/components/items/RoleTable.tsx:203
msgid "Reset group roles"
-msgstr ""
+msgstr "Csoport szerepkörök visszaállítása"
#: src/components/items/RoleTable.tsx:212
msgid "Reset"
@@ -2247,7 +2301,7 @@ msgstr "Visszaállítás"
#: src/components/items/RoleTable.tsx:215
msgid "Save group roles"
-msgstr ""
+msgstr "Csoport szerepkörök mentése"
#: src/components/items/TransferList.tsx:65
msgid "No items"
@@ -2255,14 +2309,14 @@ msgstr "Nincsenek tételek"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Elérhető"
@@ -2320,7 +2374,7 @@ msgstr "Linkek"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentáció"
@@ -2359,7 +2413,7 @@ msgstr "Frissítés elérhető"
#: src/components/modals/LicenseModal.tsx:41
msgid "No license text available"
-msgstr ""
+msgstr "Nincs elérhető licencszöveg"
#: src/components/modals/LicenseModal.tsx:48
msgid "No Information provided - this is likely a server issue"
@@ -2479,7 +2533,7 @@ msgstr "Figyelmeztetések"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Nincsenek észlelt problémák"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "Tudjon meg többet: {code}"
msgid "Notifications"
msgstr "Értesítések"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nincs találat..."
@@ -2547,7 +2601,7 @@ msgstr "Beállítások"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Felhasználói beállítások"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Rendszerbeállítások"
@@ -2578,14 +2632,14 @@ msgstr "Rendszerbeállítások"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Admin központ"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Kijelentkezés"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Készlet"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Gyártás"
@@ -2636,21 +2690,21 @@ msgstr "Gyártás"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Beszerzés"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Eladás"
@@ -2705,7 +2759,7 @@ msgstr "Keresési csoport eltávolítása"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Beszállítók"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Gyártók"
@@ -2768,21 +2822,21 @@ msgstr "Nincs találat a keresésre"
msgid "Attachments"
msgstr "Mellékletek"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Megjegyzések"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plugin nyújtotta"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Panelek becsukása"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Panelek kinyitása"
@@ -2809,19 +2863,19 @@ msgstr "Plugin információ"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Szerző"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Dátum"
@@ -2845,48 +2899,54 @@ msgstr "Dátum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktív"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Weboldal"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Csomag neve"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Telepítési útvonal"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Beépített"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Csomag"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Plugin beállítások"
@@ -2969,65 +3029,65 @@ msgstr "Ismeretlen model: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Szállítmány"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inaktív"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuális"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Nincs készlet"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "Rendelve"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Gyártásban"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Részletek"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategória"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Hely"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Sorozatszám"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Mennyiség"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Köteg"
@@ -3125,13 +3183,13 @@ msgstr "Forrás"
#: src/components/settings/QuickAction.tsx:47
msgid "Act"
-msgstr ""
+msgstr "Művelet"
#: src/components/settings/QuickAction.tsx:73
#: src/components/settings/QuickAction.tsx:113
#: src/tables/settings/ProjectCodeTable.tsx:46
msgid "Add Project Code"
-msgstr ""
+msgstr "Projektkód Hozzáadása"
#: src/components/settings/QuickAction.tsx:78
#: src/components/settings/QuickAction.tsx:124
@@ -3143,95 +3201,103 @@ msgstr "Állapot hozzáadása"
#: src/components/settings/QuickAction.tsx:85
msgid "Open an Issue"
-msgstr ""
+msgstr "Probléma Megnyitása"
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "Hibajelentés vagy funkciókérés a GitHubon"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
-msgstr ""
+msgstr "Probléma Megnyitása"
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Új Csoport Hozzáadása"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Új csoport létrehozása a felhasználók kezeléséhez"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Új Csoport"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Új Felhasználó Hozzáadása"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Új felhasználó létrehozása a csoportok kezeléséhez"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Új Felhasználó"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
-msgstr ""
+msgstr "Új projektkód létrehozása a tételek rendszerezéséhez"
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Kód Hozzáadása"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "Egyéni Állapot Hozzáadása"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
-msgstr ""
+msgstr "Új egyéni állapot létrehozása a munkafolyamathoz"
+
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Biztosan módosítani szeretné ezt a beállítást?"
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "A beállítás módosításához jóváhagyás szükséges"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Beállítás szerkesztése"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "A {key} beállítás sikeresen módosítva"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Beállítás frissítve"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "A {0} beállítás sikeresen módosítva"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Beállítás szerkesztési hiba"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Hiba az beállítások betöltése során"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Nincsenek beállítások"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Nincsenek szerkeszthető beállítások"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Nincs megadva beállítás"
@@ -3593,140 +3659,140 @@ msgstr "Nincs megadva beállítás"
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Pontos Egyezés"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "Aktuális alkatrész"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Már Importálva"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Beszállító"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Betöltés..."
#: src/components/wizards/ImportPartWizard.tsx:223
msgid "Error fetching suppliers"
-msgstr ""
+msgstr "Hiba a beszállítók lekérésekor"
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Beszállító kiválasztása"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "{0} találat"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Alkatrész importálása"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
-msgstr ""
+msgstr "Biztosan importálni szeretné ezt az alkatrészt a kiválasztott kategóriába?"
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "Importálás Most"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "Válassza ki és szerkessze a paramétereket amiket hozzá szeretne adni ehhez az alkatrészhez."
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
-msgstr ""
+msgstr "Alapértelmezett kategória paraméterek"
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "Egyéb paraméterek"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "Új paraméter hozzáadása"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Kihagyás"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "Paraméterek Létrehozása"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
-msgstr ""
+msgstr "Kezdő készlet létrehozása az importált alkatrészhez."
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "Következő"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
#: src/components/wizards/ImportPartWizard.tsx:567
msgid "Part imported successfully!"
-msgstr ""
+msgstr "Alkatrész sikeresen importálva!"
#: src/components/wizards/ImportPartWizard.tsx:576
msgid "Failed to import part: "
-msgstr ""
+msgstr "Alkatrész importálása sikertelen: "
#: src/components/wizards/ImportPartWizard.tsx:641
msgid "Are you sure, you want to import the supplier and manufacturer part into this part?"
-msgstr ""
+msgstr "Biztosan importálni szeretné a beszállítói és gyártói alkatrészt ebbe az alkatrészbe?"
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Importálás"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
-msgstr ""
+msgstr "Paraméterek sikeresen létrehozva!"
#: src/components/wizards/ImportPartWizard.tsx:720
msgid "Failed to create parameters, please fix the errors and try again"
-msgstr ""
+msgstr "Paraméterek létrehozása sikertelen, javítsa ki a hibákat és próbálja újra"
#. placeholder {0}: supplierPart?.supplier
#: src/components/wizards/ImportPartWizard.tsx:740
msgid "Part imported successfully from supplier {0}."
-msgstr ""
+msgstr "Alkatrész sikeresen importálva a(z) {0} beszállítótól."
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "Alkatrész megnyitása"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
-msgstr ""
+msgstr "Beszállítói alkatrész megnyitása"
#: src/components/wizards/ImportPartWizard.tsx:767
msgid "Open Manufacturer Part"
-msgstr ""
+msgstr "Gyártói alkatrész megnyitása"
#: src/components/wizards/ImportPartWizard.tsx:797
#: src/tables/part/PartTable.tsx:499
@@ -3735,55 +3801,55 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "Beszállítói alkatrész importálása"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
-msgstr ""
+msgstr "Beszállítói alkatrész keresése"
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "Importálás megerősítése"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Kész"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "Hiba az alkatrész igények lekérdezésekor"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Igények"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
-msgstr ""
+msgstr "Gyártási igények"
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "Értékesítési igények"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Készleten"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Szükséges mennyiség"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Új beszállítói alkatrész"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Beszállítói alkatrész létrehozva"
@@ -3819,7 +3885,7 @@ msgstr "Beszállítói alkatrész kiválasztása"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "Beszállítói alkatrész szám másolása"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
@@ -3868,16 +3934,16 @@ msgstr "Mennyiség megadása kötelező"
#: src/components/wizards/OrderPartsWizard.tsx:574
msgid "Invalid part selection"
-msgstr ""
+msgstr "Érvénytelen alkatrész kiválasztás"
#: src/components/wizards/OrderPartsWizard.tsx:576
msgid "Please correct the errors in the selected parts"
-msgstr ""
+msgstr "Kérjük javítsa ki a hibákat a kiválasztott alkatrészeknél"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Alkatrészek megrendelése"
@@ -4038,76 +4104,88 @@ msgstr "Alkatrészek megrendelése"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
-msgstr ""
+msgstr "Ugrás az InvenTree vezérlőpulthoz"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
-msgstr ""
+msgstr "Látogassa meg a dokumentációt hogy többet tudjon meg az InvenTree-ről"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Az inventree.org-ról"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Szerver Információk"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
-msgstr ""
+msgstr "Erről az InvenTree példányról"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Licensz információk"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
-msgstr ""
+msgstr "A szolgáltatás függőségeinek licenszei"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Navigáció megnyitása"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
-msgstr ""
+msgstr "Fő navigációs menü megnyitása"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
-msgstr ""
+msgstr "Ugrás a felhasználói beállításokhoz"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Adatok importálása"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Importálás fájlból"
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
-msgstr ""
+msgstr "Ugrás a beszerzési rendelésekhez"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
-msgstr ""
+msgstr "Ugrás az értékesítési rendelésekhez"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
-msgstr ""
+msgstr "Ugrás a visszáru rendelésekhez"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Vonalkód vagy QR kód beolvasása"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
-msgstr ""
+msgstr "Ugrás a gyártási rendelésekhez"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "Ugrás a rendszer beállításokhoz"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
-msgstr ""
+msgstr "Ugrás az Admin központhoz"
+
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "InvenTree bővítmények kezelése"
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
@@ -4209,7 +4287,7 @@ msgstr "GitHub repó"
#: src/defaults/links.tsx:117
msgid "InvenTree source code on GitHub"
-msgstr ""
+msgstr "InvenTree forráskód a GitHub-on"
#: src/defaults/links.tsx:117
#~ msgid "Licenses for packages used by InvenTree"
@@ -4226,11 +4304,11 @@ msgstr "Rendszerinformáció"
#: src/defaults/links.tsx:176
msgid "Licenses for dependencies of the InvenTree software"
-msgstr ""
+msgstr "Az InvenTree szoftver függőségeinek licenszei"
#: src/defaults/links.tsx:187
msgid "About the InvenTree Project"
-msgstr ""
+msgstr "Az InvenTree projektről"
#: src/defaults/menuItems.tsx:7
#~ msgid "Open sourcea"
@@ -4348,21 +4426,21 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
-msgstr ""
+msgstr "Helyettesítő alkatrész"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
-msgstr ""
+msgstr "Anyagjegyzék helyettesítők szerkesztése"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Helyettesítő hozzáadása"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
-msgstr ""
+msgstr "Helyettesítő hozzáadva"
#: src/forms/BuildForms.tsx:112
#: src/forms/BuildForms.tsx:217
@@ -4374,216 +4452,206 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Gyártás kimenet"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "Teljesítendő mennyiség"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Állapot"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
-msgstr ""
+msgstr "Gyártási kimenetek befejezése"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
-msgstr ""
+msgstr "A gyártási kimenetek befejezésre kerültek"
#: src/forms/BuildForms.tsx:408
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
-msgstr ""
+msgstr "Selejtezendő mennyiség"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Gyártási kimenetek selejtezése"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
-msgstr ""
+msgstr "A kiválasztott gyártási kimenetek befejezésre kerülnek, de selejtként lesznek megjelölve"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
+msgstr "A lefoglalt készlet tételek felhasználásra kerülnek"
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "A gyártási kimenetek selejtezésre kerültek"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
-msgstr ""
+msgstr "Gyártási kimenetek visszavonása"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
-msgstr ""
+msgstr "A kiválasztott gyártási kimenetek eltávolításra kerülnek"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
-msgstr ""
+msgstr "A lefoglalt készlet tételek visszakerülnek a készletbe"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
-msgstr ""
+msgstr "A gyártási kimenetek visszavonásra kerültek"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Lefoglalva"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Készlet helye"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "A készlet hozzárendelés forrás készlethelyének kiválasztása"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Készlet foglalása"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Készlet lefoglalva"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Készlet felhasználása"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Teljesen elfogyasztva"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Elhasználva"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
-msgstr ""
+msgstr "Projekt kód kiválasztása ehhez a sortételhez"
#: src/forms/CompanyForms.tsx:150
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Feliratkozva"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
-msgstr ""
+msgstr "Feliratkozás az értesítésekre ehhez az alkatrészhez"
#: src/forms/PartForms.tsx:108
#~ msgid "Part created"
@@ -4593,79 +4661,83 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Felsőbb szintű alkatrész kategória"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
-msgstr ""
+msgstr "Feliratkozás az értesítésekre ehhez a kategóriához"
#: src/forms/PurchaseOrderForms.tsx:421
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Hely kiválasztása"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
-msgstr ""
+msgstr "Tétel cél kiválasztva"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
-msgstr ""
+msgstr "Alkatrész kategória alapértelmezett készlethelye kiválasztva"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
-msgstr ""
+msgstr "Fogadott készlet készlethelye kiválasztva"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
-msgstr ""
+msgstr "Alapértelmezett készlethely kiválasztva"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Helyszín beállítása"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Gyártási szám hozzárendelése"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Sorozatszám hozzárendelése"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
-msgstr ""
+msgstr "Lejárati dátum beállítása"
+
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Csomagolás módosítása"
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Állapot megváltoztatása"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Megjegyzés hozzáadása"
@@ -4673,56 +4745,56 @@ msgstr "Megjegyzés hozzáadása"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Alapértelmezett helyre tárolás"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
-msgstr ""
+msgstr "Tárolás a sortétel célhelyén"
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Tárolás a már megérkezett készlettel"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Batch kód"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
-msgstr ""
+msgstr "Gyártási szám megadása a fogadott tételekhez"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Sorozatszámok"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
-msgstr ""
+msgstr "Sorozatszámok megadása a fogadott tételekhez"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Lejárati dátum"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
-msgstr ""
+msgstr "Lejárati dátum megadása a fogadott tételekhez"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,73 +4802,91 @@ msgstr ""
msgid "Packaging"
msgstr "Csomagolás"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Megjegyzés"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU (leltári azonosító)"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Fogadott"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
-msgstr ""
+msgstr "Sortételek fogadása"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Tételek beérkeztek"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
-msgstr ""
+msgstr "Tételek fogadása"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
-msgstr ""
+msgstr "Tétel beérkezett a készletbe"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr "Az alkatrész és mennyiség alapján számított ár eltér{0}"
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
-msgstr ""
+msgstr "Szállítmány ellenőrzése"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-msgstr ""
+msgstr "A szállítmány ellenőrzöttként történő megjelölése azt jelzi, hogy ellenőrizte, hogy a szállítmányban található összes tétel helyes"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
-msgstr ""
+msgstr "Szállítmány ellenőrzöttként megjelölve"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
-msgstr ""
+msgstr "Szállítmány ellenőrzés visszavonása"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
-msgstr ""
+msgstr "A szállítmány ellenőrizetlenként történő megjelölése azt jelzi, hogy a szállítmány további ellenőrzést igényel"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
-msgstr ""
+msgstr "Szállítmány ellenőrizetlenként megjelölve"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr "Szállítmány lezárása"
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr "Szállítmány sikeresen lezárva"
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Szállítmány befejezése"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
-msgstr ""
+msgstr "Hagyja üresen a rendelési cím használatához"
#: src/forms/StockForms.tsx:110
#~ msgid "Create Stock Item"
@@ -4806,195 +4896,204 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Mennyiség hozzáadása csomagolási egységenként egyedi tételek helyett"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Készlet állapota"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Új készlet tétel"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
-msgstr ""
+msgstr "Válassza ki a telepítendő alkatrészt"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Mozgatás megerősítése"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Mozgatás az alapértelmezett helyre"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Áthelyezés"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Visszavétel"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Mennyiség"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Készlethez ad"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Raktárkészlet hozzáadva"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Kiválasztott készlettételek mennyiségének növelése adott értékkel."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Készlet csökkentése"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Készlet eltávolítva"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Kiválasztott készlettételek mennyiségének csökkentése adott értékkel."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Készlet áthelyezve"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Kiválasztott tétele mozgatása a meghatározott készlethelyre."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Visszavételi készlet"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Készlet visszavéve"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Kiválasztott tételek visszavétele készletre a megadott helyre."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Leltározás"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Készlet számlálva"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
-msgstr ""
+msgstr "Számolja meg a kiválasztott készlet tételeket és módosítsa a mennyiséget ennek megfelelően."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Készlet állapot módosítása"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
-msgstr ""
+msgstr "Készlet státusz megváltozott"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
+msgstr "A kiválasztott készlet tételek státuszának módosítása."
+
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Készlet összevonása"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Készlet összevonva"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Készlet tételek összevonása"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
-msgstr ""
+msgstr "Az összevonási művelet nem visszafordítható"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
-msgstr ""
+msgstr "Nyomonkövetési információk elveszhetnek tételek összevonásakor"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
-msgstr ""
+msgstr "Beszállítói információk elveszhetnek tételek összevonásakor"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
-msgstr ""
+msgstr "Készlet hozzárendelése ügyfélhez"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
-msgstr ""
+msgstr "Készlet hozzárendelve az ügyfélhez"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Készlet tétel törlése"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Készlet törölve"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
-msgstr ""
+msgstr "Ez a művelet véglegesen törli a kiválasztott készlet tételeket."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Szülő készlet hely"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
-msgstr ""
+msgstr "Sorozatszám keresése"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
-msgstr ""
+msgstr "Nincs egyező tétel"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
-msgstr ""
+msgstr "Több egyező tétel"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
-msgstr ""
+msgstr "Érvénytelen válasz a szervertől"
#: src/forms/selectionListFields.tsx:95
msgid "Entries"
@@ -5002,13 +5101,13 @@ msgstr "Bejegyzések"
#: src/forms/selectionListFields.tsx:96
msgid "List of entries to choose from"
-msgstr ""
+msgstr "Választható bejegyzések listája"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5036,7 +5135,7 @@ msgstr "Nem található"
#: src/functions/api.tsx:45
msgid "Method not allowed"
-msgstr ""
+msgstr "Módszer nem engedélyezett"
#: src/functions/api.tsx:48
msgid "Internal server error"
@@ -5062,99 +5161,110 @@ msgstr "Belső szerverhiba"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Kijelentkezve"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr "Nincs válasz a szervertől."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "MFA alapú bejelentkezés sikeres"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
-msgstr ""
+msgstr "Az MFA adatok automatikusan megadásra kerültek a böngészőben"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Kijelentkezve"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Sikeresen kijelentkeztél"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Nyelv megváltoztatva"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
-msgstr ""
+msgstr "Az aktív nyelv megváltozott a profilban beállítottra"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "A téma megváltoztatva"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
-msgstr ""
+msgstr "Az aktív téma megváltozott a profilban beállítottra"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Visszaállítás sikertelen"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Már bejelentkezett"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Egy ütköző munkamenet található a szerveren ehhez a böngészőhöz. Kérjük előbb jelentkezzen ki abból."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Bejelentkezve"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Sikeres bejelentkezés"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
+msgstr "MFA beállítása sikertelen"
+
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Jelszó beállítva"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "A jelszó beállítása sikeresen megtörtént. Most már bejelentkezhetsz az új jelszavaddal"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "A jelszót nem lehet megváltoztatni"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
-msgstr ""
+msgstr "A két jelszó nem egyezett meg"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Jelszó megváltozott"
@@ -5204,29 +5314,20 @@ msgstr "Időtúllépés"
#: src/functions/notifications.tsx:49
msgid "The request timed out"
-msgstr ""
+msgstr "A kérés túllépte az időkorlátot"
#: src/hooks/UseDataExport.tsx:34
msgid "Exporting Data"
msgstr "Adatok exportálása"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Adatok exportálása"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exportálás"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "A folyamat sikertelen"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Elem létrehozva"
@@ -5237,11 +5338,11 @@ msgstr "Tétel frissítve"
#: src/hooks/UseForm.tsx:137
msgid "Items Updated"
-msgstr ""
+msgstr "Tételek frissítve"
#: src/hooks/UseForm.tsx:139
msgid "Update multiple items"
-msgstr ""
+msgstr "Több tétel frissítése"
#: src/hooks/UseForm.tsx:169
msgid "Item Deleted"
@@ -5255,52 +5356,56 @@ msgstr "Biztosan törli ezt az elemet?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
-msgstr ""
+msgstr "Kiválasztott készlet tételek megszámolása"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
-msgstr ""
+msgstr "Hozzáadás a kiválasztott készlet tételekhez"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
-msgstr ""
+msgstr "Eltávolítás a kiválasztott készlet tételekből"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
-msgstr ""
+msgstr "Kiválasztott készlet tételek áthelyezése"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
-msgstr ""
+msgstr "Kiválasztott készlet tételek összevonása"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
+msgstr "Kiválasztott készlet tételek státuszának módosítása"
+
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Készlet hozzárendelése"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
-msgstr ""
+msgstr "Kiválasztott készlet tételek hozzárendelése ügyfélhez"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
-msgstr ""
+msgstr "Kiválasztott tételek visszavétele készletbe"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Készlet törlése"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
-msgstr ""
+msgstr "Kiválasztott készlet tételek törlése"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Készlet műveletek"
@@ -5357,15 +5462,15 @@ msgstr "Nincs kijelölés"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Bejelentkezés"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Bejelentkeztetünk téged"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Nincsen felhasználóneve?"
@@ -5383,18 +5488,18 @@ msgstr "Nincsen felhasználóneve?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Többfaktoros hitelesítés"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP kód"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
-msgstr ""
+msgstr "Adja meg az egyik kódját: {mfa_types}"
#: src/pages/Auth/MFA.tsx:42
msgid "Remember this device"
@@ -5402,7 +5507,7 @@ msgstr "Eszköz megjegyzése"
#: src/pages/Auth/MFA.tsx:44
msgid "If enabled, you will not be asked for MFA on this device for 30 days."
-msgstr ""
+msgstr "Ha engedélyezve van, nem fogják kérni az MFA-t ezen az eszközön 30 napig."
#: src/pages/Auth/MFA.tsx:53
msgid "Log in"
@@ -5410,7 +5515,7 @@ msgstr "Bejelentkezés"
#: src/pages/Auth/MFASetup.tsx:23
msgid "MFA Setup Required"
-msgstr ""
+msgstr "MFA beállítás szükséges"
#: src/pages/Auth/MFASetup.tsx:34
msgid "Add TOTP"
@@ -5448,7 +5553,7 @@ msgstr "Új jelszó beállítása"
#: src/pages/Auth/ResetPassword.tsx:35
msgid "The desired new password"
-msgstr ""
+msgstr "A kívánt új jelszó"
#: src/pages/Auth/ResetPassword.tsx:44
msgid "Send Password"
@@ -5464,7 +5569,7 @@ msgstr "Jelszó küldése"
#: src/pages/Auth/VerifyEmail.tsx:20
msgid "You need to provide a valid key."
-msgstr ""
+msgstr "Érvényes kulcsot kell megadnia."
#: src/pages/Auth/VerifyEmail.tsx:28
msgid "Verify Email"
@@ -5481,7 +5586,7 @@ msgstr "Hiba: {0}"
#: src/pages/ErrorPage.tsx:23
msgid "An unexpected error has occurred"
-msgstr ""
+msgstr "Váratlan hiba történt"
#: src/pages/ErrorPage.tsx:28
#~ msgid "Sorry, an unexpected error has occurred."
@@ -5641,7 +5746,7 @@ msgstr ""
#: src/pages/Index/Scan.tsx:65
msgid "Item already scanned"
-msgstr ""
+msgstr "Tétel már beolvasva"
#: src/pages/Index/Scan.tsx:82
msgid "API Error"
@@ -5649,7 +5754,7 @@ msgstr "API Hiba"
#: src/pages/Index/Scan.tsx:83
msgid "Failed to fetch instance data"
-msgstr ""
+msgstr "Példány adatok lekérése sikertelen"
#: src/pages/Index/Scan.tsx:130
msgid "Scan Error"
@@ -5686,7 +5791,7 @@ msgstr "Művelet"
#: src/pages/Index/Scan.tsx:217
msgid "No Items Selected"
-msgstr ""
+msgstr "Nincs kiválasztott tétel"
#: src/pages/Index/Scan.tsx:217
#~ msgid "Manual input"
@@ -5694,7 +5799,7 @@ msgstr ""
#: src/pages/Index/Scan.tsx:218
msgid "Scan and select items to perform actions"
-msgstr ""
+msgstr "Olvassa be és válassza ki a tételeket a műveletek végrehajtásához"
#: src/pages/Index/Scan.tsx:218
#~ msgid "Image Barcode"
@@ -5809,7 +5914,7 @@ msgstr "Beolvasott cikkek"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113
msgid "Edit Account Information"
-msgstr ""
+msgstr "Profil információk szerkesztése"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34
#~ msgid "User details updated"
@@ -5817,7 +5922,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37
msgid "Account details updated"
-msgstr ""
+msgstr "Profil részletek frissítve"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46
#~ msgid "User Actions"
@@ -5830,7 +5935,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136
msgid "Edit Profile Information"
-msgstr ""
+msgstr "Profil információk szerkesztése"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#~ msgid "Last name"
@@ -5872,7 +5977,7 @@ msgstr "Vezetéknév"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:72
msgid "Staff Access"
-msgstr ""
+msgstr "Személyzeti hozzáférés"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:85
#: src/pages/core/UserDetail.tsx:119
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Pozíció"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Típus"
@@ -5901,11 +6006,11 @@ msgstr "Elsődleges csoport"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:104
msgid "Account Details"
-msgstr ""
+msgstr "Profil részletek"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:107
msgid "Account Actions"
-msgstr ""
+msgstr "Profil műveletek"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:111
msgid "Edit Account"
@@ -5918,7 +6023,7 @@ msgstr "Jelszó módosítása"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119
msgid "Change User Password"
-msgstr ""
+msgstr "Felhasználó jelszó módosítása"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131
msgid "Profile Details"
@@ -5933,222 +6038,222 @@ msgstr "Profil szerkesztése"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "Újra hitelesítés sikeres"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "Sikeresen újra hitelesítve lett."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "Hiba az újra hitelesítés közben"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
-msgstr ""
+msgstr "Újra hitelesítés sikertelen"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
-msgid "Reauthenticate"
-msgstr ""
+msgstr "Újra hitelesítés meghiúsult"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
-msgid "Reauthentiction is required to continue."
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
+msgid "Reauthenticate"
+msgstr "Újra hitelesítés"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
+msgid "Reauthentiction is required to continue."
+msgstr "Újra hitelesítés szükséges a folytatáshoz."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Add meg a jelszavad"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
-msgstr ""
+msgstr "Adja meg az egyik TOTP kódját"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
-msgstr ""
+msgstr "WebAuthn hitelesítő adat eltávolítva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
-msgstr ""
+msgstr "WebAuthn hitelesítő adat sikeresen eltávolítva."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
-msgstr ""
+msgstr "Hiba a WebAuthn hitelesítő adat eltávolításakor"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
-#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
-msgid "Confirm Removal"
-msgstr ""
+msgstr "WebAuthn hitelesítő adat eltávolítása"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
-msgid "Confirm removal of webauth credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
-msgid "TOTP Removed"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
-msgid "TOTP token removed successfully."
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
-msgid "Error removing TOTP token"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
-msgid "Remove TOTP Token"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/tables/build/BuildAllocatedStockTable.tsx:181
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
+msgid "Confirm Removal"
+msgstr "Eltávolítás megerősítése"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
+msgid "Confirm removal of webauth credential"
+msgstr "WebAuth hitelesítő adat eltávolításának megerősítése"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
+msgid "TOTP Removed"
+msgstr "TOTP eltávolítva"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
+msgid "TOTP token removed successfully."
+msgstr "TOTP token sikeresen eltávolítva."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
+msgid "Error removing TOTP token"
+msgstr "Hiba a TOTP token eltávolításakor"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
+msgid "Remove TOTP Token"
+msgstr "TOTP token eltávolítása"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
-msgstr ""
+msgstr "TOTP kód eltávolításának megerősítése"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
-msgstr ""
+msgstr "TOTP már regisztrálva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
-msgstr ""
+msgstr "Ehhez a fiókhoz már regisztrálva van egy TOTP token."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
-msgstr ""
+msgstr "Hiba a TOTP regisztráció lekérésekor"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
-msgstr ""
+msgstr "Váratlan hiba történt a TOTP regisztrációs adatok lekérésekor."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
-msgstr ""
+msgstr "TOTP regisztrálva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
-msgstr ""
+msgstr "TOTP token sikeresen regisztrálva."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
-msgstr ""
+msgstr "Hiba a TOTP token regisztrációjakor"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "TOTP token regisztrálása"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
-msgstr ""
+msgstr "Hiba a helyreállítási kódok lekérésekor"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Helyreállító kódok"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
-msgstr ""
+msgstr "A következő egyszeri helyreállítási kódok használhatók"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
-msgid "No Unused Codes"
-msgstr ""
+msgstr "Helyreállítási kódok másolása a vágólapra"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+msgid "No Unused Codes"
+msgstr "Nincsenek fel nem használt kódok"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
-msgid "WebAuthn Registered"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
-msgid "WebAuthn credential registered successfully"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
-msgid "Error registering WebAuthn credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
-msgid "WebAuthn Registration Failed"
-msgstr ""
+msgstr "Nincsenek elérhető helyreállítási kódok"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+msgid "WebAuthn Registered"
+msgstr "WebAuthn regisztrálva"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
+msgid "WebAuthn credential registered successfully"
+msgstr "WebAuthn hitelesítő adat sikeresen regisztrálva"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
+msgid "Error registering WebAuthn credential"
+msgstr "Hiba a WebAuthn hitelesítő adat regisztrációjakor"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
+msgid "WebAuthn Registration Failed"
+msgstr "WebAuthn regisztráció sikertelen"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
-msgstr ""
+msgstr "WebAuthn hitelesítő adat regisztrációja meghiúsult"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
-msgstr ""
+msgstr "Hiba a WebAuthn regisztráció lekérésekor"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
-msgid "Time-based One-Time Password"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
-msgid "One-Time pre-generated recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
-msgid "WebAuthn"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
-msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
-msgstr ""
+msgid "Time-based One-Time Password"
+msgstr "Időalapú egyszeri jelszó"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
+msgid "One-Time pre-generated recovery codes"
+msgstr "Előre generált egyszeri helyreállítási kódok"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
+msgid "WebAuthn"
+msgstr "WebAuthn"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
+msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
+msgstr "A Web Authentication (WebAuthn) egy webes szabvány a biztonságos hitelesítéshez"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Utoljára használva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Létrehozva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Nincs beállítva"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
-msgstr ""
+msgstr "Nincsenek többtényezős token-ek beállítva ehhez a profilhoz"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
-msgstr ""
+msgstr "Hitelesítési módszer regisztrálása"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "Nincsenek elérhető MFA módszerek"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
-msgstr ""
+msgstr "Nincsenek elérhető MFA módszerek konfiguráláshoz"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27
msgid "Secret"
@@ -6160,49 +6265,49 @@ msgstr "Egyszer használható jelszó"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:41
msgid "Enter the TOTP code to ensure it registered correctly"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E-mail címek"
+msgstr "Adja meg a TOTP kódot, hogy ellenőrizze, helyesen lett-e regisztrálva"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-mail címek"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Single Sign On (SSO)"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Nem engedélyezett"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Nem engedélyezett"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "A Single Sign On nincs engedélyezve ezen a szerveren "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Hozzáférési tokenek"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
-msgstr ""
+msgstr "Munkamenet információ"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "Időbélyeg"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Mód"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
-msgstr ""
+msgstr "Hiba az email frissítése közben"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
-msgstr ""
+msgstr "Jelenleg nincsenek regisztrált email címek."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "A következő email címek vannak hozzárendelve a felhasználódhoz:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Elsődleges"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Ellenőrizve"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Nem ellenőrzött"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Legyen elsődleges"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Megerősítés újraküldése"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Email cím hozzáadása"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail cím"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Email cím"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Email cím hozzáadása"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail cím"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Email cím"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,25 +6376,29 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Email hozzáadása"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Hiba az email hozzáadása közben"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Email hozzáadása"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
-msgstr ""
+msgstr "Nincs szolgáltató csatlakoztatva ehhez a fiókhoz."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
-msgstr ""
+msgstr "A fiókjába bármelyik alábbi szolgáltatóval bejelentkezhet"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
-msgstr ""
+msgstr "Szolgáltató kapcsolat eltávolítása"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:556
#~ msgid "Unused Codes"
@@ -6420,7 +6526,7 @@ msgstr "Pontok"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Pénznem"
@@ -6462,27 +6568,27 @@ msgstr "E-mail üzenetek"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "Rendszer státusz"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
-msgstr ""
+msgstr "Admin központ információ"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:53
msgid "The home panel (and the whole Admin Center) is a new feature starting with the new UI and was previously (before 1.0) not available."
-msgstr ""
+msgstr "A kezdőlap panel (és az egész Admin központ) egy új funkció az új felhasználói felülettel, amely korábban (1.0 előtt) nem volt elérhető."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:60
msgid "The admin center provides a centralized location for all administration functionality and is meant to replace all interaction with the (django) backend admin interface."
-msgstr ""
+msgstr "Az admin központ központosított helyet biztosít minden adminisztrációs funkcióhoz és célja, hogy helyettesítse az összes interakciót a (django) háttér admin felülettel."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:67
msgid "Please open feature requests (after checking the tracker) for any existing backend admin functionality you are missing in this UI. The backend admin interface should be used carefully and seldom."
-msgstr ""
+msgstr "Kérjük, nyisson funkció kéréseket (a nyomkövető ellenőrzése után) minden olyan meglévő háttér admin funkcióhoz, amely hiányzik ebből a felületből. A háttér admin felületet óvatosan és ritkán kell használni."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "Gyors műveletek"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,7 +6596,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "Kezdőlap"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
@@ -6530,7 +6636,7 @@ msgstr "Pénznemek"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:183
msgid "Custom States"
-msgstr ""
+msgstr "Egyedi állapotok"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:189
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:57
@@ -6581,7 +6687,7 @@ msgstr "PLM"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:285
msgid "Extend / Integrate"
-msgstr ""
+msgstr "Bővítés / Integráció"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:299
msgid "Advanced Options"
@@ -6601,7 +6707,7 @@ msgstr "További beállítások"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:60
msgid "Machine Drivers"
-msgstr ""
+msgstr "Gép meghajtók"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62
#~ msgid "There are no machine registry errors."
@@ -6617,19 +6723,19 @@ msgstr "Berendezés hibák"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:89
msgid "Registry Registry Errors"
-msgstr ""
+msgstr "Regiszter regiszter hibák"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:92
msgid "There are machine registry errors"
-msgstr ""
+msgstr "Gép regiszter hibák vannak"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:98
msgid "Machine Registry Errors"
-msgstr ""
+msgstr "Gép regiszter hibák"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:101
msgid "There are no machine registry errors"
-msgstr ""
+msgstr "Nincsenek gép regiszter hibák"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:122
#: src/tables/machine/MachineListTable.tsx:502
@@ -6675,7 +6781,7 @@ msgstr "Összevonás"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:31
msgid "Attach to Model"
-msgstr ""
+msgstr "Csatolás modellhez"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:55
#~ msgid "Generated Reports"
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Háttér munkavégző nem fut"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Háttér munkavégző nem fut"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "A háttérfeladat-kezelő szolgáltatás nem fut. Vegye fel a kapcsolatot a rendszergazdával."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Folyamatban lévő feladatok"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Ütemezett Feladatok"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Hibás feladatok"
@@ -6770,7 +6880,7 @@ msgstr "Tokenek"
#: src/pages/Index/Settings/PluginSettingsGroup.tsx:99
msgid "The settings below are specific to each available plugin"
-msgstr ""
+msgstr "Az alábbi beállítások minden egyes elérhető bővítményhez specifikusak"
#: src/pages/Index/Settings/SystemSettings.tsx:78
msgid "Authentication"
@@ -6791,7 +6901,7 @@ msgstr "Vonalkódok"
#: src/pages/Index/Settings/SystemSettings.tsx:128
#: src/pages/Index/Settings/UserSettings.tsx:113
msgid "The settings below are specific to each available notification method"
-msgstr ""
+msgstr "Az alábbi beállítások minden egyes elérhető értesítési módszerhez specifikusak"
#: src/pages/Index/Settings/SystemSettings.tsx:134
msgid "Pricing"
@@ -6805,6 +6915,16 @@ msgstr "Árazás"
msgid "Labels"
msgstr "Címkék"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Készlettörténet"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6855,15 +6975,15 @@ msgstr "Megjelölés olvasatlanként"
#: src/pages/build/BuildDetail.tsx:70
msgid "No Required Items"
-msgstr ""
+msgstr "Nincsenek szükséges tételek"
#: src/pages/build/BuildDetail.tsx:72
msgid "This build order does not have any required items."
-msgstr ""
+msgstr "Ez a gyártási megrendelés nem rendelkezik szükséges tételekkel."
#: src/pages/build/BuildDetail.tsx:73
msgid "The assembled part may not have a Bill of Materials (BOM) defined, or the BOM is empty."
-msgstr ""
+msgstr "Az összeszerelt alkatrészhez nem lehet anyagjegyzék (BOM) definiálva, vagy a BOM üres."
#: src/pages/build/BuildDetail.tsx:80
#~ msgid "Build Status"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Változat"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Változat"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Változat"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Változat"
msgid "Custom Status"
msgstr "Egyedi státusz"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Külső"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Hivatkozás"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Szülő gyártás"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Gyártási mennyiség"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Gyártható"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Kiállította"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Felelős"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Bárhonnan"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Cél hely"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Létrehozva"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Kezdő dátum"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Cél dátum"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Cél hely"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Létrehozva"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Kezdő dátum"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Cél dátum"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Kész"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Gyártás részletei"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Szükséges alkatrészek"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Felhasznált készlet"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Befejezetlen kimenetek"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Külső Rendelések"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Alárendelt gyártások"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Teszt eredmények"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Gyártási utasítás szerkesztése"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Gyártási utasítás létrehozása"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Gyártási utasítás visszavonása"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Rendelés visszavonva"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Rendelés visszavonása"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
-msgstr ""
+msgstr "Gyártási megrendelés felfüggesztése"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Rendelés felfüggesztése"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Felfüggesztett rendelés"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Gyártási Rendelés Kiadása"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Rendelés kiállítása"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Megrendelés leadva"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Gyártási utasítás befejezése"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Rendelés teljesítettnek jelölése"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Megrendelés teljesítve"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Rendelés kiküldése"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Rendelés teljesítése"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Gyártáshoz foglalások"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Rendelés szerkesztése"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Rendelés duplikálása"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Rendelés felfüggesztése"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Rendelés törlése"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Gyártási utasítás"
@@ -7207,9 +7327,9 @@ msgstr "Gyártási utasítás"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
-msgstr ""
+msgstr "Külső gyártási megrendelések megjelenítése"
#: src/pages/build/BuildIndex.tsx:39
#~ msgid "New Build Order"
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Táblázat nézet"
@@ -7238,19 +7359,16 @@ msgstr "Naptár nézet"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Weboldal"
+msgstr "Paraméter nézet"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7271,11 +7389,11 @@ msgstr "Alapértelmezett pénznem"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Gyártó"
@@ -7284,15 +7402,15 @@ msgstr "Gyártó"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Vevő"
@@ -7320,16 +7438,16 @@ msgstr "Gyártott alkatrészek"
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Cég szerkesztése"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Cég törlése"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Cég műveletek"
@@ -7349,7 +7467,7 @@ msgstr "Külső link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Alkatrész részletei"
@@ -7363,28 +7481,28 @@ msgstr "Gyártói alkatrész részletek"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Beérkezett készlet"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Gyártói alkatrész szerkesztése"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Gyártói alkatrész hozzáadása"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Gyártói alkatrész törlése"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Gyártói alkatrész műveletek"
@@ -7401,13 +7519,13 @@ msgstr "Alkatrész leírása"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
#: src/pages/company/SupplierPartDetail.tsx:205
msgid "Supplier Availability"
-msgstr ""
+msgstr "Beszállítói elérhetőség"
#: src/pages/company/SupplierPartDetail.tsx:213
msgid "Availability Updated"
@@ -7419,7 +7537,7 @@ msgstr "Elérhetőség"
#: src/pages/company/SupplierPartDetail.tsx:247
msgid "Supplier Part Details"
-msgstr ""
+msgstr "Beszállítói alkatrész részletei"
#: src/pages/company/SupplierPartDetail.tsx:280
#: src/pages/part/PartPricingPanel.tsx:113
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr "Beszállító árazás"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
-msgstr ""
+msgstr "Beszállítói alkatrész műveletek"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Beszállítói alkatrész szerkesztése"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Beszállítói alkatrész törlése"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Beszállítói alkatrész hozzáadása"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Nincs készlet"
@@ -7456,7 +7574,7 @@ msgstr "Nincs készlet"
#: src/pages/core/GroupDetail.tsx:81
#: src/pages/core/UserDetail.tsx:224
msgid "System Overview"
-msgstr ""
+msgstr "Rendszer áttekintés"
#: src/pages/core/GroupDetail.tsx:45
msgid "Group Name"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Csoport szabályok"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Felhasználói adatok"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Alap felhasználó"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Alkategóriák"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7520,7 +7638,7 @@ msgstr "Szerkezeti"
#: src/pages/part/CategoryDetail.tsx:155
msgid "Parent default location"
-msgstr ""
+msgstr "Szülő alapértelmezett készlethely"
#: src/pages/part/CategoryDetail.tsx:162
msgid "Default location"
@@ -7534,14 +7652,14 @@ msgstr "Legfelső szintű alkatrész kategória"
#: src/pages/part/CategoryDetail.tsx:251
#: src/tables/part/PartCategoryTable.tsx:122
msgid "Edit Part Category"
-msgstr ""
+msgstr "Alkatrész kategória szerkesztése"
#: src/pages/part/CategoryDetail.tsx:192
msgid "Move items to parent category"
-msgstr ""
+msgstr "Elemek áthelyezése a szülő kategóriába"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Tételek törlése"
@@ -7556,15 +7674,15 @@ msgstr "Alkatrész műveletek"
#: src/pages/part/CategoryDetail.tsx:208
msgid "Action for parts in this category"
-msgstr ""
+msgstr "Műveletek az ebben a kategóriában lévő alkatrészekhez"
#: src/pages/part/CategoryDetail.tsx:214
msgid "Child Categories Action"
-msgstr ""
+msgstr "Alkategória műveletek"
#: src/pages/part/CategoryDetail.tsx:215
msgid "Action for child categories in this category"
-msgstr ""
+msgstr "Műveletek az ebben a kategóriában lévő alkategóriákhoz"
#: src/pages/part/CategoryDetail.tsx:247
#: src/tables/part/PartCategoryTable.tsx:143
@@ -7577,60 +7695,64 @@ msgstr "Kategória részletei"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Gyártáshoz foglalások"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Vevői rendeléshez foglalások"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Alkatrészjegyzék ellenőrzése"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
-msgstr ""
+msgstr "Szeretné ellenőrizni az alkatrészjegyzéket ehhez az összeállításhoz?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Alkatrészjegyzék ellenőrizve"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
-msgstr ""
+msgstr "Az alkatrészjegyzék ehhez az alkatrészhez ellenőrizve lett"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
-msgstr ""
+msgstr "Alkatrészjegyzék nincs ellenőrizve"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
-msgstr ""
+msgstr "Az alkatrészjegyzék ehhez az alkatrészhez korábban ellenőrizve lett, de újraellenőrzést igényel"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
-msgstr ""
+msgstr "Az alkatrészjegyzék ehhez az alkatrészhez még nem lett ellenőrizve"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Alkatrészjegyzék ellenőrizve"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Ellenőrízte"
@@ -7650,246 +7772,246 @@ msgstr "Ellenőrízte"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Változata ennek"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Ennek a verziója"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Alapértelmezett hely"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Mértékegységek"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Kategória alapértelmezett készlethely"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Mértékegységek"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Kulcsszavak"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Elérhető készlet"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Rendelve"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
-msgstr ""
+msgstr "Rendelésekhez szükséges"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
-msgstr ""
+msgstr "Gyártási rendelésekhez lefoglalva"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Értékesítési rendeléshez lefoglalva"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimum készlet"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimum készlet"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Zárolt"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Sablon alkatrész"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Gyártmány alkatrész"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
-msgstr ""
+msgstr "Komponens alkatrész"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Tesztelhető alkatrész"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Nyomkövethető alkatrész"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
-msgstr ""
+msgstr "Beszerezhető alkatrész"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Értékesíthető alkatrész"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtuális alkatrész"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Létrehozás dátuma"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Készítette"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Alapértelmezett beszállító"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "nap"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Ártartomány"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Legutolsó sorozatszám"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Alkatrész revízió kiválasztása"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Változatok"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Foglalások"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Alkatrészjegyzék"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Felhasználva ebben"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Alkatrész árak"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Teszt sablonok"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Kapcsolódó alkatrészek"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Zárolt alkatrész"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Zárolt alkatrész"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Az alkatrész paraméterek nem szerkeszthetők, mivel az alkatrész zárolva van"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Kötelező"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
+msgstr "Hiány"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Alkatrész hozzáadása"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Alkatrész törlése"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
-msgstr ""
+msgstr "Az alkatrész törlése nem visszavonható"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Rendelés"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Készlet rendelés"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Sorozatszámra keresés"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Alkatrész műveletek"
@@ -7968,35 +8090,46 @@ msgstr "Eladási előzmények"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
-msgstr ""
+msgstr "Leltár bejegyzés szerkesztése"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
+msgstr "Leltár bejegyzés törlése"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Készletérték"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimum érték"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maximum érték"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maximum érték"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Teljes ár"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Összetevő"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimum ár"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Maximum ár"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Egységár"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Kördiagram"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Oszlopdiagram"
@@ -8101,11 +8234,11 @@ msgstr "Árazási adatok frissítése"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:94
msgid "Pricing data updated"
-msgstr ""
+msgstr "Árazási adatok frissítve"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:101
msgid "Failed to update pricing data"
-msgstr ""
+msgstr "Az árazási adatok frissítése sikertelen"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:129
msgid "Edit Pricing"
@@ -8136,19 +8269,22 @@ msgid "Purchase Pricing"
msgstr "Beszerzési ár"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Legutóbb frissítve"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:292
msgid "Pricing Not Set"
-msgstr ""
+msgstr "Árazás nincs beállítva"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:293
msgid "Pricing data has not been calculated for this part"
-msgstr ""
+msgstr "Az árazási adatok nem lettek kiszámítva ehhez az alkatrészhez"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:297
msgid "Pricing Actions"
@@ -8160,11 +8296,11 @@ msgstr "Frissítés"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:301
msgid "Refresh pricing data"
-msgstr ""
+msgstr "Árazási adatok frissítése"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:316
msgid "Edit pricing data"
-msgstr ""
+msgstr "Árazási adatok szerkesztése"
#: src/pages/part/pricing/PricingPanel.tsx:24
msgid "No data available"
@@ -8180,7 +8316,7 @@ msgstr "Ár adatok nem elérhetőek"
#: src/pages/part/pricing/PricingPanel.tsx:77
msgid "Loading pricing data"
-msgstr ""
+msgstr "Árazási adatok betöltése"
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:48
msgid "Purchase Price"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Beszerzési rendelés szerkesztése"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Beszerzés hozzáadása"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Kész sortételek"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Cél"
@@ -8275,100 +8411,100 @@ msgstr "Kiállítás dátuma"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Teljesítés dátuma"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Rendelés részletei"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Sortételek"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Egyéb tételek"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
-msgstr ""
+msgstr "Beszerzési megrendelés kiállítása"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
-msgstr ""
+msgstr "Beszerzési megrendelés törlése"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
-msgstr ""
+msgstr "Beszerzési megrendelés felfüggesztése"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
-msgstr ""
+msgstr "Beszerzési megrendelés lezárása"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Rendelés műveletek"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Vevői azonosító"
#: src/pages/sales/ReturnOrderDetail.tsx:196
msgid "Return Address"
-msgstr ""
+msgstr "Visszaküldési cím"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
-msgstr ""
+msgstr "Nincs megadva"
#: src/pages/sales/ReturnOrderDetail.tsx:349
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Visszavételi utasítás szerkesztése"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Visszavételi utasítás hozzáadása"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Visszavételi utasítás kiállítása"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Visszavételi utasítás törlése"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Visszavételi utasítás felfüggesztése"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Visszavételi utasítás teljesítése"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Kész szállítmányok"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
-msgstr ""
+msgstr "Szállítási cím"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Értékesítési rendelés szerkesztése"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Értékesítési rendelés hozzáadása"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Szállítások"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
-msgstr ""
+msgstr "Értékesítési megrendelés kiállítása"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
-msgstr ""
-
-#: src/pages/sales/SalesOrderDetail.tsx:464
-msgid "Hold Sales Order"
-msgstr ""
-
-#: src/pages/sales/SalesOrderDetail.tsx:472
-msgid "Ship Sales Order"
-msgstr ""
+msgstr "Értékesítési megrendelés törlése"
#: src/pages/sales/SalesOrderDetail.tsx:474
-msgid "Ship this order?"
-msgstr ""
+msgid "Hold Sales Order"
+msgstr "Értékesítési megrendelés felfüggesztése"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:482
+msgid "Ship Sales Order"
+msgstr "Értékesítési megrendelés szállítása"
+
+#: src/pages/sales/SalesOrderDetail.tsx:484
+msgid "Ship this order?"
+msgstr "Szállítja ezt a megrendelést?"
+
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Megrendelés szállítva"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
-msgstr ""
+msgstr "Értékesítési megrendelés lezárása"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Megrendelés kiszállítása"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
-msgstr ""
+msgstr "Szállítmány hivatkozás"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Nyomonkövetési azonosító"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Számla sorszám"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
-msgstr ""
+msgstr "Lefoglalt tételek"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
-msgstr ""
+msgstr "Ellenőrizte"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
-msgstr ""
+msgstr "Nincs ellenőrizve"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
@@ -8464,176 +8600,170 @@ msgstr "Kiszállítás dátuma"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Kézbesítés dátuma"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
-msgstr ""
+msgstr "Szállítmány részletei"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
-msgstr ""
+msgstr "Szállítmány szerkesztése"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
-msgstr ""
+msgstr "Szállítmány törlése"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Függőben"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
-msgstr ""
+msgstr "Ellenőrizve"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
-msgstr ""
+msgstr "Nincs ellenőrizve"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Kiszállítva"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Kiszállítva"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Szállítmány elküldése"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
-msgstr ""
+msgstr "Szállítmány műveletek"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
-msgstr ""
+msgstr "Ellenőrzés"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
-msgstr ""
+msgstr "Szállítmány megjelölése ellenőrzöttként"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
-msgstr ""
+msgstr "Ellenőrzés visszavonása"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
-msgstr ""
+msgstr "Szállítmány megjelölése ellenőrizetlenként"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Szülő hely"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Alhelyek"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Helyszín típusa"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
-msgstr ""
+msgstr "Legfelső szintű készlethely"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
-msgstr ""
+msgstr "Készlethely részletek"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Tétel műveletek"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
+msgstr "Alapértelmezett alkatrészek"
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
-msgstr ""
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Készlethely szerkesztése"
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
-msgstr ""
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Tételek áthelyezése a szülő készlethelyre"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Készlethely Törlése"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Tétel műveletek"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Művelet a készlethelyen lévő készlettételekre"
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr "Készlethelyek Művelet"
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr "Művelet a készlethelyen lévő gyermek készlethelyekre"
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
-msgstr ""
+msgstr "Készlet Tétel Szkennelése"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
-msgstr ""
+msgstr "Készlet tétel beszkendelve a készlethelyre"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
-msgstr ""
+msgstr "Hiba a készlet tétel szkenneléskor"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
-msgstr ""
+msgstr "Készlethely Szkennelése"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
-msgstr ""
+msgstr "Készlethely beszkendelve a készlethelyre"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
-msgstr ""
+msgstr "Hiba a készlethely szkenneléskor"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
-msgstr ""
+msgstr "Készlethely Műveletek"
#: src/pages/stock/StockDetail.tsx:147
msgid "Base Part"
@@ -8657,7 +8787,7 @@ msgstr "Kiindulási alkatrész"
#: src/pages/stock/StockDetail.tsx:206
msgid "Previous serial number"
-msgstr ""
+msgstr "Előző sorozatszám"
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
@@ -8665,15 +8795,15 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:228
msgid "Find serial number"
-msgstr ""
+msgstr "Sorozatszám keresése"
#: src/pages/stock/StockDetail.tsx:234
msgid "Next serial number"
-msgstr ""
+msgstr "Következő sorozatszám"
#: src/pages/stock/StockDetail.tsx:272
msgid "Allocated to Orders"
-msgstr ""
+msgstr "Rendelésekhez lefoglalva"
#: src/pages/stock/StockDetail.tsx:305
msgid "Installed In"
@@ -8685,7 +8815,7 @@ msgstr "Szülő tétel"
#: src/pages/stock/StockDetail.tsx:329
msgid "Parent stock item"
-msgstr ""
+msgstr "Szülő készlet tétel"
#: src/pages/stock/StockDetail.tsx:335
msgid "Consumed By"
@@ -8703,10 +8833,6 @@ msgstr "Utolsó leltár"
msgid "Stock Details"
msgstr "Készlet részletei"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Készlettörténet"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Beépített tételek"
msgid "Child Items"
msgstr "Gyermek tételek"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Készlet tétel szerkesztése"
@@ -8738,17 +8864,17 @@ msgstr "Készlet tétel szerkesztése"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Tételek létrehozva"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
-msgstr ""
+msgstr "{n} készlet tétel létrehozva"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
-msgstr ""
+msgstr "Készlet Tétel Törlése"
#: src/pages/stock/StockDetail.tsx:762
#~ msgid "Return Stock Item"
@@ -8758,32 +8884,31 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
-msgstr ""
+msgstr "Készlet Tétel Sorozatszámozása"
#: src/pages/stock/StockDetail.tsx:777
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
-msgstr ""
+msgstr "Készlet tétel sorozatszámozva"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:852
-msgid "Scan into location"
-msgstr ""
+msgstr "Beszkendelés Készlethelyre"
#: src/pages/stock/StockDetail.tsx:854
-msgid "Scan this item into a location"
-msgstr ""
+msgid "Scan into location"
+msgstr "Beszkendelés készlethelyre"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:856
+msgid "Scan this item into a location"
+msgstr "Tétel beszkendelése egy készlethelyre"
+
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Készlet műveletek"
@@ -8791,22 +8916,22 @@ msgstr "Készlet műveletek"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Sorozatszámozás"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
-msgstr ""
+msgstr "Készlet sorozatszámozása"
#: src/pages/stock/StockDetail.tsx:890
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
-msgstr ""
+msgstr "Készlet Tétel Műveletek"
#: src/pages/stock/StockDetail.tsx:900
#~ msgid "Transfer"
@@ -8820,24 +8945,24 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Elavult"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Lejárt"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Nem elérhető"
#: src/states/IconState.tsx:47
#: src/states/IconState.tsx:77
msgid "Error loading icon package from server"
-msgstr ""
+msgstr "Hiba az ikon csomag betöltésekor a szerverről"
#: src/tables/ColumnRenderers.tsx:41
#~ msgid "Part is locked"
@@ -8849,12 +8974,78 @@ msgstr "Az alkatrész nem aktív"
#: src/tables/ColumnRenderers.tsx:78
msgid "You are subscribed to notifications for this part"
-msgstr ""
+msgstr "Feliratkozott az értesítésekre ehhez az alkatrészhez"
#: src/tables/ColumnRenderers.tsx:93
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Ez a készlet tétel gyártásban van"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Készlet tétel hozzárendelve egy vevőhöz"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Készlet tétel beépült egy másikba"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Készlet tétel fel lett használva egy gyártásban"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Ez a készlet cikk nem elérhető"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Készlet tétel lejárt"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Készlet tétel lejárt"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Készlet tétel teljesen foglalva"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Készlet tétel részlegesen foglalva"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nincs elérhető készlet"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Készlet tétel elfogyott"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Készlet adatok"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Lefoglalt sorok"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,265 +9079,284 @@ msgstr "Oszlopok kiválasztása"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Van batch kódja"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Sorozatszámos"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Van batch kódja"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Batch kóddal rendelkező tételek megjelenítése"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Tételek szűrése batch kód szerint"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Készleten lévő tételek megjelenítése"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Sorozatszámos"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Sorozatszámmal rendelkező tételek megjelenítése"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Sorozatszám"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
-msgstr ""
+msgstr "Tételek szűrése sorozatszám szerint"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Sorozatszám ez alatt"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
-msgstr ""
+msgstr "Az adott értéknél kisebb vagy egyenlő sorozatszámú tételek megjelenítése"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Sorozatszám e felett"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
-msgstr ""
+msgstr "Az adott értéknél nagyobb vagy egyenlő sorozatszámú tételek megjelenítése"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Hozzám rendelt"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
-msgstr ""
+msgstr "Hozzám rendelt rendelések megjelenítése"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Kintlévő"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
-msgstr ""
+msgstr "Kintlévő tételek megjelenítése"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
-msgstr ""
+msgstr "Lejárt határidejű tételek megjelenítése"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Kezdő dátum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
-msgstr ""
+msgstr "E dátum után létrehozott tételek megjelenítése"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Befejező dátum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
-msgstr ""
+msgstr "E dátum előtt létrehozott tételek megjelenítése"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Ez előtt létrehozva"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
-msgstr ""
+msgstr "E dátum előtt létrehozott tételek megjelenítése"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Létrehozva ez után"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
-msgstr ""
+msgstr "E dátum után létrehozott tételek megjelenítése"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Kezdeti dátum ez előtt"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
-msgstr ""
+msgstr "E dátum előtti kezdő dátumú tételek megjelenítése"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
-msgstr ""
+msgstr "Kezdő Dátum Ez Után"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
-msgstr ""
+msgstr "E dátum utáni kezdő dátumú tételek megjelenítése"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
-msgstr ""
+msgstr "Céldátum Ez Előtt"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
-msgstr ""
+msgstr "E dátum előtti céldátumú tételek megjelenítése"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Céldátum ez után"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
-msgstr ""
+msgstr "E dátum utáni céldátumú tételek megjelenítése"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
-msgstr ""
+msgstr "Befejezve Ez Előtt"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
-msgstr ""
+msgstr "E dátum előtt befejezett tételek megjelenítése"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Befejezve ez után"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
+msgstr "E dátum után befejezett tételek megjelenítése"
+
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Frissítve ez után"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Frissítve ez előtt"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Van projektszáma"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
-msgstr ""
+msgstr "Hozzárendelt projektkóddal rendelkező rendelések megjelenítése"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Változatok is"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
-msgstr ""
+msgstr "Alkatrész változatok eredményeinek bevonása"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Rendelési állapot szűrés"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Projekt kódra szűrés"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Szűrés a felelős tulajdonosra"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Szűrés felhasználó szerint"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
-msgstr ""
+msgstr "Szűrés gyártó szerint"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
-msgstr ""
+msgstr "Szűrés beszállító szerint"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
-msgstr ""
+msgstr "Szűrés a rendelést létrehozó felhasználó szerint"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
-msgstr ""
+msgstr "Szűrés a rendelést kiállító felhasználó szerint"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
-msgstr ""
+msgstr "Szűrés alkatrész kategória szerint"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
-msgstr ""
+msgstr "Szűrés készlethely szerint"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Szűrő eltávolítása"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Szűrő érték kiválasztása"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
-msgstr ""
+msgstr "Szűrő érték megadása"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Dátum szűrés"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Szűrő kiválasztása"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Szűrő"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Táblázat szűrők"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Szűrő hozzáadása"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Szűrők törlése"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nincs találat"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
-msgstr ""
+msgstr "Hiba a táblázat beállítások betöltésekor"
#: src/tables/InvenTreeTable.tsx:250
#~ msgid "Failed to load table options"
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "A szerver hibás adattípust küldött vissza"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,9 +9382,13 @@ msgstr "A szerver hibás adattípust küldött vissza"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "A szerver hibás adattípust küldött vissza"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
-msgstr ""
+msgstr "Hiba a táblázat adatok betöltésekor"
#: src/tables/InvenTreeTable.tsx:594
#: src/tables/InvenTreeTable.tsx:595
@@ -9190,59 +9400,59 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Részletek megtekintése"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Részletek megtekintése"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "{model} megtekintése"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Kiválasztott elemek törlése"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
-msgstr ""
+msgstr "Biztosan törölni kívánja a kiválasztott tételeket?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
-msgstr ""
+msgstr "Ez a művelet nem vonható vissza"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Elemek törölve"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
-msgstr ""
+msgstr "Nem sikerült törölni a tételeket"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
-msgstr ""
+msgstr "Egyéni táblázat szűrők aktívak"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
-msgstr ""
+msgstr "Kiválasztott rekordok törlése"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Adatok frissítése"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
-msgstr ""
+msgstr "Aktív Szűrők"
#: src/tables/TableHoverCard.tsx:35
#~ msgid "item-{idx}"
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
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:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Alkatrész információ"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
-msgstr ""
+msgstr "Ez a BOM tétel nem lett érvényesítve"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Helyettesítõk"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtuális alkatrész"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtuális alkatrész"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
-msgstr ""
+msgstr "Külső készlet"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Gyártásban"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,205 +9539,211 @@ msgstr "Gyártásban"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Készlet adatok"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
-msgstr ""
+msgstr "Nincs elérhető készlet"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Tesztelhető elemek mutatása"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
-msgstr ""
+msgstr "Nyomon követhető tételek megjelenítése"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktív alkatrész"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr "Aktív tételek mutatása"
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
-msgstr ""
+msgstr "Összeszerelt tételek megjelenítése"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
-msgstr ""
+msgstr "Virtuális tételek megjelenítése"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:445
-msgid "Show items on order"
-msgstr ""
+msgstr "Elérhető készlettel rendelkező tételek megjelenítése"
#: src/tables/bom/BomTable.tsx:449
+msgid "Show items on order"
+msgstr "Rendelés alatt lévő tételek megjelenítése"
+
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Jóváhagyva"
-#: src/tables/bom/BomTable.tsx:450
-msgid "Show validated items"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+msgid "Show validated items"
+msgstr "Érvényesített tételek megjelenítése"
+
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Örökölt"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
-msgid "Show inherited items"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:459
-msgid "Allow Variants"
-msgstr ""
+#: src/tables/bom/UsedInTable.tsx:86
+msgid "Show inherited items"
+msgstr "Örökölt tételek megjelenítése"
-#: src/tables/bom/BomTable.tsx:460
-msgid "Show items which allow variant substitution"
-msgstr ""
+#: src/tables/bom/BomTable.tsx:463
+msgid "Allow Variants"
+msgstr "Változatok Engedélyezése"
#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+msgid "Show items which allow variant substitution"
+msgstr "Változat helyettesítést engedélyező tételek megjelenítése"
+
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opcionális"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Opcionális elemek mutatása"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: src/tables/bom/BomTable.tsx:470
-msgid "Show consumable items"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+msgid "Show consumable items"
+msgstr "Fogyóeszköz tételek megjelenítése"
+
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Van árazás"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
-msgstr ""
+msgstr "Árazással rendelkező tételek megjelenítése"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
-msgstr ""
+msgstr "BOM Adatok Importálása"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Alkatrészjegyzék tétel hozzáadása"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "BOM sor létrehozva"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Alkatrészjegyzék tétel szerkesztése"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "BOM sor módosítva"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Beépülő tétel törlése"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "BOM sor törölve"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
-msgstr ""
+msgstr "BOM tétel érvényesítve"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
-msgstr ""
+msgstr "Nem sikerült érvényesíteni a BOM tételt"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
-msgstr ""
+msgstr "BOM Sor Érvényesítése"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Helyettesítő alkatrészek szerkesztése"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:633
-msgid "Add a single BOM item"
-msgstr ""
+msgstr "BOM Tételek Hozzáadása"
#: src/tables/bom/BomTable.tsx:637
+msgid "Add a single BOM item"
+msgstr "Egyetlen BOM tétel hozzáadása"
+
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
-msgstr ""
+msgstr "Importálás Fájlból"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
-msgstr ""
+msgstr "BOM tételek importálása fájlból"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
-msgstr ""
+msgstr "Az anyagjegyzék nem szerkeszthető mivel az alkatrész zárolva van"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Gyártmány"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
-msgstr ""
+msgstr "Aktív összeállítások megjelenítése"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Nyomonkövethető gyártmányok mutatása"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
-msgstr ""
+msgstr "Kimenethez lefoglalva"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
-msgstr ""
+msgstr "Gyártási kimenethez lefoglalt tételek megjelenítése"
#: src/tables/build/BuildAllocatedStockTable.tsx:73
#: src/tables/build/BuildOrderTable.tsx:197
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Rendelés állapota"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Készlet foglalás szerkesztése"
@@ -9561,10 +9777,10 @@ msgstr "Készlet foglalás szerkesztése"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "Lefoglalt készlet eltávolítása"
#: src/tables/build/BuildAllocatedStockTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:663
@@ -9572,160 +9788,180 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
+msgstr "Biztosan el kívánja távolítani ezt a lefoglalt készletet a rendelésből?"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Felhasznál"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
-msgstr ""
+msgstr "Lefoglalt készlet eltávolítása"
#: src/tables/build/BuildLineTable.tsx:59
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Készlet tétel megtekintése"
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr ""
+msgid "Show fully allocated lines"
+msgstr "Teljesen lefoglalt sorok megjelenítése"
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
-msgstr ""
+msgid "Show fully consumed lines"
+msgstr "Teljesen felhasznált sorok megjelenítése"
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr "Elegendő elérhető készlettel rendelkező tételek megjelenítése"
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Felhasználható sorok mutatása"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Opcionális sorok mutatása"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Tesztelhető"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Követett"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Követett tételek mutatása"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
-msgstr ""
+msgstr "Rendelésben lévő készlettel rendelkező tételek megjelenítése"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "Gyártásban"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
-msgstr ""
+msgstr "Elégtelen készlet"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Nincs elérhető készlet"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
-msgstr ""
+msgstr "Örökölt"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Mennyiségi egység"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Beállítási mennyiség"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
-msgstr ""
+msgstr "Selejt"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
-msgstr ""
+msgstr "Kerekítési többszörös"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
-msgstr ""
+msgstr "Anyagjegyzék információ"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
-msgstr ""
+msgstr "Teljesen lefoglalva"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
+msgstr "Gyártási rendelés létrehozása"
+
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Automatikus foglalás folyamatban"
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Készlet Automatikus Foglalása"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Gyártáshoz szükséges készlet automatikus lefoglalása a beállítások szerint"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Foglalás feloldása"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Összes nem egyedi sorszámos készlet felszabadítása ebből a gyártási rendelésből"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Készlet felszabadítsa a kiválasztott tételekhez"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Készlet felszabadítva"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Gyártási készlet"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Alkatrész megtekintése"
@@ -9756,145 +9992,149 @@ msgstr "Alkatrész megtekintése"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
-msgstr ""
-
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
-msgid "Show orders with a target date"
-msgstr ""
+msgstr "Cél dátummal rendelkezik"
#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
-msgid "Has Start Date"
-msgstr ""
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
+msgid "Show orders with a target date"
+msgstr "Cél dátummal rendelkező rendelések megjelenítése"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
+msgid "Has Start Date"
+msgstr "Kezdő dátummal rendelkezik"
+
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
-msgstr ""
+msgstr "Kezdő dátummal rendelkező rendelések megjelenítése"
#: src/tables/build/BuildOrderTable.tsx:179
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
-msgstr ""
+msgstr "Gyártási kimenet készlet foglalás"
#: src/tables/build/BuildOutputTable.tsx:161
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Gyártási kimenet hozzáadása"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Gyártási kimenet hozzáadása"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Gyártási kimenet létrehozva"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
-msgstr ""
+msgstr "Gyártási kimenet szerkesztése"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
-msgstr ""
+msgstr "Ez a művelet felszabadít minden készletet a kiválasztott gyártási kimenetből"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Gyártási kimenet sorozatszámozása"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
-msgstr ""
+msgstr "Szűrés készlet státusz szerint"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Kiválasztott kimenetek befejezése"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Kiválasztott kimenetek selejtezése"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Kiválasztott kimenetek visszavonása"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Lefoglalva"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Készlet foglalása a gyártási kimenethez"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Kiválasztott kimenetek selejtezése"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Kiválasztott kimenetek visszavonása"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Lefoglalva"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Készlet foglalása a gyártási kimenethez"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Foglalás felszabadítása"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Készlet felszabadítása a gyártási kimenetből"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
-msgstr ""
+msgstr "Gyártási kimenet sorozatszámozása"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Gyártási kimenet befejezése"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Selejt"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Gyártási kimenet selejtezése"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Gyártási kimenet visszavonása"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Szükséges tesztek"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Külső gyártás"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
-msgstr ""
+msgstr "Ez a gyártási rendelés külső beszerzési rendeléssel teljesül"
#: src/tables/company/AddressTable.tsx:122
#: src/tables/company/AddressTable.tsx:187
@@ -9917,28 +10157,28 @@ msgstr "Cím törlése"
msgid "Are you sure you want to delete this address?"
msgstr "Biztos, hogy törli ezt a címet?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Cég hozzáadása"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Cég hozzáadása"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Aktív cégek megjelenítése"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Beszállító cégek megjelenítése"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Gyártó cégek megjelenítése"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Vevő cégek megjelenítése"
@@ -9960,7 +10200,7 @@ msgstr "Kapcsolat hozzáadása"
#: src/tables/general/AttachmentTable.tsx:108
msgid "Uploading file {filename}"
-msgstr ""
+msgstr "{filename} fájl feltöltése"
#: src/tables/general/AttachmentTable.tsx:139
#~ msgid "File uploaded"
@@ -9981,7 +10221,7 @@ msgstr "Fájl feltöltve"
#: src/tables/general/AttachmentTable.tsx:186
msgid "File {name} uploaded successfully"
-msgstr ""
+msgstr "{name} fájl sikeresen feltöltve"
#: src/tables/general/AttachmentTable.tsx:202
msgid "File could not be uploaded"
@@ -9989,7 +10229,7 @@ msgstr "A fájlt nem sikerült feltölteni"
#: src/tables/general/AttachmentTable.tsx:253
msgid "Upload Attachment"
-msgstr ""
+msgstr "Melléklet feltöltése"
#: src/tables/general/AttachmentTable.tsx:254
#~ msgid "Upload attachment"
@@ -9997,7 +10237,7 @@ msgstr ""
#: src/tables/general/AttachmentTable.tsx:263
msgid "Edit Attachment"
-msgstr ""
+msgstr "Melléklet szerkesztése"
#: src/tables/general/AttachmentTable.tsx:277
msgid "Delete Attachment"
@@ -10009,7 +10249,7 @@ msgstr "Ez egy hivatkozás"
#: src/tables/general/AttachmentTable.tsx:288
msgid "Show link attachments"
-msgstr ""
+msgstr "Hivatkozás mellékletek megjelenítése"
#: src/tables/general/AttachmentTable.tsx:292
msgid "Is File"
@@ -10017,7 +10257,7 @@ msgstr "Ez egy állomány"
#: src/tables/general/AttachmentTable.tsx:293
msgid "Show file attachments"
-msgstr ""
+msgstr "Fájl mellékletek megjelenítése"
#: src/tables/general/AttachmentTable.tsx:302
msgid "Add attachment"
@@ -10033,7 +10273,7 @@ msgstr "Nem találhatók mellékletek"
#: src/tables/general/AttachmentTable.tsx:400
msgid "Drag attachment file here to upload"
-msgstr ""
+msgstr "Húzza ide a melléklet fájlt a feltöltéshez"
#: src/tables/general/BarcodeScanTable.tsx:35
msgid "Item"
@@ -10048,32 +10288,32 @@ msgid "View Item"
msgstr "Tétel megtekintése"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Sortétel hozzáadása"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Tétel törlése"
#: src/tables/general/ExtraLineItemTable.tsx:155
msgid "Add Extra Line Item"
-msgstr ""
+msgstr "Extra sortétel hozzáadása"
#: src/tables/general/ParameterTable.tsx:88
msgid "Internal Units"
@@ -10086,25 +10326,25 @@ msgstr "Frissítette"
#: src/tables/general/ParameterTable.tsx:118
msgid "Show parameters for enabled templates"
-msgstr ""
+msgstr "Engedélyezett sablonok paramétereinek megjelenítése"
#: src/tables/general/ParameterTable.tsx:124
msgid "Filter by user who last updated the parameter"
-msgstr ""
+msgstr "Szűrés azon felhasználó szerint, aki utoljára frissítette a paramétert"
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Paraméterek importálása"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Paraméter hozzáadása"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Paraméter szerkesztése"
@@ -10115,19 +10355,19 @@ msgstr "Paraméter törlése"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Paraméterek hozzáadása"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Paraméter létrehozása"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Új paraméter létrehozása"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Paraméterek importálása fájlból"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
@@ -10136,7 +10376,7 @@ msgstr "Paraméter sablon létrehozás"
#: src/tables/general/ParameterTemplateTable.tsx:64
msgid "Duplicate Parameter Template"
-msgstr ""
+msgstr "Paraméter sablon másolása"
#: src/tables/general/ParameterTemplateTable.tsx:78
msgid "Delete Parameter Template"
@@ -10152,7 +10392,7 @@ msgstr "Jelölőnégyzet"
#: src/tables/general/ParameterTemplateTable.tsx:139
msgid "Show checkbox templates"
-msgstr ""
+msgstr "Jelölőnégyzet sablonok megjelenítése"
#: src/tables/general/ParameterTemplateTable.tsx:143
msgid "Has choices"
@@ -10160,20 +10400,20 @@ msgstr "Vannak lehetőségei"
#: src/tables/general/ParameterTemplateTable.tsx:144
msgid "Show templates with choices"
-msgstr ""
+msgstr "Választási lehetőségekkel rendelkező sablonok megjelenítése"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Van mértékegysége"
#: src/tables/general/ParameterTemplateTable.tsx:149
msgid "Show templates with units"
-msgstr ""
+msgstr "Mértékegységgel rendelkező sablonok megjelenítése"
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "Engedélyezett sablonok megjelenítése"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10183,7 +10423,7 @@ msgstr "Modell típusa"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "Szűrés modell típus szerint"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10200,7 +10440,7 @@ msgstr "Hamis"
#: src/tables/general/ParametricDataTableFilters.tsx:47
#: src/tables/general/ParametricDataTableFilters.tsx:80
msgid "Select a choice"
-msgstr ""
+msgstr "Válasszon egy lehetőséget"
#: src/tables/general/ParametricDataTableFilters.tsx:100
msgid "Enter a value"
@@ -10208,7 +10448,7 @@ msgstr "Írj be egy értéket"
#: src/tables/machine/MachineListTable.tsx:133
msgid "Machine restarted"
-msgstr ""
+msgstr "Gép újraindítva"
#: src/tables/machine/MachineListTable.tsx:235
#: src/tables/machine/MachineListTable.tsx:297
@@ -10223,17 +10463,17 @@ msgstr "Berendezés módosítása"
#: src/tables/machine/MachineListTable.tsx:249
#: src/tables/machine/MachineListTable.tsx:301
msgid "Delete machine"
-msgstr ""
+msgstr "Gép törlése"
#: src/tables/machine/MachineListTable.tsx:250
#: src/tables/machine/MachineListTable.tsx:692
msgid "Machine successfully deleted."
-msgstr ""
+msgstr "Gép sikeresen törölve."
#: src/tables/machine/MachineListTable.tsx:255
#: src/tables/machine/MachineListTable.tsx:697
msgid "Are you sure you want to remove this machine?"
-msgstr ""
+msgstr "Biztos, hogy el szeretné távolítani ezt a gépet?"
#: src/tables/machine/MachineListTable.tsx:285
msgid "Machine"
@@ -10250,7 +10490,7 @@ msgstr "Újraindítás szükséges"
#: src/tables/machine/MachineListTable.tsx:294
msgid "Machine Actions"
-msgstr ""
+msgstr "Gép műveletek"
#: src/tables/machine/MachineListTable.tsx:306
msgid "Restart"
@@ -10262,7 +10502,7 @@ msgstr "Berendezés újraindítása"
#: src/tables/machine/MachineListTable.tsx:310
msgid "manual restart required"
-msgstr ""
+msgstr "manuális újraindítás szükséges"
#: src/tables/machine/MachineListTable.tsx:315
#~ msgid "Machine Information"
@@ -10270,7 +10510,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:343
msgid "General"
-msgstr ""
+msgstr "Általános"
#: src/tables/machine/MachineListTable.tsx:353
#: src/tables/machine/MachineListTable.tsx:804
@@ -10288,11 +10528,11 @@ msgstr "Inicializálva"
#: src/tables/machine/MachineListTable.tsx:410
#: src/tables/machine/MachineTypeTable.tsx:305
msgid "No errors reported"
-msgstr ""
+msgstr "Nincs jelentett hiba"
#: src/tables/machine/MachineListTable.tsx:431
msgid "Properties"
-msgstr ""
+msgstr "Tulajdonságok"
#: src/tables/machine/MachineListTable.tsx:494
#~ msgid "Create machine"
@@ -10300,7 +10540,7 @@ msgstr ""
#: src/tables/machine/MachineListTable.tsx:521
msgid "Driver Settings"
-msgstr ""
+msgstr "Meghajtó beállítások"
#: src/tables/machine/MachineListTable.tsx:561
#~ msgid "Machine detail"
@@ -10313,7 +10553,7 @@ msgstr "Berendezés hozzáadása"
#: src/tables/machine/MachineListTable.tsx:691
#: src/tables/machine/MachineListTable.tsx:736
msgid "Delete Machine"
-msgstr ""
+msgstr "Gép törlése"
#: src/tables/machine/MachineListTable.tsx:704
msgid "Edit Machine"
@@ -10321,7 +10561,7 @@ msgstr "Berendezés módosítása"
#: src/tables/machine/MachineListTable.tsx:718
msgid "Restart Machine"
-msgstr ""
+msgstr "Gép újraindítása"
#: src/tables/machine/MachineListTable.tsx:749
msgid "Add machine"
@@ -10353,11 +10593,11 @@ msgstr "Nem található"
#: src/tables/machine/MachineTypeTable.tsx:129
msgid "Machine type not found."
-msgstr ""
+msgstr "Gép típus nem található."
#: src/tables/machine/MachineTypeTable.tsx:139
msgid "Machine Type Information"
-msgstr ""
+msgstr "Gép típus információ"
#: src/tables/machine/MachineTypeTable.tsx:148
#~ msgid "Available drivers"
@@ -10371,24 +10611,24 @@ msgstr "Slug"
#: src/tables/machine/MachineTypeTable.tsx:165
#: src/tables/machine/MachineTypeTable.tsx:274
msgid "Provider plugin"
-msgstr ""
+msgstr "Szolgáltató bővítmény"
#: src/tables/machine/MachineTypeTable.tsx:177
#: src/tables/machine/MachineTypeTable.tsx:286
msgid "Provider file"
-msgstr ""
+msgstr "Szolgáltató fájl"
#: src/tables/machine/MachineTypeTable.tsx:192
msgid "Available Drivers"
-msgstr ""
+msgstr "Elérhető meghajtók"
#: src/tables/machine/MachineTypeTable.tsx:232
msgid "Machine driver not found."
-msgstr ""
+msgstr "Gép meghajtó nem található."
#: src/tables/machine/MachineTypeTable.tsx:240
msgid "Machine driver information"
-msgstr ""
+msgstr "Gép meghajtó információ"
#: src/tables/machine/MachineTypeTable.tsx:260
msgid "Machine type"
@@ -10408,11 +10648,11 @@ msgstr "Beépülő típusa"
#: src/tables/machine/MachineTypeTable.tsx:369
msgid "Machine Type Detail"
-msgstr ""
+msgstr "Gép típus részletek"
#: src/tables/machine/MachineTypeTable.tsx:379
msgid "Machine Driver Detail"
-msgstr ""
+msgstr "Gép meghajtó részletek"
#: src/tables/notifications/NotificationTable.tsx:26
msgid "Age"
@@ -10423,22 +10663,22 @@ msgid "Notification"
msgstr "Értesítés"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Üzenet"
#: src/tables/part/ParametricPartTable.tsx:20
msgid "Show active parts"
-msgstr ""
+msgstr "Aktív alkatrészek megjelenítése"
#: src/tables/part/ParametricPartTable.tsx:25
msgid "Show locked parts"
-msgstr ""
+msgstr "Zárolt alkatrészek megjelenítése"
#: src/tables/part/ParametricPartTable.tsx:30
msgid "Show assembly parts"
-msgstr ""
+msgstr "Összeszerelési alkatrészek megjelenítése"
#: src/tables/part/ParametricPartTable.tsx:82
#~ msgid "Edit parameter"
@@ -10456,7 +10696,7 @@ msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:64
msgid "Assembly IPN"
-msgstr ""
+msgstr "Összeszerelés IPN"
#: src/tables/part/PartBuildAllocationsTable.tsx:73
msgid "Part IPN"
@@ -10467,30 +10707,30 @@ msgid "Required Stock"
msgstr "Szükséges készlet"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
-msgstr ""
+msgstr "Gyártási megrendelés megtekintése"
#: src/tables/part/PartCategoryTable.tsx:51
msgid "You are subscribed to notifications for this category"
-msgstr ""
+msgstr "Feliratkozott az értesítésekre ehhez a kategóriához"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Alkategóriákkal együtt"
#: src/tables/part/PartCategoryTable.tsx:85
msgid "Include subcategories in results"
-msgstr ""
+msgstr "Alkategóriák belefoglalása az eredményekbe"
#: src/tables/part/PartCategoryTable.tsx:90
msgid "Show structural categories"
-msgstr ""
+msgstr "Strukturális kategóriák megjelenítése"
#: src/tables/part/PartCategoryTable.tsx:95
msgid "Show categories to which the user is subscribed"
-msgstr ""
+msgstr "Kategóriák megjelenítése, amelyekre a felhasználó feliratkozott"
#: src/tables/part/PartCategoryTable.tsx:104
msgid "New Part Category"
@@ -10498,7 +10738,7 @@ msgstr "Új alkatrész kategória"
#: src/tables/part/PartCategoryTable.tsx:130
msgid "Set Parent Category"
-msgstr ""
+msgstr "Szülő kategória beállítása"
#: src/tables/part/PartCategoryTable.tsx:148
#: src/tables/stock/StockLocationTable.tsx:147
@@ -10507,7 +10747,7 @@ msgstr "Szülő kapcsolat beállítása"
#: src/tables/part/PartCategoryTable.tsx:150
msgid "Set parent category for the selected items"
-msgstr ""
+msgstr "Szülő kategória beállítása a kiválasztott tételekhez"
#: src/tables/part/PartCategoryTable.tsx:161
msgid "Add Part Category"
@@ -10516,15 +10756,15 @@ msgstr "Alkatrész kategória hozzáadása"
#: src/tables/part/PartCategoryTemplateTable.tsx:49
#: src/tables/part/PartCategoryTemplateTable.tsx:143
msgid "Add Category Parameter"
-msgstr ""
+msgstr "Kategória paraméter hozzáadása"
#: src/tables/part/PartCategoryTemplateTable.tsx:57
msgid "Edit Category Parameter"
-msgstr ""
+msgstr "Kategória paraméter szerkesztése"
#: src/tables/part/PartCategoryTemplateTable.tsx:65
msgid "Delete Category Parameter"
-msgstr ""
+msgstr "Kategória paraméter törlése"
#: src/tables/part/PartCategoryTemplateTable.tsx:93
#~ msgid "[{0}]"
@@ -10554,144 +10794,144 @@ msgstr "Teljes mennyiség"
#: src/tables/part/PartPurchaseOrdersTable.tsx:123
msgid "Show pending orders"
-msgstr ""
+msgstr "Függőben lévő megrendelések megjelenítése"
#: src/tables/part/PartPurchaseOrdersTable.tsx:128
msgid "Show received items"
-msgstr ""
+msgstr "Bevételezett tételek megjelenítése"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
-msgstr ""
+msgstr "Értékesítési rendelés megtekintése"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimális készlet"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Szűrés aktív státusz szerint"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
-msgstr ""
+msgstr "Szűrés zárolás státusz szerint"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Szűrés szerelési tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Alkatrészjegyzék ellenőrzött"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
-msgstr ""
+msgstr "Szűrés érvényes alkatrészjegyzékkel rendelkező alkatrészekre"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Szűrés összetevő tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
-msgstr ""
+msgstr "Szűrés tesztelhető tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Szűrés követésre kötelezettség szerint"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Szűrés meglévő mértékegység szerint"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Van IPN-je"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Szűrés meglévő IPN szerint"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Van készlet"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Szűrés meglévő készlet szerint"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Szűrés alacsony készlet szerint"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Szűrés beszerezhetőség szerint"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Értékesíthető"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Szűrés értékesíthetőség szerint"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Szűrés virtuális alkatrészek szerint"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Nem virtuális"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Sablon-e"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
-msgstr ""
+msgstr "Szűrés sablonokra"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Változat-e"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
-msgstr ""
+msgstr "Szűrés változatokra"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Változat-e"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
-msgstr ""
+msgstr "Szűrés revíziókra"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Vannak változatai"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
-msgstr ""
+msgstr "Szűrés revíziókkal rendelkező alkatrészekre"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
-msgstr ""
+msgstr "Szűrés árazási információval rendelkező alkatrészekre"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
-msgstr ""
+msgstr "Szűrés elérhető készlettel rendelkező alkatrészekre"
#: src/tables/part/PartTable.tsx:322
#~ msgid "Has Stocktake"
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
-msgstr ""
+msgstr "Szűrés feliratkozott alkatrészekre"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
-msgstr ""
+msgstr "Alkatrészek importálása"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Kategória beállítása"
-#: src/tables/part/PartTable.tsx:514
-msgid "Set category for selected parts"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:524
-msgid "Order selected parts"
-msgstr ""
+msgid "Set category for selected parts"
+msgstr "Kategória beállítása a kiválasztott alkatrészekhez"
#: src/tables/part/PartTable.tsx:534
+msgid "Order selected parts"
+msgstr "Kiválasztott alkatrészek rendelése"
+
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
-msgstr ""
+msgstr "Alkatrészek hozzáadása"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
-msgstr ""
+msgstr "Alkatrész létrehozása"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
-msgstr ""
+msgstr "Új alkatrész létrehozása"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
-msgstr ""
+msgstr "Alkatrészek importálása fájlból"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
-msgstr ""
+msgstr "Importálás beszállítótól"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
-msgstr ""
+msgstr "Alkatrészek importálása beszállítói bővítményből"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Teszt eredmény hozzáadása"
@@ -10763,28 +11003,28 @@ msgstr "Teszt eredmény feltöltve"
#: src/tables/part/PartTestResultTable.tsx:142
msgid "Add Test Results"
-msgstr ""
+msgstr "Teszt eredmények hozzáadása"
#: src/tables/part/PartTestResultTable.tsx:152
msgid "Test results added"
-msgstr ""
+msgstr "Teszt eredmények feltöltve"
#: src/tables/part/PartTestResultTable.tsx:180
#: src/tables/stock/StockItemTestResultTable.tsx:197
msgid "No Result"
msgstr "Nincs eredmény"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
-msgstr ""
+msgstr "Jelenleg gyártásban lévő gyártási kimenetek megjelenítése"
#: src/tables/part/PartTestTemplateTable.tsx:56
msgid "Test is defined for a parent template part"
-msgstr ""
+msgstr "A teszt egy szülő sablon alkatrészhez van definiálva"
#: src/tables/part/PartTestTemplateTable.tsx:70
msgid "Template Details"
-msgstr ""
+msgstr "Sablon részletei"
#: src/tables/part/PartTestTemplateTable.tsx:80
msgid "Results"
@@ -10808,7 +11048,7 @@ msgstr "Kötelező adatos tesztek megjelenítése"
#: src/tables/part/PartTestTemplateTable.tsx:127
msgid "Requires Attachment"
-msgstr ""
+msgstr "Melléklet kötelező"
#: src/tables/part/PartTestTemplateTable.tsx:128
msgid "Show tests that require an attachment"
@@ -10857,9 +11097,17 @@ msgstr "Szülő alkatérsz megtekintése"
#: src/tables/part/PartTestTemplateTable.tsx:263
msgid "Part templates cannot be edited, as the part is locked"
-msgstr ""
+msgstr "Az alkatrész sablonok nem szerkeszthetők, mivel az alkatrész zárolva van"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr "Kép frissítve"
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr "A kép sikeresen feltöltve"
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Kiválaszt"
@@ -10903,17 +11151,17 @@ msgstr "Kapcsolódó alkatrész szerkesztése"
#: src/tables/part/SelectionListTable.tsx:64
#: src/tables/part/SelectionListTable.tsx:115
msgid "Add Selection List"
-msgstr ""
+msgstr "Kiválasztási lista hozzáadása"
#: src/tables/part/SelectionListTable.tsx:76
msgid "Edit Selection List"
-msgstr ""
+msgstr "Kiválasztási lista szerkesztése"
#: src/tables/part/SelectionListTable.tsx:84
msgid "Delete Selection List"
-msgstr ""
+msgstr "Kiválasztási lista törlése"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Munkafázis"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Kötelező"
@@ -10973,89 +11221,89 @@ msgstr "Leírás nem elérhető"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Plugin telepítésének megerősítése"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Plugin kikapcsolásának megerősítése"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "A kiválasztott bővítmény aktiválva lesz"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "A kiválasztott bővítmény deaktiválva lesz"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Kikapcsolás"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Bekapcsolás"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
-msgid "Update selected plugin"
-msgstr ""
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Bekapcsolás"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Kiválasztott bővítmény aktiválása"
+
+#: src/tables/plugin/PluginListTable.tsx:211
+msgid "Update selected plugin"
+msgstr "Kiválasztott bővítmény frissítése"
+
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Eltávolítás"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
-msgstr ""
+msgstr "Kiválasztott bővítmény eltávolítása"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
-msgstr ""
+msgstr "Kiválasztott bővítmény konfiguráció törlése"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Plugin aktiválása"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
-msgstr ""
+msgstr "A bővítmény aktiválva lett"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
-msgstr ""
+msgstr "A bővítmény deaktiválva lett"
#: src/tables/plugin/PluginListTable.tsx:280
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Bővítmény telepítése"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Telepítés"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "A bővítmény sikeresen telepítve"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Bővítmény eltávolítása"
@@ -11063,23 +11311,23 @@ msgstr "Bővítmény eltávolítása"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Bővítmény eltávolítás megerősítése"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "A kiválasztott bővítmény el lesz távolítva."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "A bővítmény sikeresen eltávolítva"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Plugin törlése"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "A bővítmény konfiguráció törlése eltávolít minden beállítást és adatot. Biztos benne, hogy törölni akarja ezt a bővítményt?"
@@ -11087,11 +11335,11 @@ msgstr "A bővítmény konfiguráció törlése eltávolít minden beállítást
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Bővítmények újratöltve"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Bővítmények újratöltése sikeres"
@@ -11103,7 +11351,7 @@ msgstr "Bővítmények újratöltése sikeres"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Bővítmények újratöltése"
@@ -11115,7 +11363,7 @@ msgstr "Bővítmények újratöltése"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Bővítmény részletek"
@@ -11127,12 +11375,12 @@ msgstr "Bővítmény részletek"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Minta"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Telepítve"
@@ -11152,32 +11400,26 @@ msgstr "Telepítve"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN (Gyártói cikkszám)"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Aktív alkatrész"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
-msgstr ""
+msgstr "Aktív belső alkatrészek gyártói alkatrészeinek megjelenítése."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
-msgstr ""
+msgstr "Aktív gyártó"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
-msgstr ""
+msgstr "Aktív gyártók gyártói alkatrészeinek megjelenítése."
#: src/tables/purchasing/ManufacturerPartTable.tsx:63
#~ msgid "Create Manufacturer Part"
@@ -11196,25 +11438,25 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
-msgstr ""
+msgstr "Sortételek importálása"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:237
msgid "Supplier Code"
msgstr "Beszállítói kód"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Beszállítói link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Gyártói kód"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
-msgstr ""
+msgstr "Bevételezett sortételek megjelenítése"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:344
#: src/tables/sales/ReturnOrderLineItemTable.tsx:160
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Sortétel bevételezése"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Bevételezés"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Egység"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Beszállítói alkatrész hozzáadása"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,127 +11488,143 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
-msgid "Show active supplier parts"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:221
-msgid "Show active internal parts"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:225
-msgid "Active Supplier"
+msgid "Add supplier part"
+msgstr "Beszállítói alkatrész hozzáadása"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Beszállítói alkatrész importálása"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
+msgid "Show active supplier parts"
+msgstr "Aktív beszállítói alkatrészek megjelenítése"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:259
+msgid "Show active internal parts"
+msgstr "Aktív belső alkatrészek megjelenítése"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:263
+msgid "Active Supplier"
+msgstr "Aktív beszállító"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Aktív beszállítók megjelenítése"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
-msgstr ""
+msgstr "Készlettel rendelkező beszállítói alkatrészek megjelenítése"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Beérkezés dátuma"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
-msgstr ""
+msgstr "Bevételezett tételek megjelenítése"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
-msgstr ""
+msgstr "Szűrés sortétel státusz szerint"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
-msgstr ""
+msgstr "Kiválasztott tételek bevételezése"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Tétel bevételezése"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
-msgstr ""
-
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
-msgid "Assigned to Shipment"
-msgstr ""
+msgstr "Függőben lévő lefoglalások megjelenítése"
#: src/tables/sales/SalesOrderAllocationTable.tsx:94
-msgid "Show allocations assigned to a shipment"
-msgstr ""
+msgid "Assigned to Shipment"
+msgstr "Szállítmányhoz rendelve"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
+msgid "Show allocations assigned to a shipment"
+msgstr "Szállítmányhoz rendelt lefoglalások megjelenítése"
+
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Elérhető mennyiség"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
-msgstr ""
+msgstr "Lefoglalt mennyiség"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Nincs szállítás"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Nincs kiszállítva"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
-msgstr ""
+msgstr "Lefoglalás szerkesztése"
#: src/tables/sales/SalesOrderAllocationTable.tsx:218
#: src/tables/sales/SalesOrderAllocationTable.tsx:241
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Szállítmány megtekintése"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
-msgstr ""
+msgstr "Szállítmányhoz rendelés"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
-msgstr ""
+msgstr "Szállítmányhoz rendelés"
#: src/tables/sales/SalesOrderLineItemTable.tsx:280
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Sorozatszámok lefoglalása"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
+msgid "Show lines which are fully allocated"
+msgstr "Teljesen lefoglalt sorok megjelenítése"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:343
-msgid "Show lines which are fully allocated"
-msgstr ""
-
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
msgid "Show lines which are completed"
-msgstr ""
+msgstr "Befejezett sorok megjelenítése"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Sorozatszámok lefoglalása"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Gyártási készlet"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Készlet rendelés"
@@ -11384,86 +11634,90 @@ msgstr "Készlet rendelés"
#: src/tables/sales/SalesOrderShipmentTable.tsx:79
msgid "Create Shipment"
-msgstr ""
+msgstr "Szállítmány létrehozása"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr "Szállítmány létrehozva"
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Tételek"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Szállítmány szerkesztése"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Szállítmány visszavonása"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Szállítmány hozzáadása"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
-msgstr ""
+msgstr "Ellenőrzött szállítmányok megjelenítése"
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+msgid "Show shipments which have been shipped"
+msgstr "Kiszállított szállítmányok megjelenítése"
#: src/tables/sales/SalesOrderShipmentTable.tsx:305
-msgid "Show shipments which have been shipped"
-msgstr ""
-
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
msgid "Show shipments which have been delivered"
-msgstr ""
+msgstr "Kézbesített szállítmányok megjelenítése"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Token generálása"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token legenerálva"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Visszavonva"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "Használatban"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Utolsó tevékenység"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Lejárat"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
-msgstr ""
+msgstr "Visszavont tokenek megjelenítése"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Visszavonás"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
-msgstr ""
+msgstr "Hiba a token visszavonása közben"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
-msgstr ""
+msgstr "A tokenek csak egyszer jelennek meg - ügyeljen rá, hogy jegyezze fel."
#: src/tables/settings/BarcodeScanHistoryTable.tsx:60
msgid "Barcode Information"
-msgstr ""
+msgstr "Vonalkód információ"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:85
msgid "Endpoint"
@@ -11485,23 +11739,23 @@ msgstr "Válasz"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:209
msgid "Filter by result"
-msgstr ""
+msgstr "Szűrés eredmény szerint"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:223
msgid "Delete Barcode Scan Record"
-msgstr ""
+msgstr "Vonalkód beolvasási rekord törlése"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:249
msgid "Barcode Scan Details"
-msgstr ""
+msgstr "Vonalkód beolvasás részletei"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:259
msgid "Logging Disabled"
-msgstr ""
+msgstr "Naplózás kikapcsolva"
#: src/tables/settings/BarcodeScanHistoryTable.tsx:261
msgid "Barcode logging is not enabled"
-msgstr ""
+msgstr "A vonalkód naplózás nincs engedélyezve"
#: src/tables/settings/CustomStateTable.tsx:63
msgid "Status Group"
@@ -11570,7 +11824,7 @@ msgstr "Teszt e-mail küldése"
#: src/tables/settings/EmailTable.tsx:45
msgid "Email sent successfully"
-msgstr ""
+msgstr "E-mail sikeresen elküldve"
#: src/tables/settings/EmailTable.tsx:71
msgid "Delete Email"
@@ -11578,7 +11832,7 @@ msgstr "E-mail törlése"
#: src/tables/settings/EmailTable.tsx:72
msgid "Email deleted successfully"
-msgstr ""
+msgstr "E-mail sikeresen törölve"
#: src/tables/settings/EmailTable.tsx:80
msgid "Subject"
@@ -11622,15 +11876,15 @@ msgstr "Hibaüzenet"
#: src/tables/settings/ErrorTable.tsx:123
msgid "Delete Error Report"
-msgstr ""
+msgstr "Hibajelentés törlése"
#: src/tables/settings/ErrorTable.tsx:125
msgid "Are you sure you want to delete this error report?"
-msgstr ""
+msgstr "Biztosan törölni szeretné ezt a hibajelentést?"
#: src/tables/settings/ErrorTable.tsx:127
msgid "Error report deleted"
-msgstr ""
+msgstr "Hibajelentés törölve"
#: src/tables/settings/ErrorTable.tsx:146
#: src/tables/settings/FailedTasksTable.tsx:65
@@ -11675,20 +11929,20 @@ msgstr "Nincs információ"
#: src/tables/settings/FailedTasksTable.tsx:93
msgid "No error details are available for this task"
-msgstr ""
+msgstr "Ehhez a feladathoz nem állnak rendelkezésre hiba részletek"
#: src/tables/settings/GroupTable.tsx:71
msgid "Group with id {id} not found"
-msgstr ""
+msgstr "Csoport {id} azonosítóval nem található"
#: src/tables/settings/GroupTable.tsx:73
msgid "An error occurred while fetching group details"
-msgstr ""
+msgstr "Hiba történt a csoport részleteinek lekérésekor"
#: src/tables/settings/GroupTable.tsx:96
#: src/tables/settings/GroupTable.tsx:257
msgid "Name of the user group"
-msgstr ""
+msgstr "A felhasználói csoport neve"
#: src/tables/settings/GroupTable.tsx:117
#~ msgid "Permission set"
@@ -11729,12 +11983,12 @@ msgstr "Csoport hozzáadása"
#: src/tables/settings/ImportSessionTable.tsx:38
msgid "Delete Import Session"
-msgstr ""
+msgstr "Import munkamenet törlése"
#: src/tables/settings/ImportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:129
msgid "Create Import Session"
-msgstr ""
+msgstr "Import munkamenet létrehozása"
#: src/tables/settings/ImportSessionTable.tsx:72
msgid "Uploaded"
@@ -11747,11 +12001,11 @@ msgstr "Importált sorok"
#: src/tables/settings/ImportSessionTable.tsx:112
#: src/tables/settings/TemplateTable.tsx:369
msgid "Filter by target model type"
-msgstr ""
+msgstr "Szűrés cél modell típus szerint"
#: src/tables/settings/ImportSessionTable.tsx:118
msgid "Filter by import session status"
-msgstr ""
+msgstr "Szűrés import munkamenet státusz szerint"
#: src/tables/settings/PendingTasksTable.tsx:47
msgid "Arguments"
@@ -11759,15 +12013,15 @@ msgstr "Argumentumok"
#: src/tables/settings/PendingTasksTable.tsx:61
msgid "Remove all pending tasks"
-msgstr ""
+msgstr "Összes függőben lévő feladat eltávolítása"
#: src/tables/settings/PendingTasksTable.tsx:69
msgid "All pending tasks deleted"
-msgstr ""
+msgstr "Összes függőben lévő feladat törölve"
#: src/tables/settings/PendingTasksTable.tsx:76
msgid "Error while deleting all pending tasks"
-msgstr ""
+msgstr "Hiba az összes függőben lévő feladat törlése közben"
#: src/tables/settings/ProjectCodeTable.tsx:58
msgid "Edit Project Code"
@@ -11775,7 +12029,7 @@ msgstr "Projektszám szerkesztése"
#: src/tables/settings/ProjectCodeTable.tsx:66
msgid "Delete Project Code"
-msgstr ""
+msgstr "Projekt kód törlése"
#: src/tables/settings/ProjectCodeTable.tsx:97
msgid "Add project code"
@@ -11819,7 +12073,7 @@ msgstr "Sablon nem található"
#: src/tables/settings/TemplateTable.tsx:167
msgid "An error occurred while fetching template details"
-msgstr ""
+msgstr "Hiba történt a sablon részleteinek lekérésekor"
#: src/tables/settings/TemplateTable.tsx:243
#~ msgid "Add new"
@@ -11835,7 +12089,7 @@ msgstr "Módosítás"
#: src/tables/settings/TemplateTable.tsx:262
msgid "Modify template file"
-msgstr ""
+msgstr "Sablon fájl módosítása"
#: src/tables/settings/TemplateTable.tsx:313
#: src/tables/settings/TemplateTable.tsx:381
@@ -11856,7 +12110,7 @@ msgstr "Sablon hozzáadása"
#: src/tables/settings/TemplateTable.tsx:363
msgid "Filter by enabled status"
-msgstr ""
+msgstr "Szűrés engedélyezett státusz szerint"
#: src/tables/settings/TemplateTable.tsx:420
#~ msgid "Report Output"
@@ -11868,19 +12122,19 @@ msgstr "Csoportok frissítve"
#: src/tables/settings/UserTable.tsx:124
msgid "User groups updated successfully"
-msgstr ""
+msgstr "Felhasználói csoportok sikeresen frissítve"
#: src/tables/settings/UserTable.tsx:131
msgid "Error updating user groups"
-msgstr ""
+msgstr "Hiba a felhasználói csoportok frissítése közben"
#: src/tables/settings/UserTable.tsx:150
msgid "User with id {id} not found"
-msgstr ""
+msgstr "Felhasználó {id} azonosítóval nem található"
#: src/tables/settings/UserTable.tsx:152
msgid "An error occurred while fetching user details"
-msgstr ""
+msgstr "Hiba történt a felhasználó részleteinek lekérésekor"
#: src/tables/settings/UserTable.tsx:154
#~ msgid "No groups"
@@ -11892,7 +12146,7 @@ msgstr "Aktív"
#: src/tables/settings/UserTable.tsx:179
msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts."
-msgstr ""
+msgstr "Meghatározza, hogy ez a felhasználó aktívként kezelendő-e. Fiókok törlése helyett távolítsa el a jelölést."
#: src/tables/settings/UserTable.tsx:183
msgid "Is Staff"
@@ -11908,11 +12162,11 @@ msgstr "Rendszergazda"
#: src/tables/settings/UserTable.tsx:189
msgid "Designates that this user has all permissions without explicitly assigning them."
-msgstr ""
+msgstr "Meghatározza, hogy ez a felhasználó rendelkezik minden jogosultsággal azok kifejezett hozzárendelése nélkül."
#: src/tables/settings/UserTable.tsx:199
msgid "You cannot edit the rights for the currently logged-in user."
-msgstr ""
+msgstr "Nem szerkesztheti a jelenleg bejelentkezett felhasználó jogosultságait."
#: src/tables/settings/UserTable.tsx:218
msgid "User Groups"
@@ -11956,15 +12210,15 @@ msgstr "Felhasználó hozzáadása"
#: src/tables/settings/UserTable.tsx:401
msgid "Show active users"
-msgstr ""
+msgstr "Aktív felhasználók megjelenítése"
#: src/tables/settings/UserTable.tsx:406
msgid "Show staff users"
-msgstr ""
+msgstr "Dolgozó felhasználók megjelenítése"
#: src/tables/settings/UserTable.tsx:411
msgid "Show superusers"
-msgstr ""
+msgstr "Adminisztrátorok megjelenítése"
#: src/tables/settings/UserTable.tsx:430
msgid "Edit User"
@@ -11984,37 +12238,37 @@ msgstr "Felhasználó frissítve"
#: src/tables/settings/UserTable.tsx:482
msgid "User updated successfully"
-msgstr ""
+msgstr "Felhasználó sikeresen frissítve"
#: src/tables/settings/UserTable.tsx:488
msgid "Error updating user"
-msgstr ""
+msgstr "Hiba a felhasználó frissítése közben"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Cikk beépítése"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
-msgstr ""
+msgstr "Cikk beépítve"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
-msgstr ""
+msgstr "Cikk eltávolítása"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
-msgstr ""
+msgstr "Cikk eltávolítva"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
-msgstr ""
+msgstr "Készlet cikk eltávolítása"
#: src/tables/stock/LocationTypesTable.tsx:44
#: src/tables/stock/LocationTypesTable.tsx:111
msgid "Add Location Type"
-msgstr ""
+msgstr "Készlethely típus hozzáadása"
#: src/tables/stock/LocationTypesTable.tsx:52
msgid "Edit Location Type"
@@ -12022,213 +12276,165 @@ msgstr "Készlethely típus szerkesztése"
#: src/tables/stock/LocationTypesTable.tsx:60
msgid "Delete Location Type"
-msgstr ""
+msgstr "Készlethely típus törlése"
#: src/tables/stock/LocationTypesTable.tsx:68
msgid "Icon"
msgstr "Ikon"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Ez a készlet tétel gyártásban van"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Leltározás dátuma"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Készlet megjelenítése aktív alkatrészekhez"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Készlet tétel hozzárendelve egy vevőhöz"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Készlet megjelenítése összeállított alkatrészekhez"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Készlet tétel beépült egy másikba"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Lefoglalt tételek megjelenítése"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Készlet tétel fel lett használva egy gyártásban"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Elérhető tételek megjelenítése"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Alhelyek beleértve"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Készlet tétel lejárt"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Alhelyeken lévő készlet beleértve"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Készlet tétel lejárt"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Kifogyott"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Készlet tétel teljesen foglalva"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Kifogyott készlet tételek megjelenítése"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Készlet tétel részlegesen foglalva"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Gyártásban lévő tételek megjelenítése"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Készlet tétel elfogyott"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Gyártási rendeléssel felhasznált tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Más tételekben beépített készlet tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Ügyfélhez elküldve"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Ügyfélhez elküldött tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Követett tételek mutatása"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Van beszerzési ára"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Beszerzési árral rendelkező tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Lejárt tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Elavult tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Lejárt ez előtt"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Ez a dátum előtt lejárt tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Lejárt ekkor"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Ez a dátum után lejárt tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Ez a dátum előtt frissített tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Ez a dátum után frissített tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Leltározva ez előtt"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Ez a dátum előtt leltározott tételek megjelenítése"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Leltározva ez után"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Ez a dátum után leltározott tételek megjelenítése"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Külső hely"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Kifogyott"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Külső helyen lévő tételek megjelenítése"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Követett tételek mutatása"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Van beszerzési ára"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Lejárt ekkor"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Frissítve ez után"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Megrendelés tételei"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Megrendelés tételei"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12279,7 +12485,7 @@ msgstr "Teszt"
#: src/tables/stock/StockItemTestResultTable.tsx:180
msgid "Test result for installed stock item"
-msgstr ""
+msgstr "Teszt eredmény a beépített készlet tételhez"
#: src/tables/stock/StockItemTestResultTable.tsx:211
msgid "Attachment"
@@ -12294,22 +12500,22 @@ msgid "Finished"
msgstr "Befejezve"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
-msgstr ""
+msgstr "Teszt eredmény szerkesztése"
#: src/tables/stock/StockItemTestResultTable.tsx:309
msgid "Test result updated"
-msgstr ""
+msgstr "Teszt eredmény frissítve"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Teszt eredmény törlése"
#: src/tables/stock/StockItemTestResultTable.tsx:317
msgid "Test result deleted"
-msgstr ""
+msgstr "Teszt eredmény törölve"
#: src/tables/stock/StockItemTestResultTable.tsx:331
msgid "Test Passed"
@@ -12317,39 +12523,39 @@ msgstr "Teszten megfelelt"
#: src/tables/stock/StockItemTestResultTable.tsx:332
msgid "Test result has been recorded"
-msgstr ""
+msgstr "Teszt eredmény rögzítve lett"
#: src/tables/stock/StockItemTestResultTable.tsx:339
msgid "Failed to record test result"
-msgstr ""
+msgstr "Teszt eredmény rögzítése sikertelen"
#: src/tables/stock/StockItemTestResultTable.tsx:356
msgid "Pass Test"
msgstr "Teszt sikeres"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
-msgstr ""
-
-#: src/tables/stock/StockItemTestResultTable.tsx:409
-msgid "Include Installed"
-msgstr ""
+msgstr "Kötelező tesztek eredményeinek megjelenítése"
#: src/tables/stock/StockItemTestResultTable.tsx:410
-msgid "Show results for installed stock items"
-msgstr ""
+msgid "Include Installed"
+msgstr "Beépítettek beleértve"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:411
+msgid "Show results for installed stock items"
+msgstr "Beépített készlet tételek eredményeinek megjelenítése"
+
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Megfelelt"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
-msgstr ""
+msgstr "Csak a megfelelt tesztek megjelenítése"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
-msgstr ""
+msgstr "Engedélyezett tesztek eredményeinek megjelenítése"
#: src/tables/stock/StockLocationTable.tsx:38
#~ msgid "structural"
@@ -12357,7 +12563,7 @@ msgstr ""
#: src/tables/stock/StockLocationTable.tsx:39
msgid "Include sublocations in results"
-msgstr ""
+msgstr "Alhelyek beleértve az eredményekben"
#: src/tables/stock/StockLocationTable.tsx:43
#~ msgid "external"
@@ -12365,15 +12571,15 @@ msgstr ""
#: src/tables/stock/StockLocationTable.tsx:44
msgid "Show structural locations"
-msgstr ""
+msgstr "Szerkezeti helyek megjelenítése"
#: src/tables/stock/StockLocationTable.tsx:49
msgid "Show external locations"
-msgstr ""
+msgstr "Külső helyek megjelenítése"
#: src/tables/stock/StockLocationTable.tsx:53
msgid "Has location type"
-msgstr ""
+msgstr "Van hely típusa"
#: src/tables/stock/StockLocationTable.tsx:58
msgid "Filter by location type"
@@ -12386,24 +12592,32 @@ msgstr "Új készlet hely"
#: src/tables/stock/StockLocationTable.tsx:129
msgid "Set Parent Location"
-msgstr ""
+msgstr "Szülő hely beállítása"
#: src/tables/stock/StockLocationTable.tsx:149
msgid "Set parent location for the selected items"
-msgstr ""
+msgstr "Szülő hely beállítása a kiválasztott tételekhez"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr "Korábbi státusz"
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Hozzáadva"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Eltávolítva"
-#: src/tables/stock/StockTrackingTable.tsx:221
-msgid "No user information"
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
msgstr ""
+#: src/tables/stock/StockTrackingTable.tsx:276
+msgid "No user information"
+msgstr "Nincs felhasználói információ"
+
#: src/tables/stock/TestStatisticsTable.tsx:34
#: src/tables/stock/TestStatisticsTable.tsx:64
#~ msgid "Total"
@@ -12427,5 +12641,5 @@ msgstr "Olvasd el a dokumentációt"
#: src/views/MobileAppView.tsx:42
msgid "Ignore and continue to Desktop view"
-msgstr ""
+msgstr "Kihagyás és folytatás asztali nézetben"
diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po
index 7e83fba576..885578321f 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -35,7 +35,7 @@ msgstr "Sunting"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Hapus"
@@ -44,36 +44,36 @@ msgstr "Hapus"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Batal"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Cari"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Gagal"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ya"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Tidak"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Part Supplier"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Perusahaan"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Alamat"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontak"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontak"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Pemilik"
@@ -451,15 +458,15 @@ msgstr "Pemilik"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Pengguna"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Komponen Rendering Galat"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Pindai"
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Berhasil"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Tautan"
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Tersalin"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Salin"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Cetak label"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Cetak"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Cetak"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Cetak Laporan"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Cetak label"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Cetak Laporan"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Hapus"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Geser dan Lepas untuk unggah file"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Pilih gambar"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Unggah gambar baru"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Unggah Gambar"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Hapus gambar"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Pembaruan"
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Gagal Login"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr "Nama Anda"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Kata Sandi"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Ulangi kata sandi"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Versi API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Tidak terkategori"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Cari..."
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr "{0} icon"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Memuat"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Tidak ada hasil yang ditemukan"
@@ -1940,49 +1988,49 @@ msgstr "Ubah Data"
msgid "Delete Row"
msgstr "Hapus baris"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Baris"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Terima"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Lengkap"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Tutup"
@@ -2104,8 +2152,8 @@ msgstr "Pilihan"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr "Tidak ada"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree "
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Tambah"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr "Tautan"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentasi"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Notifikasi"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr "Pengaturan"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Pengaturan Sistem"
@@ -2578,14 +2632,14 @@ msgstr "Pengaturan Sistem"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Persediaan"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Penjualan"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktif"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Laman"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Tidak Aktif"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Tidak ada persediaan"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Rincian"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Lokasi"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Nomor Seri"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Jumlah"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Memuat..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informasi Server"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informasi Lisensi"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Atur Lokasi"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Tambah Catatan"
@@ -4673,56 +4745,56 @@ msgstr "Tambah Catatan"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Nomor Seri"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Catatan"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Telah diterima"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr "Tidak ada pilihan"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Terverifikasi"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Tidak Terverifikasi"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Tambah Alamat Surel"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "Surel"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Alamat Surel"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Tambah Alamat Surel"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "Surel"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Alamat Surel"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Tambah Surel"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Tambah Surel"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Laman"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Nomor Telepon"
@@ -7271,11 +7389,11 @@ msgstr "Mata Uang Utama"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Total Harga"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Harga Per buah"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Tertunda"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Hapus Alamat"
msgid "Are you sure you want to delete this address?"
msgstr "Apakah kamu ingin menghapus alamat ini?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Tambah Perusahaan"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Tambah Perusahaan"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notifikasi"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po
index 395942f712..f3f5b95987 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Modifica"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Elimina"
@@ -44,36 +44,36 @@ msgstr "Elimina"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Annulla"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Azioni"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Ricerca"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Errore"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Si"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "No"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Articolo"
@@ -134,7 +138,7 @@ msgstr "Articolo"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Articoli"
@@ -149,14 +153,14 @@ msgstr "Articoli"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parametro"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametri"
@@ -168,7 +172,7 @@ msgstr "Modello Parametro"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Modelli parametro"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Modelli Test Articolo"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Articolo Fornitore"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Articoli fornitore"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Articolo Produttore"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Articoli Produttore"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Categoria Articolo"
@@ -218,19 +222,22 @@ msgstr "Categoria Articolo"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Categorie Articolo"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Articolo in magazzino"
@@ -238,22 +245,22 @@ msgstr "Articolo in magazzino"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Articoli in magazzino"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Ubicazione articolo"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Ubicazioni articolo"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Tipi ubicazione articolo"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Cronologia Magazzino"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Costruisci articoli"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Aziende"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Codice del progetto"
@@ -330,21 +337,21 @@ msgstr "Codici del progetto"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Ordine d'acquisto"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Ordini d'acquisto"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Righe ordine di acquisto"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Ordine di Vendita"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Ordini di Vendita"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Spedizione dell'ordine di vendita"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Spedizioni dell'ordine di vendita"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Ordine di reso"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Ordini di reso"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Indirizzo"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Indirizzi"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contatto"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contatti"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Proprietario"
@@ -451,15 +458,15 @@ msgstr "Proprietari"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Utente"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Modelli Report"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configurazione Plugin"
@@ -543,31 +550,31 @@ msgstr "Elenchi di selezione"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Ordini di Produzione"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Processo fallito"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Operazione completata con successo"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Errore nel renderizzare il componente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Si è verificato un errore durante il rendering di questo componente. Fare riferimento alla console per maggiori informazioni."
@@ -637,7 +648,7 @@ msgstr "Codice a barre"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Scansione"
@@ -668,8 +679,8 @@ msgstr "Inserire il codice a barre"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Scansiona codice a barre"
@@ -688,7 +699,7 @@ msgstr "Il codice a barre non corrisponde al tipo di modello previsto"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Operazione completata"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Collegamento al codice a barre non riuscito"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Collegamento"
@@ -754,7 +765,7 @@ msgstr "Questo rimuoverà il collegamento al codice a barre associato"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Scollega Codice a Barre"
@@ -766,11 +777,11 @@ msgstr "Apri nell'interfaccia di amministrazione"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copiato"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copia"
@@ -798,19 +809,15 @@ msgstr "Stampa report"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Stampa Etichetta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Stampa"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Stampa"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Stampa report"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Azioni di stampa"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Stampa Etichette"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Stampa report"
@@ -860,8 +867,8 @@ msgstr "Verrai reindirizzato al provider per ulteriori azioni."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Apri scanner di codici a barre"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Annulla l'iscrizione alle notifiche"
msgid "Subscribe to notifications"
msgstr "Iscriviti alle notifiche"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Filtri Del Calendario"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Mese precedente"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Seleziona mese"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Mese successivo"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Scarica dati"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Errore nell'aggiornare l'ordine"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "In ritardo"
@@ -937,7 +949,7 @@ msgstr "Accetta Disposizione"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Nessun Widget Disponibile"
msgid "There are no more widgets available for the dashboard"
msgstr "Non ci sono più widget disponibili per la dashboard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Articoli Sottoscritti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Mostra il numero di articoli a cui sei sottoscritto"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Categoria sottoscritta"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Mostra il numero di categorie di articoli a cui sei sottoscritto"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Distinta base non valida"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Assemblaggi che richiedono la convalida di una distinta base"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Disponibilità scarsa"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Mostra il numero di articoli che sono scarsi in stock"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Richiesto per gli ordini di produzione"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Mostra gli articolo che sono necessari per gli ordini di produzione attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Elementi in Giacenza Scaduti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Mostra il numero di elementi in giacenza scaduti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Scorte obsolete"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Mostra il numero di elementi in giacenza obsoleti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Ordini di Produzione Attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Mostra il numero di ordini di produzione attualmente attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Ordini di Produzione in Ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Mostra il numero di ordini di produzione in ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Ordini di Produzione Assegnati"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Mostra il numero di ordini di produzione assegnati a te"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Ordini di Vendita Attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Mostra il numero di ordini di vendita attualmente attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Ordini Di Vendita in Ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Mostra il numero di ordini di vendita in ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Ordini di Vendita Assegnati"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Mostra il numero di ordini di vendita assegnati a te"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Spedizioni in sospeso"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Mostra il numero di spedizioni di ordini di vendita in sospeso"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Ordini Di Acquisto Attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Mostra il numero di ordini di acquisto attualmente attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Ordini Di Acquisto In Ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Mostra il numero di ordini di acquisto in ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Ordini Di Acquisto Assegnati"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Mostra il numero di ordini di acquisto assegnati a te"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Ordini di Reso Attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Mostra il numero di ordini di reso attualmente attivi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Ordini di Reso in Ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Mostra il numero di ordini di reso in ritardo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Ordini di Reso Assegnati"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Mostra il numero di ordini di reso assegnati a te"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Per Iniziare"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Per iniziare con InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Aggiornamenti Notizie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Le ultime notizie da InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Nessuna notizia"
msgid "There are no unread news items"
msgstr "Non ci sono notizie non lette"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Non ci sono notizie non lette"
msgid "Superuser"
msgstr "Superuser"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Staff"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nessun nome definito"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Rimuovi l'immagine associata all'articolo?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Rimuovi"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Trascina e rilascia per caricare"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Fare clic per selezionare i file(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Immagine caricata"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Immagine caricata con successo"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Errore Di Caricamento"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Elimina"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Invia"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Seleziona da immagini esistenti"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Seleziona un'immagine"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Scarica immagine remota"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Carica nuova immagine"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Carica immagine"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Elimina immagine"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Scarica immagine"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Immagine scaricata con successo"
@@ -1546,7 +1589,7 @@ msgstr "Esistono errori per uno o più campi del modulo"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Aggiorna"
@@ -1579,21 +1622,21 @@ msgstr "Accesso effettuato con successo"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Accesso non riuscito"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Controllare i dati inseriti e riprovare."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Spedizione email riuscita"
@@ -1628,7 +1671,7 @@ msgstr "Il tuo nome utente"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Password"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Ripeti password"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registrati"
@@ -1720,6 +1763,10 @@ msgstr "Registrazione non attiva"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Questo potrebbe essere legato alle impostazioni di posta mancanti o potrebbe essere una decisione deliberata."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Host"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Versione API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Plugin"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Abilitato"
@@ -1850,7 +1898,7 @@ msgstr "Fermato"
msgid "Running"
msgstr "In Esecuzione"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Seleziona file da caricare"
@@ -1858,7 +1906,7 @@ msgstr "Seleziona file da caricare"
msgid "Accept suggested value"
msgstr "Accetta il valore suggerito"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Seleziona data"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Non categorizzato"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Ricerca..."
@@ -1890,13 +1938,13 @@ msgstr "Seleziona la confezione"
msgid "{0} icons"
msgstr "{0} icone"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Caricamento"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nessun risultato trovato"
@@ -1940,49 +1988,49 @@ msgstr "Modifica dati"
msgid "Delete Row"
msgstr "Elimina riga"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Riga"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "La riga contiene errori"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Accetta"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Valido"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtra per stato di convalida della riga"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Completato"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtra per stato completamento riga"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importa righe selezionate"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Elaborazione dati"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Si è verificato un errore"
@@ -2002,31 +2050,31 @@ msgstr "Seleziona la colonna o lascia vuoto per ignorare questo campo."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignora questo campo"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mappatura colonne di dati ai campi del database"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Accetta Mappatura Colonna"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Campo Database"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Campo descrizione"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Colonna Importata"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Valore Predefinito"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mappa colonne"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importa dati"
+msgid "Import Rows"
+msgstr "Importa righe"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "I dati sono stati importati correttamente"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Chiudi"
@@ -2104,8 +2152,8 @@ msgstr "Opzioni"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Azioni Codice A Barre"
@@ -2177,10 +2225,15 @@ msgstr "Errore sconosciuto"
msgid "None"
msgstr "Vuoto"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Seleziona Lingua"
@@ -2208,9 +2261,10 @@ msgstr "Aggiornamento dei ruoli di gruppo"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Aggiornato"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Ruolo"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Vista"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Cambiare"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Aggiungi"
@@ -2255,14 +2309,14 @@ msgstr "Nessun articolo"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponibile"
@@ -2320,7 +2374,7 @@ msgstr "Collegamenti"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentazione"
@@ -2479,7 +2533,7 @@ msgstr "Avvisi"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Nessun problema rilevato"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "Scopri di più su {code}"
msgid "Notifications"
msgstr "Notifiche"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nessun risultato..."
@@ -2547,7 +2601,7 @@ msgstr "Impostazioni"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Impostazioni Utente"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Impostazioni di sistema"
@@ -2578,14 +2632,14 @@ msgstr "Impostazioni di sistema"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centro Amministratore"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Disconnettiti"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Stock"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fabbricazione"
@@ -2636,21 +2690,21 @@ msgstr "Fabbricazione"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Acquisto"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Vendite"
@@ -2705,7 +2759,7 @@ msgstr "Rimuovi gruppo di ricerca"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Fornitori"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Produttori"
@@ -2768,21 +2822,21 @@ msgstr "Nessun risultato disponibile per la ricerca"
msgid "Attachments"
msgstr "Allegati"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Note"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plugin Fornito"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Comprimi pannelli"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Espandi pannelli"
@@ -2809,19 +2863,19 @@ msgstr "Informazioni Plugin"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autore"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Data"
@@ -2845,48 +2899,54 @@ msgstr "Data"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Attivo"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Sito Web"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nome Pacchetto"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Percorso d'installazione"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Integrato"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Pacchetto"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Impostazioni Plugin"
@@ -2969,65 +3029,65 @@ msgstr "Modello sconosciuto: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Spedizione"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inattivo"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuale"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Nessuno stock"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "In ordine"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "In Produzione"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Dettagli"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Categoria"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Posizione"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Numero Seriale"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Quantità"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lotto"
@@ -3193,45 +3251,53 @@ msgstr "Aggiungi Stato Personalizzato"
msgid "Create a new custom state for your workflow"
msgstr "Crea un nuovo stato personalizzato per il tuo flusso di lavoro"
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Vuoi procedere alla modifica di questa impostazione?"
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Questa impostazione richiede conferma"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Modifica Impostazione"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Impostazione {key} aggiornata correttamente"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Impostazione aggiornata"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Impostazione {0} aggiornata correttamente"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Errore nella modifica dell'impostazione"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Errore nel caricamento delle impostazioni"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Nessuna impostazione"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Non ci sono impostazioni configurabili disponibili"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Nessuna impostazione specificata"
@@ -3608,19 +3674,19 @@ msgstr "Già importato"
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Fornitore"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Caricamento..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr "Successivo"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Modifica Articolo"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr "Requisiti di vendita"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "In giacenza"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Quantità richiesta"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Nuovo articolo fornitore"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Articolo fornitore creato"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Si prega di correggere gli errori negli articoli selezionati"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Ordine Articoli"
@@ -4038,77 +4104,89 @@ msgstr "Ordine Articoli"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Vai alla bacheca InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visita la documentazione per saperne di più su InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Informazioni su InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informazioni sul Server"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Informazioni su questa istanza di Inventree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informazioni sulla licenza"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenze per dipendenze del servizio"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Apri navigazione"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Apri il menu di navigazione principale"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Scansiona un codice a barre o un codice QR"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr "Vai alle impostazioni utente"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr "Vai agli ordini di acquisto"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr "Vai agli ordini di vendita"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr "Vai agli Ordini di Reso"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Scansiona un codice a barre o un codice QR"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr "Vai agli ordini di produzione"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr "Vai alle impostazioni di sistema"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Vai al centro di amministrazione"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Gestisci plugin InvenTree"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "A proposito del progetto InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Articolo Sostituivo"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Modifica Sostitutivi della Distinta Base"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Aggiungi Sostitutivo"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Sostitutivo aggiunto"
@@ -4374,53 +4452,53 @@ msgstr "Sostitutivo aggiunto"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Output produzione"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr "Quantità da completare"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Stato"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Completa gli output di produzione"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Gli ordini di produzione sono stati completati"
@@ -4428,143 +4506,133 @@ msgstr "Gli ordini di produzione sono stati completati"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr "Quantità da scartare"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Rimuovi gli output di produzione"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Gli ordini di produzione selezionati saranno completati, ma contrassegnati come scartati"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Gli articoli di magazzino assegnati verranno consumati"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Gli output di produzione sono stati rimossi"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Gli output di produzione sono stati rimossi"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancella gli output di produzione"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Gli ordini di produzione verranno eliminati"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Gli articoli di magazzino assegnati saranno restituiti alle scorte"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Gli output di produzione sono stati cancellati"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Allocato"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Posizione sorgente"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Selezionare la posizione di origine per l'assegnazione dello stock"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Assegna Scorte"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Articoli di stock assegnati"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Consuma Scorte"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr "Articoli di magazzino programmati per il consumo"
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Consuma Scorte"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Completamente consumato"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Utilizzato"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr "Seleziona il codice progetto per questa voce di riga"
@@ -4572,16 +4640,16 @@ msgstr "Seleziona il codice progetto per questa voce di riga"
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Sottoscritto"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Sottoscrivi le notifiche per questo articolo"
@@ -4593,11 +4661,11 @@ msgstr "Sottoscrivi le notifiche per questo articolo"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Categoria articolo principale"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Sottoscrivi notifiche per questa categoria"
@@ -4605,67 +4673,71 @@ msgstr "Sottoscrivi notifiche per questa categoria"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Assegna codice lotto e numeri di serie"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Assegna Codice Lotto"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Scegliere la posizione"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destinazione oggetto selezionata"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Posizione predefinita della categoria parte selezionata"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Posizione stock ricevuto selezionata"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Posizione predefinita selezionata"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Imposta Posizione"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Assegna Codice Lotto"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Impostare una Data di Scadenza"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Regola Imballaggio"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Regola Imballaggio"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Modifica Stato"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Aggiungi Nota"
@@ -4673,56 +4745,56 @@ msgstr "Aggiungi Nota"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Memorizza nella posizione predefinita"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Salva alla destinazione dell'articolo"
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Memorizza con stock già ricevuto"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Codice Lotto"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Inserisci il codice lotto per gli articoli ricevuti"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Numeri di serie"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Inserisci i numeri di serie per gli elementi ricevuti"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Data di scadenza"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Inserisci una data di scadenza per gli articoli ricevuti"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Inserisci una data di scadenza per gli articoli ricevuti"
msgid "Packaging"
msgstr "Imballaggio"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Nota"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Ricevuto"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Ricevi Elementi Riga"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Articoli ricevuti"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Ricevi elementi"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Oggetto ricevuto in magazzino"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr "Controlla spedizione"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr "Marcatura della spedizione come controllato indica che hai verificato che tutti gli articoli inclusi in questa spedizione sono corretti"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr "Spedizione contrassegnata come controllata"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr "Deseleziona Spedizione"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr "Contrassegnare la spedizione come non controllata indica che la spedizione richiede ulteriori verifiche"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr "Spedizione contrassegnata come non controllata"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Completa Spedizione"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr "Lascia vuoto per utilizzare l'indirizzo dell'ordine"
@@ -4806,193 +4896,202 @@ msgstr "Lascia vuoto per utilizzare l'indirizzo dell'ordine"
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Aggiungere la quantità data come pacchi invece di singoli articoli"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Inserisci quantità iniziale per questo articolo in giacenza"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Stato giacenza"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Aggiungi Elemento Magazzino"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Selezionare l'articolo da installare"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Conferma trasferimento"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Sposta nella posizione predefinita"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Sposta"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Reso"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Conta"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Aggiungi Giacenza"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Scorte aggiunte"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Aumenta la quantità degli articoli di magazzino selezionati di una data quantità."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Rimuovi giacenza"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Scorte rimosse"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Diminuisce la quantità degli articoli di magazzino selezionati di una data quantità."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Trasferisci giacenza"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Scorte trasferite"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Trasferisci gli elementi selezionati nella posizione specificata."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Restituisci Elemento a Magazzino"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Reso a magazzino effettuato"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Restituisce gli articoli selezionati in magazzino, nella posizione specificata."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Conteggio Giacenze"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Scorte contate"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Contare gli articoli di magazzino selezionati e regolare la quantità di conseguenza."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Modifica stato giacenze"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Stato delle scorte cambiato"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Cambia lo stato degli articoli a magazzino selezionati."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Unisci giacenze"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Scorte unite"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Unisci gli articoli di magazzino"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "L'operazione di unione non è reversibile"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Le informazioni di tracciamento potrebbero essere perse durante l'unione degli articoli"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "Le informazioni sul fornitore potrebbero essere perse durante l'unione degli articoli"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Assegnare la scorta al cliente"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Scorte assegnate al cliente"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Cancella Elemento di Magazzino"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Scorte cancellate"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Questa operazione eliminerà definitivamente gli articoli a magazzino selezionati."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Posizione giacenza principale"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Trova Numero Di Serie"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Nessun articolo corrispondente trovato"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Più elementi corrispondenti trovati"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Risposta non valida dal server"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Elenco delle voci tra cui scegliere"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Errore interno del server"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Già connesso"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "C'è una sessione in conflitto sul server per questo browser. Si prega di disconnettersi prima dalla precedente sessione."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Disconnesso"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr "Nessuna risposta dal server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+msgstr "C'è stata una sessione in conflitto per questo browser, che è stato disconnesso."
#: 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 "No response from server."
+msgstr "Nessuna risposta dal server."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "Login MFA riuscito"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "I dettagli MFA sono stati forniti automaticamente nel browser"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Disconnesso"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Disconnesso con Successo"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Lingua cambiata"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "La tua lingua attiva è stata cambiata in quella impostata nel tuo profilo"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Tema cambiato"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Il tuo tema attivo è stato cambiato con quello impostato nel tuo profilo"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Controlla la tua casella di posta per un link di reset. Funziona solo se hai un account. Controlla anche lo spam."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Ripristino fallito"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Già connesso"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "C'è una sessione in conflitto sul server per questo browser. Si prega di disconnettersi prima dalla precedente sessione."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Accesso effettuato"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Accesso effettuato con successo"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Impossibile impostare l'MFA"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "Impostazione MFA riuscita"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr "MFA tramite TOTP è stato impostato con successo; sarà necessario effettuare nuovamente il login."
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Password impostata"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "La password è stata impostata con successo. Ora puoi accedere con la tua nuova password"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "La password non può essere cambiata"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Le due password inserite non corrispondono"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Password cambiata"
@@ -5210,23 +5320,14 @@ msgstr "La richiesta è scaduta"
msgid "Exporting Data"
msgstr "Esportazione dati"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Esporta Dati"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Esporta"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Processo fallito"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Operazione completata con successo"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Articolo Creato"
@@ -5255,52 +5356,56 @@ msgstr "Sei sicuro di voler eliminare questo articolo?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Conta gli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Aggiungi agli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Rimuovi dagli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Trasferisci gli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Unisci gli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Cambia lo stato degli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Assegna Giacenza"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Assegna gli articoli a magazzino selezionati a un cliente"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Restituisci gli articoli selezionati nel magazzino"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Elimina articolo a magazzino"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Elimina gli articoli a magazzino selezionati"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Azioni magazzino"
@@ -5357,15 +5462,15 @@ msgstr "Nessuna selezione"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Accedi"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Accesso in corso"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Non hai un account?"
@@ -5383,12 +5488,12 @@ msgstr "Non hai un account?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Autenticazione a più fattori"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "Codice TOTP"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Posizione"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Tipo"
@@ -5933,220 +6038,220 @@ msgstr "Modifica Profilo"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr "Riautenticazione Riuscita"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr "Sei stato riautenticato con successo."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr "Errore durante la riautenticazione"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr "Ri-autenticazione non riuscita"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr "Ri-autenticazione fallita"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr "Riautenticazione"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr "La ri-autenticazione è necessaria per continuare."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Inserisci la tua password"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr "Inserisci uno dei codici TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr "Credenziale WebAuthn Rimossa"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr "Credenziale WebAuthn rimossa con successo."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr "Errore nella rimozione della credenziale WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr "Rimuovi Credenziale WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr "Conferma Rimozione"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr "Conferma la rimozione delle credenziali webauth"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr "TOTP Rimosso"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr "Token TOTP rimosso con successo."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr "Errore nel rimuovere il token TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr "Rimuovi Token TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr "Conferma la rimozione del codice TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr "TOTP Già Registrato"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr "Un token TOTP è già registrato per questo account."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr "Errore Nel Recupero Della Registrazione TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr "Si è verificato un errore imprevisto durante il recupero dei dati di registrazione TOTP."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr "TOTP Registrato"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr "Token TOTP registrato con successo."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Errore registrazione token TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Registra Token TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr "Errore nel recupero dei codici di recupero"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Codici di recupero"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr "È disponibile per l'uso il seguente codice di recupero monouso"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr "Copia i codici di recupero negli appunti"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr "Nessun Codice Inutilizzato"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr "Non ci sono codici di recupero disponibili"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr "WebAuthn Registrato"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr "Credenziali WebAuthn registrate con successo"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr "Errore nella registrazione delle credenziali WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr "Registrazione WebAuthn Fallita"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr "Registrazione delle credenziali di WebAuthn non riuscita"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr "Errore nel recupero della registrazione WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Password monouso basata sul tempo"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Codici di recupero monouso pre-generati"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr "Autenticazione Web (WebAuthn) è uno standard web per l'autenticazione sicura"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Ultimo utilizzo"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Creato il"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Non Configurato"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Nessun token multi-fattore configurato per questo account"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr "Registra Metodo Di Autenticazione"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr "Nessun Metodi MFA Disponibili"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr "Non ci sono metodi MFA disponibili per la configurazione"
@@ -6162,47 +6267,47 @@ msgstr "Password monouso"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Inserisci il codice TOTP per assicurarti che sia registrato correttamente"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Indirizzo email"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Indirizzo email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Accesso singolo"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Non abilitato"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "L'accesso singolo non è abilitato per questo server "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Non abilitato"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "L'accesso singolo non è abilitato per questo server "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Token Di Accesso"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Informazioni sulla sessione"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Informazioni sulla sessione"
msgid "Timestamp"
msgstr "Marca temporale"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Metodo"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Errore durante l'aggiornamento dell'email"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Attualmente nessun indirizzo email è registrato."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "I seguenti indirizzi email sono associati con il tuo account:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Principale"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verificato"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Non verificato"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Rendi principale"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Invia nuovamente il Codice di Verifica"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Aggiungi indirizzo email"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Indirizzo e-mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Errore durante l'aggiunta della email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Aggiungi indirizzo email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Indirizzo e-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Errore durante l'aggiunta della email"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Aggiungi Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Errore durante l'aggiunta della email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Aggiungi Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Non ci sono provider connessi a questo account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Puoi accedere al tuo account utilizzando uno dei seguenti provider"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Rimuovi Collegamento Provider"
@@ -6420,7 +6526,7 @@ msgstr "Punti"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuta"
@@ -6462,7 +6568,7 @@ msgstr "Messaggi email"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "Stato del sistema"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
@@ -6685,30 +6791,34 @@ msgstr "Allega al modello"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Processo in background non in esecuzione"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Il servizio di gestione attività in background non è in esecuzione. Contatta l'amministratore di sistema."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Processo in background non in esecuzione"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Il servizio di gestione attività in background non è in esecuzione. Contatta l'amministratore di sistema."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Attività in sospeso"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Operazioni pianificate"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Attività Fallite"
@@ -6805,6 +6915,16 @@ msgstr "Prezzi"
msgid "Labels"
msgstr "Etichette"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Monitoraggio delle scorte"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "L'articolo assemblato non può avere una Distinta base (BOM) definita, o
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisione"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revisione"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisione"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revisione"
msgid "Custom Status"
msgstr "Stato Cliente"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Esterna"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Riferimento"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Produzione Genitore"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Quantità Produzione"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Puoi produrre"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Output Completati"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Emesso da"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsabile"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Qualsiasi posizione"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Posizione Di Destinazione"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Creato"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Data inizio"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Data obiettivo"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Posizione Di Destinazione"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Creato"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Data inizio"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Data obiettivo"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Completato"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Dettagli della Produzione"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Articoli richiesti"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Scorte Assegnate"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Scorte Consumate"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Output Incompleti"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Ordini Esterni"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Ordine di Produzione Subordinato"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Risultati Test"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Modifica Ordine di produzione"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Nuovo Ordine di Produzione"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Annulla Ordine Di Produzione"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Ordine annullato"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Annulla quest'ordine"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Sospendi Ordine di produzione"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Metti questo ordine in sospeso"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Ordine in sospeso"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Emetti ordine di produzione"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Emetti questo ordine di produzione"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Ordine emesso"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Completa l'Ordine di Produzione"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Contrassegna questo ordine come completato"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Ordine completato"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Emetti Ordine"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Completa l'ordine"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Azioni Ordine di Produzione"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Modifica ordine"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplica Ordine"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Sospendi ordine"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Annulla ordine"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Ordine di Produzione"
@@ -7207,7 +7327,7 @@ msgstr "Ordine di Produzione"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Mostra ordini di produzione esterni"
@@ -7219,12 +7339,13 @@ msgstr "Mostra ordini di produzione esterni"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Vista Tabella"
@@ -7238,19 +7359,16 @@ msgstr "Visualizzazione calendario"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Sito Web"
+msgstr "Vista Parametrica"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7271,11 +7389,11 @@ msgstr "Valuta predefinita"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Produttore"
@@ -7284,15 +7402,15 @@ msgstr "Produttore"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Cliente"
@@ -7320,16 +7438,16 @@ msgstr "Articoli Prodotti"
msgid "Assigned Stock"
msgstr "Elementi in Giacenza Assegnati"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Modifica azienda"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Elimina Azienda"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Azioni Azienda"
@@ -7349,7 +7467,7 @@ msgstr "Collegamento esterno"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Dettagli Articolo"
@@ -7363,28 +7481,28 @@ msgstr "Dettagli Articolo Produttore"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Articolo Magazzino Ricevuto"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Modifica Articolo Produttore"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Aggiungi Articolo Produttore"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Elimina Articolo Produttore"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Azioni Articolo Produttore"
@@ -7401,7 +7519,7 @@ msgstr "Descrizione Articolo"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Quantità Confezione"
@@ -7427,28 +7545,28 @@ msgstr "Dettagli Articolo Fornitore"
msgid "Supplier Pricing"
msgstr "Prezzo Fornitore"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Azioni Articolo Fornitore"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Modifica Articolo Fornitore"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Cancella Articolo Fornitore"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Aggiungi articolo fornitore"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Nessuna giacenza"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Ruoli gruppo"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Informazioni utente"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Utente di base"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Sottocategorie"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Sposta articoli nella categoria superiore"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Elimina articoli"
@@ -7577,60 +7695,64 @@ msgstr "Dettagli categoria"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Assegnazione ordine di produzione"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Assegnazione Ordini Di Vendita"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Valida Distinta Base"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Vuoi convalidare la distinta base per questo assemblaggio?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr "Distinta componenti programmata per la convalida"
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Distinta base validata"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "La distinta base per questo articolo è stata validata"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "Distinta base non validata"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "La distinta base per questo articolo è stata precedentemente verificata, ma richiede la riconvalida"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "La distinta base per questo articolo non è stata ancora validata"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validata il"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validata da"
@@ -7650,246 +7772,246 @@ msgstr "Validata da"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante di"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revisione di"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Posizione Predefinita"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Posizione Predefinita Della Categoria"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unità"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Posizione Predefinita Della Categoria"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unità"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Parole Chiave"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Giacenza Disponibile"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "In ordine"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Richiesto per gli ordini"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Assegnato agli Ordini di Produzione"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Assegnato agli Ordini di Vendita"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Scorta Minima"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Scorta Minima"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Bloccato"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Modello articolo"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Articolo assemblato"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Articolo Componente"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Articolo Testabile"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Articolo tracciabile"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Articolo Acquistabile"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Articolo Vendibile"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Articolo Virtuale"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Data di creazione"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Creato Da"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Fornitore predefinito"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "giorni"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Fascia di Prezzo"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Ultimo Numero Di Serie"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Seleziona Revisione Articolo"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianti"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Allocazioni"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Distinta base"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Utilizzato In"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Prezzo Articolo"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Modelli test"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Articoli correlati"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "L'articolo è bloccato"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "I parametri dell'articolo non possono essere modificati, poiché l'articolo è bloccata"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "L'articolo è bloccato"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "I parametri dell'articolo non possono essere modificati, poiché l'articolo è bloccata"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Richiesto"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
+msgstr "Deficit"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Aggiungi articolo"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Elimina Articolo"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "L'eliminazione di questo articolo non è reversibile"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Ordine"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Ordine Stock"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Cerca per numero di serie"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Azioni articolo"
@@ -7968,35 +8090,46 @@ msgstr "Storico vendite"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Modifica Voce Inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Elimina Voce Inventario"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Valore Magazzino"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Valore minimo"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Valore massimo"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Valore massimo"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Prezzo Totale"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Componente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Prezzo Minimo"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Prezzo Massimo"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Prezzo Unitario"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Diagramma a torta"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Diagramma a barre"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Prezzo d'acquisto"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Modifica ordine d'acquisto"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Aggiungi ordine d'acquisto"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Elementi Riga completati"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destinazione"
@@ -8275,60 +8411,60 @@ msgstr "Data di emissione"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Data di completamento"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Dettagli dell'ordine"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Riga Articoli"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Voci di riga extra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Emettere ordine d'acquisto"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Annulla ordine d'acquisto"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Sospendi ordine d'acquisto"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Completa Ordine D'Acquisto"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Azioni Ordine"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Riferimento cliente"
@@ -8338,7 +8474,7 @@ msgstr "Indirizzo di reso"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr "Non specificato"
@@ -8346,29 +8482,29 @@ msgstr "Non specificato"
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Modifica Ordine Di Reso"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Aggiungi Ordine Di Reso"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Emetti Ordine di Reso"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Annulla Ordine di Reso"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Sospendi ordine di reso"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Completa ordine di reso"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Spedizioni Completate"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr "Indirizzo di spedizione"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Modifica Ordini di Vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Aggiungi ordini di vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Spedizioni"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Emetti ordini di vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Annulla Ordini di Vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Sospendi ordini di vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Spedizione ordini di vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Spedire questo ordine?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Ordine spedito"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Completa Ordini Di Vendita"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Spedisci l'ordine"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Riferimento della spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Numero di monitoraggio"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Numero Fattura"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Elementi Assegnati"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Verificato Da"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr "Non controllato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Data di spedizione"
@@ -8464,173 +8600,167 @@ msgstr "Data di spedizione"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Data di consegna"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Dettagli spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Modifica spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Annulla spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Completa Spedizione"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "In sospeso"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr "Controllato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr "Non controllato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Spedito"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Consegnato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Invia Spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Azioni Di Spedizione"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr "Controlla"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr "Segna spedizione come controllata"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr "Deseleziona"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr "Segna spedizione come non controllata"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Posizione principale"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sottoallocazioni"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Tipo di posizione"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Posizione delle scorte di primo livello"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Dettagli posizione"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Articoli predefiniti"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Modifica la posizione delle scorte"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Sposta articoli nella categoria superiore"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Elimina Posizione di Giacenza"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Azione Articoli"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Scansiona gli elementi in magazzino in questa ubicazione"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Modifica la posizione delle scorte"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Sposta articoli nella categoria superiore"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Elimina Posizione di Giacenza"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Azione Articoli"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Scansiona gli elementi in magazzino in questa ubicazione"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr "Azioni posizioni"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Azione per le posizioni figlie in questa posizione"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Scansione articolo magazzino"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Articolo di magazzino scansionato nella posizione"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Errore nella scansione dell'articolo a magazzino"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Scansiona Ubicazione magazzino"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Posizione magazzino scansionata nella posizione"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Errore nella scansione della posizione a magazzino"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Azioni posizione"
@@ -8703,10 +8833,6 @@ msgstr "Ultimo Inventario"
msgid "Stock Details"
msgstr "Dettagli stock"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Monitoraggio delle scorte"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Articoli installati"
msgid "Child Items"
msgstr "Articoli secondari"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Modifica elementi magazzino"
@@ -8738,15 +8864,15 @@ msgstr "Modifica elementi magazzino"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Articolo Creato"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Creato {n} articoli a magazzino"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Elimina Elemento di Magazzino"
@@ -8758,7 +8884,7 @@ msgstr "Elimina Elemento di Magazzino"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serializza Elementi di Magazzino"
@@ -8766,24 +8892,23 @@ msgstr "Serializza Elementi di Magazzino"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Elemento di magazzino serializzato"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Scansiona nella posizione"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Scansiona nella posizione"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Scansiona questo articolo nella posizione"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Operazioni Scorte"
@@ -8791,12 +8916,12 @@ msgstr "Operazioni Scorte"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serializza"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serializza magazzino"
@@ -8804,7 +8929,7 @@ msgstr "Serializza magazzino"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Azioni per le voci di magazzino"
@@ -8820,17 +8945,17 @@ msgstr "Azioni per le voci di magazzino"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Obsoleto"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Scaduto"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Non disponibile"
@@ -8855,6 +8980,72 @@ msgstr "Sei iscritto alle notifiche per questo articolo"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Questo elemento del magazzino è in produzione"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "L'articolo a magazzino è stato assegnato a un ordine di vendita"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "L'articolo a magazzino è stato assegnato a un cliente"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Questo articolo in magazzino è installato in un altro articolo in magazzino"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Questo articolo è stato consumato da un ordine di produzione"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Elemento di magazzino non disponibile"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Questo articolo a magazzino è scaduto"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Questo articolo a magazzino è obsoleto"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Questo articolo di magazzino è completamente allocato"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Questo articolo di magazzino è parzialmente allocato"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nessuna Scorta Disponibile"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Questo articolo di magazzino è esaurito"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Informazioni sulle scorte"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Elementi Assegnati"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Seleziona Colonne"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Ha codice lotto"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Mostra gli articoli che hanno un codice lotto"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtra gli articoli per codice lotto"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Mostra gli articoli che sono a magazzino"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "È Serializzato"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Mostra gli articoli che hanno un numero di serie"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Ha codice lotto"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Mostra gli articoli che hanno un codice lotto"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtra gli articoli per codice lotto"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Mostra gli articoli che sono a magazzino"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "È Serializzato"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Mostra gli articoli che hanno un numero di serie"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Seriale"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Filtra gli articoli per numero di serie"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Seriale Sotto"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Mostra gli articoli con numeri di serie inferiori o uguali a un determinato valore"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Seriale Sopra"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Mostra gli articoli con numeri di serie maggiori o uguali a un dato valore"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Assegnato a me"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Mostra gli ordini assegnati a me"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Eccezionale"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Mostra elementi inevasi"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Mostra elementi in ritardo"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Data minima"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Mostra gli elementi dopo questa data"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Data massima"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Mostra gli elementi dopo questa data"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Creato prima"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Mostra gli articoli creati prima di questa data"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Creato dopo"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Mostra gli articoli creati dopo questa data"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Data di inizio Prima"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Mostra gli articoli con una data d'inizio prima di questa data"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Data d'inizio dopo"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Mostra gli articoli con una data d'inizio dopo questa data"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Data obiettivo prima"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Mostra elementi con una data di destinazione prima di questa data"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Data obiettivo dopo"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Mostra elementi con una data di destinazione dopo di questa data"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Completato prima di"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Mostra gli elementi completati prima di questa data"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Completato dopo"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Mostra gli elementi completati dopo questa data"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Aggiornato dopo"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Aggiornato prima"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Ha il codice progetto"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Mostra gli ordini con un codice del progetto assegnato"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Includi Varianti"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Includi i risultati per le varianti dell'articolo"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtra per stato ordine"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtra per codice progetto"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtra per proprietario responsabile"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtra per utente"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Filtra per produttore"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Filtra per fornitore"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filtra per utente che ha creato l'ordine"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Filtra per utente che ha creato l'ordine"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Filtra per categoria articolo"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Filtra per posizione magazzino"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Rimuovi filtro"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Seleziona valore filtro"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Inserisci valore filtro"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Seleziona valore data"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Seleziona filtro"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtro"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtri tabella"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Aggiungi filtro"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Rimuovi filtri"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nessun record trovato"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Errore nel caricare le opzioni della tabella"
@@ -9156,10 +9366,6 @@ msgstr "Errore nel caricare le opzioni della tabella"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Il server ha restituito un tipo di dati errato"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Il server ha restituito un tipo di dati errato"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Il server ha restituito un tipo di dati errato"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Errore nel caricare i dati della tabella"
@@ -9190,57 +9400,57 @@ msgstr "Errore nel caricare i dati della tabella"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Mostra dettagli"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr "Visualizza {model}"
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Mostra dettagli"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Visualizza {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Elimina elementi selezionati"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Sei sicuro di voler eliminare gli elementi selezionati?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Questa azione non può essere annullata"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Elementi eliminati"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Eliminazione degli elementi non riuscita"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "I filtri tabella personalizzati sono attivi"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Cancella record selezionati"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Ricarica dati"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Filtri attivi"
@@ -9252,71 +9462,71 @@ msgstr "Filtri attivi"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Questo elemento BOM è definito per un genitore diverso"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informazioni Articolo"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Questo articolo della distinta base non è stato validato"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Sostituti"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Articolo Virtuale"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Articolo Virtuale"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Scorte esterne"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Comprende le scorte sostitutive"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Comprende varianti scorte"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "In produzione"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "In produzione"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Informazioni sulle scorte"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Articolo consumabile"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Scorte non disponibili"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Mostra elementi testabili"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Mostra articoli tracciabili"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Articolo Attivo"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Mostra articoli assemblati"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Mostra articoli virtuali"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Mostra articoli con stock disponibile"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Mostra gli articoli in ordine"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validato"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Mostra articoli validati"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Ereditato"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Visualizza articoli ereditati"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Consenti Varianti"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Mostra articoli che consentono la sostituzione della variante"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opzionale"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Mostra articoli opzionali"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consumabile"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Mostra articoli consumabili"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Ha Prezzi"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Mostra articoli con prezzi"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Importa Dati BOM"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Aggiungi Articolo BOM"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Articolo BOM creato"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Modifica Articolo BOM"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Articolo BOM aggiornato"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Elimina articolo BOM"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Articolo BOM eliminato"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Articolo BOM validato"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Convalida dell'articolo BOM non riuscita"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Visualizza Distinta Base"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Valida Linea BOM"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Modifica Sostituti"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr "Aggiungi Articoli BOM"
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr "Aggiungi un singolo articolo BOM"
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Importa da File"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr "Importa Articoli BOM da File"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "La distinta base non può essere modificata, in quanto la parte è bloccata"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Assemblaggio"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Mostra assemblaggi attivi"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Tracciabile"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Mostra assemblaggi tracciabili"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Assegnato all'output"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Mostra gli articoli assegnati a un ordine di produzione"
@@ -9538,17 +9754,17 @@ msgstr "Mostra gli articoli assegnati a un ordine di produzione"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Stato dell'ordine"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Modifica Assegnazione Magazzino"
@@ -9561,8 +9777,8 @@ msgstr "Modifica Assegnazione Magazzino"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr "Rimuovi Scorte Assegnate"
@@ -9572,18 +9788,28 @@ msgstr "Rimuovi Scorte Assegnate"
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr "Sei sicuro di voler rimuovere questo stock assegnato dall'ordine?"
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Consuma"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr "Rimuovi Scorte Assegnate"
@@ -9591,141 +9817,151 @@ msgstr "Rimuovi Scorte Assegnate"
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Vedi Elemento di Magazzino"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Mostra le linee completamente assegnate"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Mostra le linee completamente consumate"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Mostra le linee completamente consumate"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr "Mostra elementi con sufficiente stock disponibile"
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Mostra linee consumabili"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Mostra linee opzionali"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testabile"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Tracciato"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Mostra linee tracciate"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr "Mostra gli articoli con stock in ordine"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "In produzione"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Scorte insufficienti"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Nessuna Scorta Disponibile"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Viene Ereditato"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Quantità Unità"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Imposta quantità"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Logoramento"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Arrotondamento Multiplo"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "Informazioni distinta base (BOM)"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Completamente assegnato"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Crea Ordine di Produzione"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Assegnazione automatica in corso"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Assegna Stock Automaticamente"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Assegna automaticamente lo stock a questa produzione in base alle opzioni selezionate"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Disassegna Stock"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Disassegna tutto lo stock non tracciato per questo ordine di produzione"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Disassegna stock dalla riga selezionata"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Lo stock è stato disassegnato"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Crea scorta"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Mostra Articolo"
@@ -9756,31 +9992,31 @@ msgstr "Mostra Articolo"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Ha Data obiettivo"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Mostra gli ordini con una data obiettivo"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Ha data d'inizio"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Mostra ordini con data d'inizio"
@@ -9788,7 +10024,7 @@ msgstr "Mostra ordini con data d'inizio"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Assegnazione stock output di produzione"
@@ -9796,103 +10032,107 @@ msgstr "Assegnazione stock output di produzione"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Nuova Produzione"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Ordine di produzione creato"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Nuova Produzione"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Ordine di produzione creato"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Modifica Output di Produzione"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Questa azione disallocherà tutto lo stock dall'output di produzione selezionato"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Serializza ordine di produzione"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtra per stato delle scorte"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Completa la produzione selezionata"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Scarta gli output selezionati"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Annulla gli output selezionati"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Assegna"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Assegna gli elementi di magazzino a questo output di produzione"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Scarta gli output selezionati"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Annulla gli output selezionati"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Assegna"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Assegna gli elementi di magazzino a questo output di produzione"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Dealloca"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Non assegnare stock all'output di produzione"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Serializza ordine di produzione"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Completa output di produzione"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Scarta"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Scarta gli ordini di produzione"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Cancella gli ordini di produzione"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Elementi Assegnati"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Test Richiesti"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Produzione Esterna"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Questo ordine di produzione viene evaso tramite un ordine di acquisto esterno"
@@ -9917,28 +10157,28 @@ msgstr "Elimina indirizzo"
msgid "Are you sure you want to delete this address?"
msgstr "Sei sicuro di voler eliminare questo indirizzo?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Aggiungi azienda"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Aggiungi azienda"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Mostra aziende attive"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Mostra le aziende che sono fornitori"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Mostra le aziende che sono produttori"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Mostra le aziende che sono clienti"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Visualizza Articolo"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Aggiungi linea articolo"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Modifica linea Articolo"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Cancella Linea Articolo"
@@ -10086,7 +10326,7 @@ msgstr "Aggiornato da"
#: src/tables/general/ParameterTable.tsx:118
msgid "Show parameters for enabled templates"
-msgstr ""
+msgstr "Mostra i parametri per i modelli abilitati"
#: src/tables/general/ParameterTable.tsx:124
msgid "Filter by user who last updated the parameter"
@@ -10094,17 +10334,17 @@ msgstr "Filtra per utente che per ultimo ha aggiornato il parametro"
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Importa parametri"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Aggiungi parametro"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Modifica parametro"
@@ -10115,19 +10355,19 @@ msgstr "Elimina Parametro"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Aggiungi parametri"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Crea Parametro"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Crea un nuovo parametro"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Importa parametri da file"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Mostra modelli con scelte"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Ha Unità"
@@ -10173,7 +10413,7 @@ msgstr "Mostra modelli con unità"
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "Mostra modelli abilitati"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10183,7 +10423,7 @@ msgstr "Tipo Modello"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "Filtra per tipo di modello"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notifiche"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Messaggio"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Giacenza Richiesta"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Vedi Ordine di Produzione"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Sei iscritto alle notifiche per questa categoria"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Includi sottocategorie"
@@ -10560,136 +10800,136 @@ msgstr "Mostra ordini in sospeso"
msgid "Show received items"
msgstr "Visualizza articoli ricevuti"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Vedi Ordine di Vendita"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Giacenza minima"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtra per stato attivo articolo"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtra per stato di blocco articolo"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtra per attributo assemblaggio"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Distinta base valida"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Filtra per articoli che hanno una distinta base validata"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Includi articoli nelle sotto categorie"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtra per attributo componente"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtra per attributo testabile"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtra per attributo tracciabile"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtra per articoli che hanno unità"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Ha IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtra per articoli che hanno un numero interno"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Ha Scorte"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtra per articoli che hanno scorte"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtra per articoli che hanno bassa scorta"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Acquistabile"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtra per articoli che sono acquistabili"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Vendibile"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtra per articoli che sono vendibili"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtra per articoli che sono virtuali"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Non Virtuale"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "È Modello"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtra per articoli che sono modelli"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "È una Variante"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Filtra per articoli che sono varianti"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "È una revisione"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtra per articoli che sono revisioni"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Ha revisioni"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtra per articoli che hanno revisioni"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtra per articoli che hanno informazioni sui prezzi"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtra per articoli che hanno scorte disponibili"
@@ -10701,58 +10941,58 @@ msgstr "Filtra per articoli che hanno scorte disponibili"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtra per articoli a cui l'utente è iscritto"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Importa Articoli"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Imposta Categoria"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Imposta categoria per gli articoli selezionati"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Ordina articoli selezionati"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Aggiungi Articoli"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Crea Articolo"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Crea nuovo articolo"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr "Importa Articoli da File"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr "Importa dal Fornitore"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr "Importa articoli da un plugin del fornitore"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Aggiungi risultato test"
@@ -10774,7 +11014,7 @@ msgstr "Risultato dei test aggiunti"
msgid "No Result"
msgstr "Nessun risultato"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Mostra gli ordini di produzione attualmente in produzione"
@@ -10859,7 +11099,15 @@ msgstr "Visualizza Articolo Genitore"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "I modelli dell'articolo non possono essere modificati, poiché l'articolo è bloccato"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Seleziona"
@@ -10913,7 +11161,7 @@ msgstr "Modifica Elenco selezione"
msgid "Delete Selection List"
msgstr "Elimina Elenco selezione"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Fase"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Obbligatorio"
@@ -10973,68 +11221,68 @@ msgstr "Descrizione non disponibile"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Conferma attivazione plugin"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Conferma disattivazione plugin"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Il plugin selezionato verrà attivato"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Il plugin selezionato verrà disattivato"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Il plugin selezionato verrà attivato"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Il plugin selezionato verrà disattivato"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Disattiva"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Attiva"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Attiva plugin selezionato"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Attiva"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Attiva plugin selezionato"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Aggiorna il plugin selezionato"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Disinstalla"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Disinstallare il plugin selezionato"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Elimina la configurazione del plugin selezionata"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Attiva Plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Il plugin è stato attivato"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Il plugin è stato disattivato"
@@ -11042,20 +11290,20 @@ msgstr "Il plugin è stato disattivato"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Installa Plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Installa"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin installato con successo"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Disinstalla plugin"
@@ -11063,23 +11311,23 @@ msgstr "Disinstalla plugin"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Conferma disinstallazione plugin"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Il plugin selezionato verrà disinstallato."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plugin disinstallato con successo"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Elimina Plugin"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "L'eliminazione di questa configurazione del plugin rimuoverà tutte le impostazioni e i dati associati. Sei sicuro di voler eliminare questo plugin?"
@@ -11087,11 +11335,11 @@ msgstr "L'eliminazione di questa configurazione del plugin rimuoverà tutte le i
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plugin ricaricati"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "I plugin sono stati ricaricati correttamente"
@@ -11103,7 +11351,7 @@ msgstr "I plugin sono stati ricaricati correttamente"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Ricarica i Plugin"
@@ -11115,7 +11363,7 @@ msgstr "Ricarica i Plugin"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Dettagli Plugin"
@@ -11127,12 +11375,12 @@ msgstr "Dettagli Plugin"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Esempio"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installato"
@@ -11152,30 +11400,24 @@ msgstr "Installato"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Articolo Attivo"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr "Mostra gli articoli del produttore per gli articoli interni attivi."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr "Produttore Attivo"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr "Mostra gli articoli del produttore per i produttori attivi"
@@ -11196,7 +11438,7 @@ msgstr "Mostra gli articoli del produttore per i produttori attivi"
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Importa Elementi Riga"
@@ -11204,15 +11446,15 @@ msgstr "Importa Elementi Riga"
msgid "Supplier Code"
msgstr "Codice Fornitore"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Link Fornitore"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Codice produttore"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Mostra gli elementi di riga che sono stati ricevuti"
@@ -11222,30 +11464,22 @@ msgstr "Mostra gli elementi di riga che sono stati ricevuti"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Ricevi voce di riga"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Ricevi articoli"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Unità di base"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Aggiungi fornitore articolo"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr "Seleziona l'articolo del fornitore"
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr "Seleziona l'articolo del fornitore"
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Aggiungi fornitore articolo"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Seleziona l'articolo del fornitore"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Mostra articoli fornitore attive"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Mostra articoli interni attivi"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Fornitore Attivo"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Mostra fornitori attivi"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Mostra articoli fornitore con stock"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Data di ricezione"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Mostra gli articoli ricevuti"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtra per stato elemento riga"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Ricevi gli elementi selezionati"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Ricevi Articolo"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Mostra allocazioni in sospeso"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Assegnato alla Spedizione"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Mostra le allocazioni assegnate a una spedizione"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Quantità Disponibile"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Quantità assegnata"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Nessuna spedizione"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Non spedito"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Modifica Assegnazione"
@@ -11333,16 +11579,16 @@ msgstr "Modifica Assegnazione"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Vedi spedizione"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Assegna alla spedizione"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Assegna alla spedizione"
@@ -11350,31 +11596,35 @@ msgstr "Assegna alla spedizione"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Assegna Numeri di Serie"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Assegna Numeri di Serie"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Mostra le righe che sono completamente assegnate"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Mostra le righe completate"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Alloca seriali"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Produzione articolo magazzino"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Ordine Articolo magazzino"
@@ -11386,78 +11636,82 @@ msgstr "Ordine Articolo magazzino"
msgid "Create Shipment"
msgstr "Crea spedizione"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Articoli"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Modifica spedizione"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Annulla spedizione"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Aggiungi Spedizione"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr "Mostra le spedizioni che sono state controllate"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Mostra le spedizioni che sono state spedite"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Mostra le spedizioni che sono state consegnate"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Genera token"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token generato"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Revocato"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "In Uso"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Ultimo accesso"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Scadenza"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Mostra token revocati"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Revoca"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Errore nel revocare il token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "I token sono mostrati solo una volta - assicurati di annotarli."
@@ -11990,24 +12244,24 @@ msgstr "Utente aggiornato correttamente"
msgid "Error updating user"
msgstr "Errore nell'aggiornare l'utente"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Installa Elemento"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Elemento installato"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Disinstalla Elemento"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Elemento disinstallato"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Disinstallare l'elemento di magazzino"
@@ -12028,207 +12282,159 @@ msgstr "Elimina tipo di posizione"
msgid "Icon"
msgstr "Icona"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Questo elemento del magazzino è in produzione"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Data dell'inventario"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "L'articolo a magazzino è stato assegnato a un ordine di vendita"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Mostra articoli a magazzino per gli articoli attivi"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "L'articolo a magazzino è stato assegnato a un cliente"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Mostra stock per gli articoli assemblati"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Questo articolo in magazzino è installato in un altro articolo in magazzino"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Mostra gli articoli che sono stati assegnati"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Questo articolo è stato consumato da un ordine di produzione"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Mostra gli articoli che sono disponibili"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Elemento di magazzino non disponibile"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Includi sotto allocazioni"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Questo articolo a magazzino è scaduto"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Includi articoli a magazzino nelle sotto allocazioni"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Questo articolo a magazzino è obsoleto"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Esaurito"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Questo articolo di magazzino è completamente allocato"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Mostra gli articoli a magazzino esauriti"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Questo articolo di magazzino è parzialmente allocato"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Mostra gli articoli che sono in produzione"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Questo articolo di magazzino è esaurito"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Mostra gli articoli che sono stati consumati da un ordine di produzione"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Mostra gli articoli a magazzino che sono installati in un altro articolo"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Inviato al cliente"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Mostra gli articoli che sono stati inviati a un cliente"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Mostra articoli tracciabili"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Ha prezzo d'acquisto"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Mostra gli articoli che hanno un prezzo d'acquisto"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Mostra gli articoli scaduti"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Mostra gli articoli obsoleti"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Scaduto Prima"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Mostra gli articoli scaduti prima di questa data"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Scaduto dopo"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Mostra gli articoli scaduti dopo questa data"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Mostra gli articoli aggiornati prima di questa data"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Mostra gli articoli aggiornati dopo questa data"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventario Prima"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Mostra gli articoli contati prima di questa data"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventario Dopo"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Mostra gli articoli contati dopo questa data"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Data dell'inventario"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Posizione Esterna"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Mostra articoli a magazzino per gli articoli attivi"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Mostra stock per gli articoli assemblati"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Mostra gli articoli che sono stati assegnati"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Mostra gli articoli che sono disponibili"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Includi sotto allocazioni"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Includi articoli a magazzino nelle sotto allocazioni"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Esaurito"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Mostra gli articoli a magazzino esauriti"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Mostra gli articoli che sono in produzione"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Mostra gli articoli in una posizione esterna"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Mostra gli articoli che sono stati consumati da un ordine di produzione"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Mostra gli articoli a magazzino che sono installati in un altro articolo"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Inviato al cliente"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Mostra gli articoli che sono stati inviati a un cliente"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Mostra articoli tracciabili"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Ha prezzo d'acquisto"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Mostra gli articoli che hanno un prezzo d'acquisto"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Mostra gli articoli scaduti"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Mostra gli articoli obsoleti"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Scaduto Prima"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Mostra gli articoli scaduti prima di questa data"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Scaduto dopo"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Mostra gli articoli scaduti dopo questa data"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Aggiornato prima"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Mostra gli articoli aggiornati prima di questa data"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Aggiornato dopo"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Mostra gli articoli aggiornati dopo questa data"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventario Prima"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Mostra gli articoli contati prima di questa data"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventario Dopo"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Mostra gli articoli contati dopo questa data"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Posizione Esterna"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Mostra gli articoli in una posizione esterna"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Ordina gli articoli"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Ordina gli articoli"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Finito"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Modifica risultato del test"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Risultato del test aggiornato"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Cancellare il risultato del test"
@@ -12327,27 +12533,27 @@ msgstr "Impossibile registrare il risultato del test"
msgid "Pass Test"
msgstr "Test Passato"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Mostra i risultati per i test richiesti"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Includi Elementi Installati"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Mostra risultati per gli articoli a magazzino"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Superato"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Mostra solo i test superati"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Mostra i risultati per i test abilitati"
@@ -12392,15 +12598,23 @@ msgstr "Imposta posizione principale"
msgid "Set parent location for the selected items"
msgstr "Imposta la posizione superiore per gli elementi selezionati"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Aggiunto"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Rimosso"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Nessuna informazione utente"
diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po
index 2c001fafa7..5981d57bc6 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -35,7 +35,7 @@ msgstr "編集"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "削除"
@@ -44,36 +44,36 @@ msgstr "削除"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "キャンセル"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "アクション"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "検索"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "失敗"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "はい"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "いいえ"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "パーツ"
@@ -134,7 +138,7 @@ msgstr "パーツ"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "パーツ"
@@ -149,14 +153,14 @@ msgstr "パーツ"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "パラメータ"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "パラメータ"
@@ -168,7 +172,7 @@ msgstr "パラメータテンプレート"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "パラメータテンプレート"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "部品試験テンプレート"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "サプライヤー"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "サプライヤー・パーツ"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "メーカー・パーツ"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "パーツカテゴリ"
@@ -218,19 +222,22 @@ msgstr "パーツカテゴリ"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "パーツカテゴリ"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "在庫商品"
@@ -238,22 +245,22 @@ msgstr "在庫商品"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "在庫商品"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "在庫場所"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "在庫場所"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "ストックロケーションの種類"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "株式履歴"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "ビルドアイテム"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "会社"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "プロジェクトコード"
@@ -330,21 +337,21 @@ msgstr "プロジェクトコード"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "注文"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "購入注文"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "発注ライン"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "セールスオーダー"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "セールスオーダー"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "販売注文の出荷"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "販売注文の出荷"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "リターンオーダー"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "返品注文"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "住所"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "マイアカウント"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "お問い合わせ"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "連絡先"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "所有者"
@@ -451,15 +458,15 @@ msgstr "所有者"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "ユーザー"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "レポートテンプレート"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "プラグインの設定"
@@ -543,31 +550,31 @@ msgstr "セレクション・リスト"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "管理者"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "組立注文"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "プロセス失敗"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "プロセスは正常に完了しました。"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "エラー:コンポーネント描画"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "このコンポーネントの描画中にエラーが発生しました。詳細はコンソールを参照してください。"
@@ -637,7 +648,7 @@ msgstr "バーコード"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "スキャン"
@@ -668,8 +679,8 @@ msgstr "バーコードデータの入力"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "バーコードをスキャン"
@@ -679,7 +690,7 @@ msgstr "一致するアイテムは見つかりませんでした"
#: src/components/barcodes/BarcodeScanDialog.tsx:150
msgid "Barcode does not match the expected model type"
-msgstr ""
+msgstr "バーコードが想定されるモデルタイプと一致しません"
#: src/components/barcodes/BarcodeScanDialog.tsx:161
#: src/components/editors/NotesEditor.tsx:84
@@ -688,14 +699,14 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "成功"
#: src/components/barcodes/BarcodeScanDialog.tsx:167
msgid "Failed to handle barcode"
-msgstr ""
+msgstr "バーコードの処理に失敗しました"
#: src/components/barcodes/BarcodeScanDialog.tsx:183
#: src/pages/Index/Scan.tsx:129
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "バーコードのリンクに失敗"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "リンク"
@@ -754,7 +765,7 @@ msgstr "これにより、関連するバーコードへのリンクが削除さ
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "リンク解除バーコード"
@@ -766,11 +777,11 @@ msgstr "管理画面で開く"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "コピーしました"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "コピー"
@@ -798,19 +809,15 @@ msgstr "レポート印刷中"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "ラベルの印刷"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "印刷"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "印刷"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "印刷レポート"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "印刷アクション"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "ラベル印刷"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "印刷レポート"
@@ -860,8 +867,8 @@ msgstr "プロバイダーにリダイレクトされます。"
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "バーコードスキャナを開く"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -869,7 +876,7 @@ msgstr "スポットライトを開く"
#: src/components/buttons/StarredToggleButton.tsx:36
msgid "Subscription Updated"
-msgstr ""
+msgstr "サブスクリプション更新"
#: src/components/buttons/StarredToggleButton.tsx:57
#~ msgid "Unsubscribe from part"
@@ -883,27 +890,32 @@ msgstr "通知の配信停止"
msgid "Subscribe to notifications"
msgstr "通知を受け取る"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "カレンダーフィルター"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "先月"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "月を選択"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "来月"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "ダウンロードデータ"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,13 +926,13 @@ msgid "Error updating order"
msgstr "オーダー更新エラー"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "締め切り超過"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr ""
+msgstr "ダッシュボードウィジェットの読み込みに失敗しました。"
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
@@ -937,7 +949,7 @@ msgstr "レイアウトを受け入れる"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -957,7 +969,7 @@ msgstr "ウィジェットの削除"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "ウィジェットを消去する"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
@@ -979,185 +991,185 @@ msgstr "ウィジェットなし"
msgid "There are no more widgets available for the dashboard"
msgstr "ダッシュボードで使用できるウィジェットはなくなりました"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "加入部品"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "登録済みパーツ数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "通知カテゴリー "
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "登録済み部品カテゴリー数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
-msgid "Invalid BOMs"
-msgstr ""
-
#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
-msgid "Assemblies requiring bill of materials validation"
-msgstr ""
+msgid "Invalid BOMs"
+msgstr "無効なBOM"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
+msgid "Assemblies requiring bill of materials validation"
+msgstr "部品表の検証が必要なアセンブリ"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "在庫少"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "低在庫部品数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "ご注文に必要なもの"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "有効な製造指示の必要部品を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "期限切れ在庫品"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "期限切れ在庫品数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "古くなった在庫品"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "古くなった在庫品数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "有効な製造指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "現在有効な製造指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "期限切れ受注"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "期限切れ製造指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "割り当てられた製造指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "割り当てられた製造指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "有効な受注"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "現在有効な受注数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "販売期限切れ注文"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "期限切れ受注数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "割り当てられた受注"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "割り当てられた受注数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "保留中の出荷"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
-msgstr ""
+msgstr "保留中のセールスオーダー出荷件数を表示する"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "有効な購入指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "現在有効な購入指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "期限切れ発注書"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "期限切れ購入指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "割り当てられた購入指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "割り当てられている購入指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "有効な返品指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "現在有効な返品指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "期限切れ返品指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "期限切れ返品指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "割り当てられた返品指示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "割り当てられた返品指示の数を表示"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "はじめましょう"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "InvenTreeの利用開始"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "最新ニュース"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "InvenTreeの最新ニュース"
@@ -1200,11 +1212,34 @@ msgstr "ニュースなし"
msgid "There are no unread news items"
msgstr "未読のニュースはありません"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "未読のニュースはありません"
msgid "Superuser"
msgstr "スーパーユーザー"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "スタッフ"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "メールアドレス:"
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "名称未定"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "このアイテムから関連画像を削除しますか?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "削除"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "ドラッグ&ドロップでアップロード"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "クリックしてファイルを選択"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "画像アップロード完了"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "画像は正常にアップロードされました"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "アップロードエラー"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "クリア"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "送信"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "既存の画像から選択"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "画像を選択"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "リモート画像ダウンロード"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "新しい画像をアップロード"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "画像をアップロード"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "画像を削除"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "イメージのダウンロード"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "画像のダウンロードに成功しました"
@@ -1399,7 +1442,7 @@ msgstr "コード"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "プレビューの表示に失敗しました"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
@@ -1452,7 +1495,7 @@ msgstr "プレビューは正常に更新されました。"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "プレビューの表示中に予期せぬエラーが発生しました。"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1546,7 +1589,7 @@ msgstr "1つ以上のフォームフィールドにエラーがあります"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "更新"
@@ -1579,21 +1622,21 @@ msgstr "ログイン成功"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "ログインに失敗しました"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "入力内容を確認し、もう一度やり直してください。"
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "メール送信成功"
@@ -1628,7 +1671,7 @@ msgstr "ユーザー名"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "パスワード"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "パスワードを再入力"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "登録"
@@ -1714,10 +1757,14 @@ msgstr "またはSSOを使用します。"
#: src/components/forms/AuthenticationForm.tsx:348
msgid "Registration not active"
-msgstr ""
+msgstr "登録が有効ではありません"
#: src/components/forms/AuthenticationForm.tsx:349
msgid "This might be related to missing mail settings or could be a deliberate decision."
+msgstr "これはメール設定の不足に関連している可能性もありますが、意図的な判断である可能性もあります。"
+
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
msgstr ""
#: src/components/forms/HostOptionsForm.tsx:36
@@ -1731,14 +1778,14 @@ msgstr "ホスト"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API バージョン"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "プラグイン"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "有効"
@@ -1850,17 +1898,17 @@ msgstr "中断"
msgid "Running"
msgstr "実行中"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "アップロードするファイルを選択してください"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "提案された値を受け入れる"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "日付を選択"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "未分類"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "検索…"
@@ -1890,13 +1938,13 @@ msgstr "パック選択"
msgid "{0} icons"
msgstr "{0} アイコン"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "読み込み中"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "一致するものが見つかりませんでした"
@@ -1940,49 +1988,49 @@ msgstr "データの編集"
msgid "Delete Row"
msgstr "行の削除"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "行"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "行にエラーが含まれています"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "承諾"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "有効"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "行の検証ステータスによるフィルタリング"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "完了"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "行の完了ステータスによるフィルタリング"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "選択行のインポート"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "加工データ"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "エラーが発生しました"
@@ -2002,31 +2050,31 @@ msgstr "列を選択するか、このフィールドを無視する場合は空
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "このフィールドを無視する"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "データ・カラムとデータベース・フィールドのマッピング"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "カラムマッピングの受け入れ"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "データベース・フィールド"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "フィールドの説明"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "インポートされた列"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "初期値"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "マップ列"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "データをインポート"
+msgid "Import Rows"
+msgstr "行をインポート"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2052,7 +2100,7 @@ msgstr "インポート完了"
#: src/components/importer/ImporterDrawer.tsx:89
msgid "Failed to fetch import session data"
-msgstr ""
+msgstr "セッションデータのインポート取得に失敗しました"
#: src/components/importer/ImporterDrawer.tsx:97
#~ msgid "Cancel import session"
@@ -2070,8 +2118,8 @@ msgstr "データは正常にインポートされました"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "閉じる"
@@ -2104,8 +2152,8 @@ msgstr "オプション"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "バーコードアクション"
@@ -2177,10 +2225,15 @@ msgstr "不明なエラー"
msgid "None"
msgstr "なし"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree ロゴ"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "言語を選択"
@@ -2208,9 +2261,10 @@ msgstr "グループロールの更新中"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "更新しました"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "ロール"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "表示"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "変更"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "追加"
@@ -2255,14 +2309,14 @@ msgstr "項目なし"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "利用可能"
@@ -2320,7 +2374,7 @@ msgstr "リンク"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "ドキュメント"
@@ -2453,7 +2507,7 @@ msgstr "バックグラウンドワーカー"
#: src/components/modals/ServerInfoModal.tsx:107
msgid "The background worker process is not running"
-msgstr ""
+msgstr "バックグラウンドワーカープロセスは実行されていません"
#: src/components/modals/ServerInfoModal.tsx:107
#~ msgid "The Background worker process is not running."
@@ -2479,7 +2533,7 @@ msgstr "アラート"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "問題なし"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "{code} についてもっと知る"
msgid "Notifications"
msgstr "通知"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "見つかりませんでした…"
@@ -2547,7 +2601,7 @@ msgstr "設定"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "ユーザー設定"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "システム設定"
@@ -2578,14 +2632,14 @@ msgstr "システム設定"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "管理センター"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "ログアウト"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "在庫"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "製造"
@@ -2636,21 +2690,21 @@ msgstr "製造"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "購買"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "販売"
@@ -2664,7 +2718,7 @@ msgstr "概要"
#: src/components/nav/NavigationTree.tsx:212
msgid "Error loading navigation tree."
-msgstr ""
+msgstr "ナビゲーションツリーの読み込み中にエラーが発生しました。"
#: src/components/nav/NotificationDrawer.tsx:183
#: src/pages/Notifications.tsx:74
@@ -2681,7 +2735,7 @@ msgstr "未読の通知はありません。"
#: src/components/nav/NotificationDrawer.tsx:238
msgid "Error loading notifications."
-msgstr ""
+msgstr "通知の読み込み中にエラーが発生しました。"
#: src/components/nav/SearchDrawer.tsx:106
msgid "No Overview Available"
@@ -2705,7 +2759,7 @@ msgstr "検索グループの削除"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "仕入先"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "メーカー"
@@ -2768,23 +2822,23 @@ msgstr "検索結果がありません"
msgid "Attachments"
msgstr "添付ファイル"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "メモ"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
-msgstr ""
+msgstr "プラグイン提供"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
-msgstr ""
+msgstr "パネルを折りたたむ"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
-msgstr ""
+msgstr "パネルを展開する"
#: src/components/plugins/LocateItemButton.tsx:68
#: src/components/plugins/LocateItemButton.tsx:88
@@ -2809,19 +2863,19 @@ msgstr "プラグイン情報"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "投稿者"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "日付"
@@ -2845,48 +2899,54 @@ msgstr "日付"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "有効"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "ウェブサイト"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "ご利用プラン"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "設置経路"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "組み込み"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "パッケージ"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "プラグイン設定"
@@ -2969,65 +3029,65 @@ msgstr "不明なモデル{model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "発送"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "非アクティブ"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "仮想部品"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "在庫なし"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "注文中"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "生産中"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "詳細"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "カテゴリ"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "場所"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "シリアル番号"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "数量"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "スクール機能"
@@ -3117,15 +3175,15 @@ msgstr "スクール機能"
#: src/components/settings/ConfigValueList.tsx:36
msgid "Setting"
-msgstr ""
+msgstr "設定"
#: src/components/settings/ConfigValueList.tsx:39
msgid "Source"
-msgstr ""
+msgstr "ソース"
#: src/components/settings/QuickAction.tsx:47
msgid "Act"
-msgstr ""
+msgstr "実行(Act)"
#: src/components/settings/QuickAction.tsx:73
#: src/components/settings/QuickAction.tsx:113
@@ -3143,54 +3201,58 @@ msgstr "州の追加"
#: src/components/settings/QuickAction.tsx:85
msgid "Open an Issue"
-msgstr ""
+msgstr "報告を起票する"
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "バグを報告するか、GitHubで機能のリクエストをしてください"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
-msgstr ""
+msgstr "未解決の問題"
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "新しいグループを追加"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "ユーザーを管理するための新しいグループを作成する"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "新規グループ"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "新しいユーザーを追加"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "グループを管理するための新しいユーザーを作成する"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "新しいユーザー"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
-msgstr ""
+msgstr "アイテムを整理するための新しいプロジェクトコードを作成する"
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "コードを追加"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "カスタム状態を追加"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
+msgstr "ワークフロー用に新しいカスタム状態を作成する"
+
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
msgstr ""
#: src/components/settings/SettingItem.tsx:47
@@ -3198,40 +3260,44 @@ msgstr ""
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "設定を編集"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "設定 {key} が正常に更新されました"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "設定を更新しました。"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "設定 {0} が正常に更新されました"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "エラー編集設定"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
-msgstr ""
+msgstr "設定の読み込み中にエラーが発生しました"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
-msgstr ""
+msgstr "設定なし"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
-msgstr ""
+msgstr "設定可能な項目はありません"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "設定なし"
@@ -3593,140 +3659,140 @@ msgstr "設定なし"
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "完全に一致"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "現在の部品"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "既にインポート済み"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "仕入先"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "読み込み中…"
#: src/components/wizards/ImportPartWizard.tsx:223
msgid "Error fetching suppliers"
-msgstr ""
+msgstr "サプライヤーの取得中にエラーが発生しました"
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "サプライヤーを選択"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "{0} 件の結果が見つかりました"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "この部品をインポートする"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
-msgstr ""
+msgstr "この部品を今すぐ選択したカテゴリにインポートしてもよろしいですか?"
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "今すぐインポートします"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "この部品に追加したいパラメータを選択して編集してください。"
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
-msgstr ""
+msgstr "デフォルトカテゴリパラメータ"
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "その他のパラメータ"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "新しいパラメータを追加する"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "スキップ"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "パラメータを作成する"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
-msgstr ""
+msgstr "インポートした部品の初期在庫を作成する。"
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "次へ"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "パーツを編集"
#: src/components/wizards/ImportPartWizard.tsx:567
msgid "Part imported successfully!"
-msgstr ""
+msgstr "部品のインポートに成功しました!"
#: src/components/wizards/ImportPartWizard.tsx:576
msgid "Failed to import part: "
-msgstr ""
+msgstr "部品のインポートに失敗しました:"
#: src/components/wizards/ImportPartWizard.tsx:641
msgid "Are you sure, you want to import the supplier and manufacturer part into this part?"
-msgstr ""
+msgstr "この部品にサプライヤーとメーカーの部品をインポートしてもよろしいですか?"
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "インポート"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
-msgstr ""
+msgstr "パラメータの作成に成功しました!"
#: src/components/wizards/ImportPartWizard.tsx:720
msgid "Failed to create parameters, please fix the errors and try again"
-msgstr ""
+msgstr "パラメータの作成に失敗しました。エラーを修正して再度 試してください。"
#. placeholder {0}: supplierPart?.supplier
#: src/components/wizards/ImportPartWizard.tsx:740
msgid "Part imported successfully from supplier {0}."
-msgstr ""
+msgstr "部品がサプライヤー{0}から正常にインポートされました。"
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "部品の詳細を表示"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
-msgstr ""
+msgstr "サプライヤー部品の詳細を表示"
#: src/components/wizards/ImportPartWizard.tsx:767
msgid "Open Manufacturer Part"
-msgstr ""
+msgstr "メーカー部品の詳細を表示"
#: src/components/wizards/ImportPartWizard.tsx:797
#: src/tables/part/PartTable.tsx:499
@@ -3735,55 +3801,55 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "サプライヤー部品をインポート"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
-msgstr ""
+msgstr "サプライヤー部品を検索"
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "インポートを確認"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "完了"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "部品要件の取得中にエラーが発生しました"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "AIT テーマ要件チェック"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
-msgstr ""
+msgstr "ビルド要件"
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "販売要件"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "在庫あり"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "必要数量"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "サプライヤー部品作成"
@@ -3819,7 +3885,7 @@ msgstr "サプライヤー部品の選択"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "サプライヤー部品番号をコピー"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "選択した部品の誤りを訂正してください。"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "パーツの注文"
@@ -4038,77 +4104,89 @@ msgstr "パーツの注文"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "InvenTreeのダッシュボードに移動します。"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "InvenTreeの詳細については、ドキュメントをご覧ください。"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "InvenTree orgについて"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "サーバー情報"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "このInvenTreeインスタンスについて"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "有効にすると、プラグインを削除しているときに、ライセンス情報を含むデータベース (ロールデータを除く) からこのプラグインに関連するすべてのデータを削除します。この場合、ライセンスは自動的に非アクティブ化されません"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "サービスの依存関係のライセンス"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "ナビゲーションを開く"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "メインナビゲーションメニューを開く"
-#: src/defaults/actions.tsx:86
+#: src/defaults/actions.tsx:87
+msgid "Go to your user settings"
+msgstr "ユーザー設定に移動してください"
+
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
+msgid "Go to Purchase Orders"
+msgstr "発注書へ移動"
+
+#: src/defaults/actions.tsx:117
+msgid "Go to Sales Orders"
+msgstr "セールスオーダーへ移動"
+
+#: src/defaults/actions.tsx:128
+msgid "Go to Return Orders"
+msgstr "返品オーダーへ移動"
+
+#: src/defaults/actions.tsx:138
msgid "Scan a barcode or QR code"
msgstr "バーコードまたはQRコードをスキャンする"
-#: src/defaults/actions.tsx:94
-msgid "Go to your user settings"
-msgstr ""
-
-#: src/defaults/actions.tsx:105
-msgid "Go to Purchase Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:115
-msgid "Go to Sales Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:126
-msgid "Go to Return Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
-msgstr ""
+msgstr "ビルドオーダーへ移動"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "システム設定へ移動"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "管理センターへ"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "InvenTreeプラグインを管理する"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,21 +4426,21 @@ msgstr "InvenTreeプロジェクトについて"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
-msgstr ""
+msgstr "代替部品"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
-msgstr ""
+msgstr "BOM代替品編集"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
-msgstr ""
+msgstr "代替品を追加"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
-msgstr ""
+msgstr "代替品を追加した"
#: src/forms/BuildForms.tsx:112
#: src/forms/BuildForms.tsx:217
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "ビルド出力"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "完了数量"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "ステータス"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "完全なビルド出力"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "ビルドアウトプット完了"
@@ -4428,160 +4506,150 @@ msgstr "ビルドアウトプット完了"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
-msgstr ""
+msgstr "廃棄数量"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "スクラップビルドの出力"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
-msgstr ""
+msgstr "選択されたビルド出力は完了しますが、廃棄済みとしてマークされます。"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "ビルド出力は廃止"
+msgstr "割り当てられた在庫品は消費されます"
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "ビルド出力は廃止"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "ビルド出力のキャンセル"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
-msgstr ""
+msgstr "選択されたビルド出力は削除されます"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
-msgstr ""
+msgstr "割り当てられた在庫品は、在庫に戻されます。"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "ビルドアウトプットはキャンセルされました"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
-msgstr "即時支払通知"
+msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "割り当てられた"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "ソース・ロケーション"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "在庫配分のソースの場所を選択します。"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "株式の割当"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "割り当てられた在庫品目"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "在庫を消費する"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
-msgstr ""
+msgstr "完全に消費されました"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "消費済み"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
-msgstr ""
+msgstr "この明細行のプロジェクトコードを選択してください"
#: src/forms/CompanyForms.tsx:150
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "登録済み"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "このパーツの通知を受け取る"
@@ -4593,11 +4661,11 @@ msgstr "このパーツの通知を受け取る"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "親部品カテゴリー"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "このカテゴリの通知を受け取る"
@@ -4605,67 +4673,71 @@ msgstr "このカテゴリの通知を受け取る"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "バッチコードとシリアル番号の割り当て"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "バッチコードの割り当て"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "地域を選択"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "選択された項目"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "選択されたパートカテゴリーのデフォルトの場所"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "選択された受入在庫場所"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "デフォルトの場所を選択"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "セット場所"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "バッチコードの割り当て"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "有効期限の設定"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "パッケージの調整"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "パッケージの調整"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "ステータスを変更"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "コメントを挿入"
@@ -4673,56 +4745,56 @@ msgstr "コメントを挿入"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "デフォルトの場所に保存"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "行先での保存"
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "入荷済みの在庫がある店舗"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "バッチコード"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "受領品のバッチコードを入力"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "シリアル番号"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "受け取った商品のシリアル番号を入力"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "有効期限"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "受け取った商品の有効期限を入力してください。"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,74 +4802,92 @@ msgstr "受け取った商品の有効期限を入力してください。"
msgid "Packaging"
msgstr "パッケージング"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "備考"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "受信"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "ラインアイテムの受信"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "受領品目"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "商品を受け取る"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "入荷した商品"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
-msgstr ""
+msgstr "出荷状況を確認する"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-msgstr ""
+msgstr "「確認済み」とマークすることで、全送付品の照合が完了したことを示します"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
-msgstr ""
+msgstr "出荷はチェック済みとしてマークされました"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
-msgstr ""
+msgstr "出荷のチェックを外す"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
-msgstr ""
+msgstr "チェックを外すと、出荷時に再確認が必要になります"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
+msgstr "出荷はチェックが外された"
+
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
-msgid "Leave blank to use the order address"
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
msgstr ""
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "完全出荷"
+
+#: src/forms/SalesOrderForms.tsx:525
+msgid "Leave blank to use the order address"
+msgstr "オーダーの住所を使用する場合は空欄のままにしてください"
+
#: src/forms/StockForms.tsx:110
#~ msgid "Create Stock Item"
#~ msgstr "Create Stock Item"
@@ -4806,195 +4896,204 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "指定された数量を単品ではなくパックとして追加します。"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "この商品の初期数量を入力"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "新しい在庫のシリアル番号を入力(または空白のまま)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "在庫状況"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "在庫商品の追加"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "取り付ける部品の選択"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "株式譲渡の確認"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "デフォルトの場所に移動"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "移動"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "戻る"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "カウント"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "在庫追加"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "在庫追加"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
-msgstr ""
+msgstr "選択された在庫品の数量を、指定された数量だけ増やします。"
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "在庫の削除"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "在庫一掃"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
-msgstr ""
+msgstr "選択された在庫品の数量を、指定された数量分だけ減らします。"
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "株式譲渡"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "株式譲渡"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
-msgstr ""
+msgstr "選択されたアイテムを指定された場所に移動します。"
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
-msgstr ""
+msgstr "在庫戻し"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
-msgstr ""
+msgstr "在庫が戻りました"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
-msgstr ""
+msgstr "選択された商品を、指定された場所へ在庫に戻してください。"
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "在庫数"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "在庫数"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
-msgstr ""
+msgstr "選択された在庫品目を数え、それに応じて数量を調整してください。"
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "在庫状況の変更"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "在庫状況の変更"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
+msgstr "選択された在庫品のステータスを変更します。"
+
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "株式の併合"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "株式併合"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
-msgstr ""
+msgstr "在庫品を合算する"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
-msgstr ""
+msgstr "合算操作は元に戻せません"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
-msgstr ""
+msgstr "在庫品を合算する際、追跡情報が失われる可能性があります。"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
-msgstr ""
+msgstr "在庫品を合算する際、サプライヤー情報が失われる可能性があります。"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "顧客への在庫割り当て"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "顧客に割り当てられた在庫"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "在庫アイテムの削除"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "ストック削除"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
-msgstr ""
+msgstr "この操作により、選択された在庫品目が完全に削除されます。"
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "親株式所在地"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
-msgstr ""
+msgstr "シリアル番号を探す"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
-msgstr ""
+msgstr "該当する品目はありません"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
-msgstr ""
+msgstr "複数の品目が見つかりました"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
-msgstr ""
+msgstr "サーバーからの応答が無効です"
#: src/forms/selectionListFields.tsx:95
msgid "Entries"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "エントリーリスト"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "内部サーバーエラー"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "ログイン済み"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "このブラウザのセッションがサーバー上で競合しています。まずそちらからログアウトしてください。"
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "ログアウト"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr "サーバーからの応答がありません。"
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
-msgstr ""
+msgstr "多要素認証ログインに成功しました"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
-msgstr ""
+msgstr "多要素認証の詳細情報はブラウザに自動的に記録されました"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "ログアウト"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "ログアウトに成功しました"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "言語変更"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "アクティブ言語がプロフィールで設定した言語に変更されました。"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "テーマ変更"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "アクティブなテーマがプロフィールで設定したものに変更されました。"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "リセット失敗"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "ログイン済み"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "このブラウザのセッションがサーバー上で競合しています。まずそちらからログアウトしてください。"
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "ログイン中"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "ログインに成功しました"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "MFAの設定に失敗しました"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "パスワード設定"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "パスワードは正常に設定されました。新しいパスワードでログインできます。"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "パスワードを変更できませんでした"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "2つのパスワードフィールドが一致しませんでした"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "パスワードが変更されました"
@@ -5210,23 +5320,14 @@ msgstr "リクエストがタイムアウトしました"
msgid "Exporting Data"
msgstr "データエクスポート中"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "エクスポートデータ"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "エクスポート"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "プロセス失敗"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "プロセスは正常に完了しました。"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "作成項目"
@@ -5255,52 +5356,56 @@ msgstr "このアイテムを削除してもよろしいですか?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
-msgstr ""
+msgstr "選択された在庫品目を数える"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
-msgstr ""
+msgstr "選択された在庫品に追加します"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
-msgstr ""
+msgstr "選択された在庫品から削除します"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
-msgstr ""
+msgstr "選択された在庫品目を移動します"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
-msgstr ""
+msgstr "選択された在庫商品を合算します"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
+msgstr "選択された在庫品のステータスを変更します"
+
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
-msgstr ""
+msgstr "在庫品を割り当てる"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
-msgstr ""
+msgstr "選択された在庫品を顧客に割り当てます"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
-msgstr ""
+msgstr "選択された在庫品を在庫に戻します"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
-msgstr ""
+msgstr "在庫を削除する"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
-msgstr ""
+msgstr "選択された在庫品を削除します"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "ストックアクション"
@@ -5357,15 +5462,15 @@ msgstr "選択なし"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "ログイン"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "ログイン中"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "アカウントをお持ちですか?"
@@ -5383,26 +5488,26 @@ msgstr "アカウントをお持ちですか?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "多要素認証"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTPコード"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
-msgstr ""
+msgstr "コードのいずれかを入力してください:{mfa_types}"
#: src/pages/Auth/MFA.tsx:42
msgid "Remember this device"
-msgstr ""
+msgstr "このデバイスを記憶する"
#: src/pages/Auth/MFA.tsx:44
msgid "If enabled, you will not be asked for MFA on this device for 30 days."
-msgstr ""
+msgstr "有効した場合、このデバイスでは30日間、多要素認証の入力は求められません"
#: src/pages/Auth/MFA.tsx:53
msgid "Log in"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "位置"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "タイプ"
@@ -5933,222 +6038,222 @@ msgstr "プロフィールを編集"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "再認証が成功しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "再認証が成功しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "再認証中にエラーが発生しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
-msgstr ""
+msgstr "再認証に失敗しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
-msgid "Reauthenticate"
-msgstr ""
+msgstr "再認証に失敗しました"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
-msgid "Reauthentiction is required to continue."
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
+msgid "Reauthenticate"
+msgstr "認証"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
+msgid "Reauthentiction is required to continue."
+msgstr "続行するには再認証が必要です"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "パスワードを入力してください"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
-msgstr ""
+msgstr "ワンタイムパスワードを入力してください"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
-msgstr ""
+msgstr "WebAuthnの認証情報が削除されました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
-msgstr ""
+msgstr "WebAuthnの認証情報が正常に削除されました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
-msgstr ""
+msgstr "WebAuthn認証情報の削除に失敗しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
-#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
-msgid "Confirm Removal"
-msgstr ""
+msgstr "WebAuthnの認証情報を削除します"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
-msgid "Confirm removal of webauth credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
-msgid "TOTP Removed"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
-msgid "TOTP token removed successfully."
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
-msgid "Error removing TOTP token"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
-msgid "Remove TOTP Token"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/tables/build/BuildAllocatedStockTable.tsx:181
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
+msgid "Confirm Removal"
+msgstr "削除を確認します"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
+msgid "Confirm removal of webauth credential"
+msgstr "Web認証情報の削除を確認してください"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
+msgid "TOTP Removed"
+msgstr "ワンタイムパスワードは削除されました"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
+msgid "TOTP token removed successfully."
+msgstr "ワンタイムパスワードトークンは正常に削除されました。"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
+msgid "Error removing TOTP token"
+msgstr "ワンタイムパスワードトークンの削除に失敗しました"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
+msgid "Remove TOTP Token"
+msgstr "ワンタイムパスワードトークンを削除します"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
-msgstr ""
+msgstr "ワンタイムパスワードコードの削除を確認してください"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
-msgstr ""
+msgstr "ワンタイムパスワードは既に登録済みです"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
-msgstr ""
+msgstr "このアカウントには既にワンタイムパスワードトークンが登録されています"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
-msgstr ""
+msgstr "ワンタイムパスワード登録の取得中にエラーが発生しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
-msgstr ""
+msgstr "ワンタイムパスワード登録データの取得中に予期せぬエラーが発生しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
-msgstr ""
+msgstr "ワンタイムパスワード登録済み"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
-msgstr ""
+msgstr "ワンタイムパスワードトークンの登録が成功しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "TOTPトークンの登録エラー"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "TOTPトークンの登録"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
-msgstr ""
+msgstr "復旧コードの取得に失敗しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "回復コード"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
-msgstr ""
+msgstr "以下の一時復旧コードが利用できます"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
-msgid "No Unused Codes"
-msgstr ""
+msgstr "復旧コードをクリップボードにコピーします"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+msgid "No Unused Codes"
+msgstr "未使用のコードはありません"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
-msgid "WebAuthn Registered"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
-msgid "WebAuthn credential registered successfully"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
-msgid "Error registering WebAuthn credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
-msgid "WebAuthn Registration Failed"
-msgstr ""
+msgstr "利用可能な復旧コードはありません"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+msgid "WebAuthn Registered"
+msgstr "WebAuthn登録済み"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
+msgid "WebAuthn credential registered successfully"
+msgstr "WebAuthnの認証情報が正常に登録されました"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
+msgid "Error registering WebAuthn credential"
+msgstr "WebAuthn認証情報の登録中にエラーが発生しました"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
+msgid "WebAuthn Registration Failed"
+msgstr "WebAuthnの登録が失敗しました"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
-msgstr ""
+msgstr "WebAuthn認証情報の登録に失敗しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
-msgstr ""
+msgstr "WebAuthn登録の取得中にエラーが発生しました"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "時間ベースのワンタイムパスワード(TOTP)"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "事前に生成された1回限りのリカバリーコード"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
-msgstr ""
+msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
-msgstr ""
+msgstr "Web認証(WebAuthn)は、安全な認証のためのウェブ標準です。"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "最終使用"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "作成"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "未構成"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "このアカウントには多要素トークンが設定されていません。"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
-msgstr ""
+msgstr "登録認証方法"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "多要素認証は利用できません"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
-msgstr ""
+msgstr "設定可能な多要素認証方式はありません"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27
msgid "Secret"
@@ -6162,47 +6267,47 @@ msgstr "ワンタイムパスワード"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "TOTPコードを入力し、正しく登録されていることを確認します。"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E メールアドレス"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E メールアドレス"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "シングルサインオン"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "有効になっていません"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "このサーバーではシングルサインオンが有効になっていません"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "有効になっていません"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "このサーバーではシングルサインオンが有効になっていません"
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "アクセス・トークン"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
-msgstr ""
+msgstr "セッション情報"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "タイムスタンプ"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
-msgstr ""
+msgstr "方法"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "メール更新時のエラー"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "現在、メールアドレスは登録されていません。"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "以下のメールアドレスがアカウントに関連付けられています:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "プライマリー"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "承認済み"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "未承認"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "メインに指定"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "検証の再送信"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "メールアドレスの追加"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "メールアドレス"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "電子メールアドレス"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "メール追加時のエラー"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "メールアドレスの追加"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "メールアドレス"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "電子メールアドレス"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "メール追加時のエラー"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "メールアドレスを追加"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "メール追加時のエラー"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "メールアドレスを追加"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "このアカウントに接続されているプロバイダーはありません。"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "以下のプロバイダーのいずれかを使用してアカウントにサインインできます。"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "プロバイダーリンクの削除"
@@ -6420,7 +6526,7 @@ msgstr "ドット"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "通貨"
@@ -6450,7 +6556,7 @@ msgstr "基準通貨"
#: src/pages/Index/Settings/AdminCenter/EmailManagementPanel.tsx:13
msgid "Email Messages"
-msgstr ""
+msgstr "メールメッセージ"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:22
#~ msgid "Active Alerts"
@@ -6462,27 +6568,27 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "システム状態"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
-msgstr ""
+msgstr "管理センター情報"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:53
msgid "The home panel (and the whole Admin Center) is a new feature starting with the new UI and was previously (before 1.0) not available."
-msgstr ""
+msgstr "ホームパネル(および管理センター全体)は、新しいUIから導入された新機能であり、以前のバージョン(1.0以前)では利用できません"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:60
msgid "The admin center provides a centralized location for all administration functionality and is meant to replace all interaction with the (django) backend admin interface."
-msgstr ""
+msgstr "管理センターは、すべての管理機能を集中管理する場所を提供し、(Django) バックエンド管理インターフェースとのすべてのやり取りに取って代わることを目的としています"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:67
msgid "Please open feature requests (after checking the tracker) for any existing backend admin functionality you are missing in this UI. The backend admin interface should be used carefully and seldom."
-msgstr ""
+msgstr "このUIで不足している既存のバックエンド管理機能については、トラッカーを確認の上、機能リクエストを開設してください。バックエンド管理インターフェースは慎重に利用し、使用頻度は最小限に留めるべきです。"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "クイックアクション"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,11 +6596,11 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "ホーム"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
-msgstr ""
+msgstr "ユーザー/アクセス"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:127
#~ msgid "Templates"
@@ -6563,11 +6669,11 @@ msgstr "機械"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:247
msgid "Operations"
-msgstr ""
+msgstr "操作"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:259
msgid "Data Management"
-msgstr ""
+msgstr "データ管理"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:270
#: src/pages/Index/Settings/SystemSettings.tsx:176
@@ -6577,11 +6683,11 @@ msgstr "レポート"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:275
msgid "PLM"
-msgstr ""
+msgstr "PLM"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:285
msgid "Extend / Integrate"
-msgstr ""
+msgstr "拡張/統合"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:299
msgid "Advanced Options"
@@ -6601,7 +6707,7 @@ msgstr "高度なオプション"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:60
msgid "Machine Drivers"
-msgstr ""
+msgstr "機器制御ソフトウェア"
#: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62
#~ msgid "There are no machine registry errors."
@@ -6671,7 +6777,7 @@ msgstr "ランドスケープ"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:25
msgid "Merge"
-msgstr ""
+msgstr "統合"
#: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:31
msgid "Attach to Model"
@@ -6685,30 +6791,34 @@ msgstr "モデルに装着"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "バックグラウンドワーカーが実行されていません"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "バックグラウンドタスクマネージャーサービスが実行されていません。システム管理者に連絡してください。"
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "バックグラウンドワーカーが実行されていません"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "バックグラウンドタスクマネージャーサービスが実行されていません。システム管理者に連絡してください。"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "保留タスク"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "スケジュールされたタスク"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "失敗したタスク"
@@ -6770,7 +6880,7 @@ msgstr "トークン"
#: src/pages/Index/Settings/PluginSettingsGroup.tsx:99
msgid "The settings below are specific to each available plugin"
-msgstr ""
+msgstr "以下の設定は、利用可能な各プラグインごとに固有のものになります"
#: src/pages/Index/Settings/SystemSettings.tsx:78
msgid "Authentication"
@@ -6791,7 +6901,7 @@ msgstr "バーコード"
#: src/pages/Index/Settings/SystemSettings.tsx:128
#: src/pages/Index/Settings/UserSettings.tsx:113
msgid "The settings below are specific to each available notification method"
-msgstr ""
+msgstr "以下の設定は、各通知方法ごとに固有のものになります"
#: src/pages/Index/Settings/SystemSettings.tsx:134
msgid "Pricing"
@@ -6805,6 +6915,16 @@ msgstr "価格"
msgid "Labels"
msgstr "ラベル"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "在庫管理"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6855,15 +6975,15 @@ msgstr "未読にする"
#: src/pages/build/BuildDetail.tsx:70
msgid "No Required Items"
-msgstr ""
+msgstr "必須品目はありません"
#: src/pages/build/BuildDetail.tsx:72
msgid "This build order does not have any required items."
-msgstr ""
+msgstr "このビルドオーダーには必須品目はありません"
#: src/pages/build/BuildDetail.tsx:73
msgid "The assembled part may not have a Bill of Materials (BOM) defined, or the BOM is empty."
-msgstr ""
+msgstr "組み立てられた部品には部品表(BOM)が定義されていないか、BOMが空である可能性があります。"
#: src/pages/build/BuildDetail.tsx:80
#~ msgid "Build Status"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "リビジョン"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "リビジョン"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "リビジョン"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "リビジョン"
msgid "Custom Status"
msgstr "カスタムステータス"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "外部"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "参照"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "親ビルド"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "数量"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "ビルド"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "完成したアウトプット"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "発行者"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "責任"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "場所"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "目的地"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "作成日"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "開始日"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "終了日に達したら"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "目的地"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "作成日"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "開始日"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "終了日に達したら"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "完了"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "詳細"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
-msgstr ""
+msgstr "必要な部品"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "割当株式"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "消費在庫"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "不完全なアウトプット"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
-msgstr ""
+msgstr "外部からのオーダー"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "チャイルド・ビルド・オーダー"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "テストの結果"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "ビルド順序の編集"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "ビルドオーダーの追加"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "ビルドオーダーのキャンセル"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "注文のキャンセル"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "この注文をキャンセル"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "ホールドビルドオーダー"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "この注文を保留にします"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "注文の保留"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "ビルドオーダーの発行"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "本命令の発令"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "オーダー発行"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "コンプリート・ビルド・オーダー"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "この注文を完了としてマークしてください。"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "注文完了"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "発行順序"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "完全な注文"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "ビルドオーダーアクション"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "掲載依頼を編集"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "重複した注文"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "ホールドオーダー"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "お見積をキャンセル"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "組立注文"
@@ -7207,9 +7327,9 @@ msgstr "組立注文"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
-msgstr ""
+msgstr "外部ビルドオーダーを表示します"
#: src/pages/build/BuildIndex.tsx:39
#~ msgid "New Build Order"
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "テーブルビュー"
@@ -7238,19 +7359,16 @@ msgstr "カレンダービュー"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "ウェブサイト"
+msgstr "パラメトリックビュー"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7262,7 +7380,7 @@ msgstr "メールアドレス"
#: src/pages/company/CompanyDetail.tsx:122
msgid "Tax ID"
-msgstr ""
+msgstr "納税者番号"
#: src/pages/company/CompanyDetail.tsx:132
msgid "Default Currency"
@@ -7271,11 +7389,11 @@ msgstr "デフォルトの通貨"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "製造元"
@@ -7284,15 +7402,15 @@ msgstr "製造元"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "顧客"
@@ -7320,16 +7438,16 @@ msgstr "製造部品"
msgid "Assigned Stock"
msgstr "割り当て在庫"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "会社情報を編集"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "削除会社"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "会社の動き"
@@ -7349,7 +7467,7 @@ msgstr "外部リンク"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "部品詳細"
@@ -7363,28 +7481,28 @@ msgstr "メーカーパーツ詳細"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "受入在庫"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "メーカー・パーツの編集"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "メーカー部品の追加"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "メーカー部品の削除"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "メーカー品番"
@@ -7401,7 +7519,7 @@ msgstr "パーツ説明"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "パック数量"
@@ -7427,28 +7545,28 @@ msgstr "サプライヤー部品詳細"
msgid "Supplier Pricing"
msgstr "サプライヤー価格"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "サプライヤー"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "サプライヤーパーツの編集"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "サプライヤーの削除"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "サプライヤー部品の追加"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "在庫切れ"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "グループロール"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "ユーザー情報"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "基本ユーザー"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "サブカテゴリ"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "項目を親カテゴリに移動"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "アイテムの削除"
@@ -7577,62 +7695,66 @@ msgstr "カテゴリー詳細"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "ビルド・オーダー・アロケーション"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "販売注文の割り当て"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "BOMの検証"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "このアセンブリの部品表を検証しますか?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
-msgstr ""
+msgstr "部品表の検証が完了しました"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
-msgstr ""
+msgstr "この部品の部品表は検証済みです"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
-msgstr ""
+msgstr "BOMが未検証です"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
-msgstr ""
+msgstr "この部品の部品表は既にチェック済みですが、再検証が必要となります。"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
-msgstr ""
+msgstr "この部品の部品表はまだ検証されていません"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
-msgstr ""
+msgstr "検証日時"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
-msgstr ""
+msgstr "検証者"
#: src/pages/part/PartDetail.tsx:286
#~ msgid "Variant Stock"
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "変種"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "改訂版"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "デフォルトの場所"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "カテゴリー デフォルトの場所"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "単位"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "カテゴリー デフォルトの場所"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "単位"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "キーワード"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "在庫状況"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "注文中"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "ご注文に必要なもの"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "建設受注に割り当て"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "販売注文に割り当て"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "最小在庫"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "最小在庫"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "ロック中"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "テンプレート部品"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "組立部品"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "構成部品"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "テスト可能な部分"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "追跡可能部品"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "購入可能部品"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "売却可能部分"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "バーチャルパート"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "作成日時"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "作成者"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "デフォルト・サプライヤー"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:709
-msgid "days"
-msgstr ""
+msgstr "デフォルトの有効期限"
#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+msgid "days"
+msgstr "日"
+
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "料金帯"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "最新のシリアル番号"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "部品リビジョンの選択"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "バリアント"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "割り当て"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "部品表"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "中古"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "部品価格"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "テストテンプレート"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "関連部品"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "部品がロックされています"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "パートがロックされているため、パートパラメータを編集できません。"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "部品がロックされています"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "パートがロックされているため、パートパラメータを編集できません。"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "必須"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
+msgstr "不足数"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "部品追加"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "削除部分"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "この部分の削除は元に戻せません"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "注文"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "注文在庫"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
-msgstr ""
+msgstr "シリアル番号で検索"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "パートアクション"
@@ -7968,35 +8090,46 @@ msgstr "販売履歴"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "ストックテークエントリーの編集"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "ストックテークエントリーの削除"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "株式価値"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "最小値"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "最大値は"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "最大値は"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "合計金額"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "コンポーネント"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "最小価格"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "最大価格"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "単価"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "円グラフ"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "棒グラフ"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "購入価格"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "最終更新"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "発注書の編集"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "発注書の追加"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "完了した項目"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "目的地"
@@ -8275,100 +8411,100 @@ msgstr "発行日"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "完了日"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "ご注文の詳細"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "ラインアイテム"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "追加項目"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "発注書の発行"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "発注書のキャンセル"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "発注書の保留"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "完全な発注書"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "注文の操作"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "得意先参照"
#: src/pages/sales/ReturnOrderDetail.tsx:196
msgid "Return Address"
-msgstr ""
+msgstr "住所"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
-msgstr ""
+msgstr "指定なし"
#: src/pages/sales/ReturnOrderDetail.tsx:349
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "返品注文の編集"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "返品注文の追加"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "返品注文の発行"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "返品注文のキャンセル"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "返品注文の保留"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "リターンオーダー"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "完了した出荷"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
-msgstr ""
+msgstr "配送先住所"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "販売注文の編集"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "販売注文の追加"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "発送"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "販売注文書の発行"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "販売注文のキャンセル"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "販売注文の保留"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "販売注文の発送"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "この注文を発送しますか?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "発送済み注文"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "完全な販売注文"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "船舶発注"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "出荷基準"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "追跡番号"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "請求書番号"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "割当項目"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
-msgstr ""
+msgstr "チェック者"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
-msgstr ""
+msgstr "未確認"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "出荷日"
@@ -8464,173 +8600,167 @@ msgstr "出荷日"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "配達日"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "出荷の詳細"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "出荷の編集"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "出荷のキャンセル"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "完全出荷"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "処理待ち"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
-msgstr ""
+msgstr "チェック済み"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
-msgstr ""
+msgstr "未選択"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "発送済み"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "配送済み"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "発送"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "出荷アクション"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
-msgstr ""
+msgstr "チェック"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
-msgstr ""
+msgstr "出荷を確認済みとしてマークしてください"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
-msgstr ""
+msgstr "未確認"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
-msgstr ""
+msgstr "出荷を確認待ちとしてマークしてください"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "親の位置"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "サブロケーション"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "ロケーションタイプ"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "トップレベルの在庫ロケーション"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "場所の詳細"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "デフォルトパーツ"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "在庫場所の編集"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "アイテムを親の場所に移動"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "在庫場所の削除"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "アクション"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "この場所にある在庫品に対する措置"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
-msgstr ""
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "在庫場所の編集"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "アイテムを親の場所に移動"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "在庫場所の削除"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "アクション"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "この場所にある在庫品に対する措置"
+
+#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr "在庫場所の一括操作"
+
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "この場所の子供のための行動"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
-msgstr ""
+msgstr "在庫品のスキャン"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
-msgstr ""
+msgstr "在庫品を在庫場所に置いてスキャンしました"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
-msgstr ""
+msgstr "在庫品のスキャン中にエラーが発生しました"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
-msgstr ""
+msgstr "在庫場所をスキャンしてください"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
-msgstr ""
+msgstr "在庫場所に置いて、場所のスキャンをしました"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
-msgstr ""
+msgstr "在庫場所のスキャン中にエラーが発生しました"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "ロケーションアクション"
@@ -8657,7 +8787,7 @@ msgstr "ベース部"
#: src/pages/stock/StockDetail.tsx:206
msgid "Previous serial number"
-msgstr ""
+msgstr "以前のシリアル番号"
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
@@ -8665,7 +8795,7 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:228
msgid "Find serial number"
-msgstr ""
+msgstr "シリアル番号を探す"
#: src/pages/stock/StockDetail.tsx:234
msgid "Next serial number"
@@ -8703,10 +8833,6 @@ msgstr "最後のストックテイク"
msgid "Stock Details"
msgstr "在庫詳細"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "在庫管理"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "設置項目"
msgid "Child Items"
msgstr "子供用品"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "在庫商品を編集"
@@ -8738,15 +8864,15 @@ msgstr "在庫商品を編集"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
-msgid "Items Created"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:704
-msgid "Created {n} stock items"
-msgstr ""
+msgid "Items Created"
+msgstr "作成された在庫品"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:705
+msgid "Created {n} stock items"
+msgstr "{n}個の在庫品を作成しました"
+
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "ストックアイテムの削除"
@@ -8758,7 +8884,7 @@ msgstr "ストックアイテムの削除"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "ストックアイテムのシリアル化"
@@ -8766,24 +8892,23 @@ msgstr "ストックアイテムのシリアル化"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "シリアル化された在庫品"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:852
-msgid "Scan into location"
-msgstr ""
+msgstr "在庫場所に置いてスキャンしてください"
#: src/pages/stock/StockDetail.tsx:854
-msgid "Scan this item into a location"
-msgstr ""
+msgid "Scan into location"
+msgstr "在庫場所に置いてスキャンしてください"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:856
+msgid "Scan this item into a location"
+msgstr "在庫場所に置いてこの在庫品をスキャンしてください"
+
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "株式運用"
@@ -8791,12 +8916,12 @@ msgstr "株式運用"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "シリアライズ"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "在庫のシリアル化"
@@ -8804,7 +8929,7 @@ msgstr "在庫のシリアル化"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "在庫品アクション"
@@ -8820,17 +8945,17 @@ msgstr "在庫品アクション"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "期限失効"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "期限切れ"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "利用不可"
@@ -8855,6 +8980,72 @@ msgstr "このパートに関する通知を購読しています。"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "この在庫商品は生産中です"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "この在庫商品は販売注文に割り当てられています。"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "この在庫商品は顧客に割り当てられています"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "この在庫品は他の在庫品に取り付けられています"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "このストックアイテムはビルドオーダーによって消費されました。"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "この在庫はありません"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "この在庫商品は有効期限が切れています"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "この在庫商品は古くなっています。"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "このストックアイテムは完全に割り当てられています。"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "このストックアイテムは部分的に配分されています。"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "在庫なし"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "この在庫はなくなりました"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "株式情報"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "割り当てライン"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,265 +9079,284 @@ msgstr "列の選択"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "バッチコード"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "バッチコードを持つアイテムを表示"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "バッチコードによるアイテムのフィルタリング"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "在庫のある商品を表示"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "連載中"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "シリアル番号のある商品を表示"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "バッチコード"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "バッチコードを持つアイテムを表示"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "バッチコードによるアイテムのフィルタリング"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "在庫のある商品を表示"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "連載中"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "シリアル番号のある商品を表示"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
+msgstr "シリアル"
+
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "シリアル番号で商品を絞り込む"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
-msgstr ""
+msgstr "カウントダウン連番"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "指定された値以下のシリアル番号のアイテムを表示します。"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
-msgstr ""
+msgstr "連番"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "指定された値以上のシリアル番号を持つアイテムを表示します。"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "担当"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "私に割り当てられた命令を表示"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "並外れた"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "未処理項目の表示"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "期限切れアイテムの表示"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "最小の日付"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "この日付以降のアイテムを表示"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "最大日付"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "この日以前の商品を表示"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "作成前"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "この日付より前に作成されたアイテムを表示"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "の後に作成されました。"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "この日付以降に作成されたアイテムを表示"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "開始日 前"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "この日付より前の開始日のアイテムを表示"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "開始日 後"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "この日付以降の開始日のアイテムを表示"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "目標期日"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "この日付より前の日付のアイテムを表示"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "以降の目標日"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "この日以降に目標日が設定されたアイテムを表示"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "完成前"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "この日までに完了した項目を表示"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "終了後"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "この日以降に完了した項目を表示"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "更新後"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "更新前"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "プロジェクトコード"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "プロジェクトコードが割り当てられた注文の表示"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "バリアントを含む"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
-msgstr ""
+msgstr "部品のバリエーションの結果を含めてください"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "注文状況による絞り込み"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "プロジェクトコードによるフィルタリング"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "責任所有者による絞り込み"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "レポートのフィルタリング"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
-msgstr ""
+msgstr "メーカーで絞り込む"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
-msgstr ""
+msgstr "サプライヤーで絞り込む"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "注文を作成したユーザーによるフィルタリング"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "注文を発行したユーザーによるフィルタリング"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "部品カテゴリーによる絞り込み"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
-msgstr ""
+msgstr "在庫場所で絞り込む"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "フィルタを削除"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "フィルタの値を選択"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "フィルター値の入力"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "日付の値を選択"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "フィルタを選択"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "フィルタ"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "テーブルフィルター"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "フィルタを追加"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "絞り込み条件を解除する"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "記録が見つかりません"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
-msgstr ""
+msgstr "テーブルオプションの読み込み中にエラーが発生しました"
#: src/tables/InvenTreeTable.tsx:250
#~ msgid "Failed to load table options"
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "サーバーが不正なデータ型を返しました。"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,9 +9382,13 @@ msgstr "サーバーが不正なデータ型を返しました。"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "サーバーが不正なデータ型を返しました。"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
-msgstr ""
+msgstr "テーブルデータの読み込み中にエラーが発生しました"
#: src/tables/InvenTreeTable.tsx:594
#: src/tables/InvenTreeTable.tsx:595
@@ -9190,59 +9400,59 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "詳細を見る"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "詳細を見る"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "{model}を表示"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "選択したアイテムを削除"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "選択したアイテムを削除しますか?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "この操作は元に戻せません。"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "削除されたアイテム"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "アイテムの削除に失敗しました"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "カスタムテーブルフィルターが有効"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "選択したレコードの削除"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "データを更新する"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
-msgstr ""
+msgstr "適用中のフィルター"
#: src/tables/TableHoverCard.tsx:35
#~ msgid "item-{idx}"
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "このBOMアイテムは、別の親に定義されています。"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "部品情報"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
-msgstr ""
+msgstr "このBOMは検証されていません"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
-msgstr ""
+msgstr "代替品"
+
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "仮想部品"
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "外部在庫"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "代用株を含む"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "バリアントストック付き"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "建物"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "建物"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "株式情報"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "消耗品"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "在庫なし"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "テスト可能な項目を表示"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "追跡可能なアイテムの表示"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "アクティブパート"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "組み立てられた商品を表示"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
-msgstr ""
+msgstr "仮想アイテムを表示します"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "在庫のある商品を表示"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "注文商品の表示"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "検証済み"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "有効な項目を表示"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "継承"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "継承された項目を表示"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "バリアントを許可"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "バリアント置換が可能な項目を表示"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "オプション"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "オプション項目の表示"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "消耗品"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "消耗品の表示"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "価格"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "価格表示アイテム"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "BOMデータのインポート"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "BOMアイテムの追加"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "BOMアイテムの作成"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "BOMアイテムの編集"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "BOMアイテム更新"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "BOMアイテムの削除"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "BOMアイテム削除"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "BOMアイテムの検証"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "BOMアイテムの検証に失敗しました"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "BOMを見る"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "BOMラインの検証"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "代理編集"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:633
-msgid "Add a single BOM item"
-msgstr ""
+msgstr "BOMの項目を追加する"
#: src/tables/bom/BomTable.tsx:637
+msgid "Add a single BOM item"
+msgstr "BOMに1つの部品を追加する"
+
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
-msgstr ""
+msgstr "ファイルからインポート"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
-msgstr ""
+msgstr "ファイルからBOMの項目をインポートする"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "部品がロックされているため、部品表を編集できません。"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "アセンブリ"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "アクティブなアセンブリの表示"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "追跡可能"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "追跡可能なアセンブリの表示"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "出力への割り当て"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "ビルド出力に割り当てられた項目を表示"
@@ -9538,17 +9754,17 @@ msgstr "ビルド出力に割り当てられた項目を表示"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "注文ステータス"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "株式配分の編集"
@@ -9561,10 +9777,10 @@ msgstr "株式配分の編集"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "割り当て済み在庫を削除する"
#: src/tables/build/BuildAllocatedStockTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:663
@@ -9572,160 +9788,180 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
+msgstr "この割り当て済み在庫をオーダーから削除しても良いですか?"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
-msgstr ""
+msgstr "消費する"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
-msgstr ""
+msgstr "割り当てられた在庫を削除します"
#: src/tables/build/BuildLineTable.tsx:59
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "在庫を見る"
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr ""
+msgid "Show fully allocated lines"
+msgstr "引き当て完了品目を表示します"
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
-msgstr ""
+msgid "Show fully consumed lines"
+msgstr "消費完了品目を表示します"
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr "十分な在庫がある品目を表示します"
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "消耗品ラインの表示"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "オプションラインの表示"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "テスト可能"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "追跡"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "トラッキングラインの表示"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
-msgstr ""
+msgstr "未納入在庫品を表示する"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "生産中"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "在庫不足"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "在庫なし"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "継承"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "単位 数量"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
-msgstr ""
+msgstr "設定数量"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
-msgstr ""
+msgstr "歩留まり損失"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
-msgstr ""
+msgstr "丸め倍数"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
-msgstr ""
+msgstr "BOM情報"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
-msgstr ""
+msgstr "全数引き当て済み"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "ビルドオーダーの作成"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "自動割り当て中"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "在庫の自動割り当て"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "選択されたオプションに従って、このビルドに在庫を自動的に割り当てます。"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "在庫処分"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "このビルドオーダーのすべての未引当在庫を割り当て解除します。"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "選択された品目から在庫を配分解除"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "在庫の配分が終了しました"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "ビルドストック"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "部品を見る"
@@ -9756,31 +9992,31 @@ msgstr "部品を見る"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "目標期日あり"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "目標期日を指定した注文の表示"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "開始日あり"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "開始日を指定した注文の表示"
@@ -9788,7 +10024,7 @@ msgstr "開始日を指定した注文の表示"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "生産量ストック配分"
@@ -9796,105 +10032,109 @@ msgstr "生産量ストック配分"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "ビルド出力の追加"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "ビルド出力の追加"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "ビルド出力が作成されました"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "ビルド出力の編集"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "このアクションは、選択されたビルド出力からすべてのストックを割り当て解除します。"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
-msgstr ""
+msgstr "ビルド出力にシリアル番号を付与します"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "在庫状況で絞り込む"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "選択された出力の完了"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "選択した出力のスクラップ"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "選択した出力のキャンセル"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "割り当て"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "生産量を増やすための在庫配分"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "選択した出力のスクラップ"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "選択した出力のキャンセル"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "割り当て"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "生産量を増やすための在庫配分"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "デアロケート"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "ビルド出力から在庫を割り当て解除"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
-msgstr ""
+msgstr "ビルド出力にシリアル番号を付与します"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "完全なビルド出力"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "スクラップ"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "スクラップビルド出力"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "ビルド出力のキャンセル"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "割り当てライン"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "必須試験"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
-msgstr ""
+msgstr "外部ビルド"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
-msgstr ""
+msgstr "このビルドオーダーは、外部の購入発注書によって完了します"
#: src/tables/company/AddressTable.tsx:122
#: src/tables/company/AddressTable.tsx:187
@@ -9917,28 +10157,28 @@ msgstr "アドレス削除"
msgid "Are you sure you want to delete this address?"
msgstr "本当にこのアドレスを削除しますか?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "会社を追加する"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "会社を追加する"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "活動中の企業を表示"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "サプライヤー企業の表示"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "メーカーを表示"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "顧客企業の表示"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "アイテムを見る"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "項目追加"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "ラインアイテムの編集"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "行削除"
@@ -10082,29 +10322,29 @@ msgstr "内部ユニット"
#: src/tables/general/ParameterTable.tsx:108
#: src/tables/general/ParameterTable.tsx:123
msgid "Updated By"
-msgstr ""
+msgstr "更新済み - "
#: src/tables/general/ParameterTable.tsx:118
msgid "Show parameters for enabled templates"
-msgstr ""
+msgstr "有効なテンプレートのパラメータを表示します"
#: src/tables/general/ParameterTable.tsx:124
msgid "Filter by user who last updated the parameter"
-msgstr ""
+msgstr "パラメーターを最後に更新したユーザーで絞り込みます"
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "パラメーターインポート"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "パラメータ追加"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "パラメータの編集"
@@ -10115,19 +10355,19 @@ msgstr "パラメータの削除"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "パラメーターを追加します"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "パラメーターを作成します"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "新しいパラメーターを作成します"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "ファイルからパラメーターをインポートします"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
@@ -10136,7 +10376,7 @@ msgstr "パラメータテンプレートの追加"
#: src/tables/general/ParameterTemplateTable.tsx:64
msgid "Duplicate Parameter Template"
-msgstr ""
+msgstr "重複パラメーターテンプレート"
#: src/tables/general/ParameterTemplateTable.tsx:78
msgid "Delete Parameter Template"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "選択肢のあるテンプレートを表示"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "ユニット"
@@ -10173,7 +10413,7 @@ msgstr "単位付きテンプレートの表示"
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "有効なテンプレートを表示します"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10183,7 +10423,7 @@ msgstr "モデルタイプ"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "モデルタイプで絞り込みます"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10191,20 +10431,20 @@ msgstr "(打ち間違いはありませんか? 今なら編集が可能です。
#: src/tables/general/ParametricDataTableFilters.tsx:36
msgid "True"
-msgstr ""
+msgstr "有効"
#: src/tables/general/ParametricDataTableFilters.tsx:37
msgid "False"
-msgstr ""
+msgstr "無効"
#: src/tables/general/ParametricDataTableFilters.tsx:47
#: src/tables/general/ParametricDataTableFilters.tsx:80
msgid "Select a choice"
-msgstr ""
+msgstr "選択肢を選んでください"
#: src/tables/general/ParametricDataTableFilters.tsx:100
msgid "Enter a value"
-msgstr ""
+msgstr "値を入力してください"
#: src/tables/machine/MachineListTable.tsx:133
msgid "Machine restarted"
@@ -10233,7 +10473,7 @@ msgstr "マシンは正常に削除されました。"
#: src/tables/machine/MachineListTable.tsx:255
#: src/tables/machine/MachineListTable.tsx:697
msgid "Are you sure you want to remove this machine?"
-msgstr ""
+msgstr "この機器を削除しても良いですか?"
#: src/tables/machine/MachineListTable.tsx:285
msgid "Machine"
@@ -10270,7 +10510,7 @@ msgstr "手動再起動が必要"
#: src/tables/machine/MachineListTable.tsx:343
msgid "General"
-msgstr ""
+msgstr "一般"
#: src/tables/machine/MachineListTable.tsx:353
#: src/tables/machine/MachineListTable.tsx:804
@@ -10292,7 +10532,7 @@ msgstr "エラーなし"
#: src/tables/machine/MachineListTable.tsx:431
msgid "Properties"
-msgstr ""
+msgstr "プロパティ"
#: src/tables/machine/MachineListTable.tsx:494
#~ msgid "Create machine"
@@ -10313,15 +10553,15 @@ msgstr "マシン追加"
#: src/tables/machine/MachineListTable.tsx:691
#: src/tables/machine/MachineListTable.tsx:736
msgid "Delete Machine"
-msgstr ""
+msgstr "機器を削除します"
#: src/tables/machine/MachineListTable.tsx:704
msgid "Edit Machine"
-msgstr ""
+msgstr "機器情報を編集します"
#: src/tables/machine/MachineListTable.tsx:718
msgid "Restart Machine"
-msgstr ""
+msgstr "機器の再起動"
#: src/tables/machine/MachineListTable.tsx:749
msgid "Add machine"
@@ -10337,7 +10577,7 @@ msgstr "ドライバー"
#: src/tables/machine/MachineTypeTable.tsx:72
msgid "Driver Type"
-msgstr ""
+msgstr "機器ソフトウェアタイプ"
#: src/tables/machine/MachineTypeTable.tsx:76
msgid "Builtin driver"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "通知"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "メッセージ"
@@ -10456,18 +10696,18 @@ msgstr "組立部品の表示"
#: src/tables/part/PartBuildAllocationsTable.tsx:64
msgid "Assembly IPN"
-msgstr ""
+msgstr "アセンブリ IPN"
#: src/tables/part/PartBuildAllocationsTable.tsx:73
msgid "Part IPN"
-msgstr ""
+msgstr "パートIPN"
#: src/tables/part/PartBuildAllocationsTable.tsx:91
msgid "Required Stock"
msgstr "必要在庫"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "ビルドオーダーを見る"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "このカテゴリの通知を購読しています"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "サブカテゴリを含む"
@@ -10560,136 +10800,136 @@ msgstr "保留中の注文を表示"
msgid "Show received items"
msgstr "受信アイテムの表示"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "販売オーダーを見る"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "最小在庫"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "有効なパーツでフィルタ"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "部品ロック状態によるフィルタリング"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "アセンブリ属性によるフィルタリング"
-#: src/tables/part/PartTable.tsx:215
-msgid "BOM Valid"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:216
-msgid "Filter by parts with a valid BOM"
-msgstr ""
+msgid "BOM Valid"
+msgstr "BOMが有効です"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:217
+msgid "Filter by parts with a valid BOM"
+msgstr "有効なBOMを持つ部品でフィルタリングしてください"
+
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "サブカテゴリのパーツを含む"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "コンポーネント属性でフィルタ"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "テスト可能な属性によるフィルタリング"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "追跡可能属性でフィルタ"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "単位のある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "IPNあり"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "内部部品番号を持つ部品によるフィルタリング"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "在庫あり"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "在庫がある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "在庫の少ない部品で絞り込み"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "購入可能"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "購入可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "販売可能"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "販売可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "仮想部品でフィルタ"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "仮想部品ではない"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "テンプレート"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "テンプレートになっているパーツで絞り込み"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "バリエーション?"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "バリエーション部品によるフィルタリング"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "改訂版"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "改定箇所による絞り込み"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "改定あり"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "リビジョンがある部品でフィルタリング"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "価格情報のある部品でフィルタリング"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "在庫のある部品で絞り込み"
@@ -10701,58 +10941,58 @@ msgstr "在庫のある部品で絞り込み"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "ユーザーが購読しているパートによるフィルタリング"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
-msgstr ""
+msgstr "部品をインポートします"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "カテゴリを設定"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "選択した部品にカテゴリを設定"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "選択した部品の注文"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
-msgstr ""
+msgstr "パーツを追加"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
-msgstr ""
+msgstr "部品を作成する"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
-msgstr ""
+msgstr "新しい部品を作成します"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
-msgstr ""
+msgstr "部品をファイルからインポートします"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
-msgstr ""
+msgstr "サプライヤーからインポートします"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
-msgstr ""
+msgstr "サプライヤープラグインから部品をインポートします"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "テスト結果の追加"
@@ -10763,18 +11003,18 @@ msgstr "テスト結果追加"
#: src/tables/part/PartTestResultTable.tsx:142
msgid "Add Test Results"
-msgstr ""
+msgstr "テスト結果を追加します"
#: src/tables/part/PartTestResultTable.tsx:152
msgid "Test results added"
-msgstr ""
+msgstr "テスト結果を追加しました"
#: src/tables/part/PartTestResultTable.tsx:180
#: src/tables/stock/StockItemTestResultTable.tsx:197
msgid "No Result"
msgstr "結果なし"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "現在生産中のビルド出力を表示"
@@ -10859,7 +11099,15 @@ msgstr "親部分を見る"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "パートがロックされているため、パートテンプレートは編集できません。"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "選択"
@@ -10913,7 +11161,7 @@ msgstr "選択リストの編集"
msgid "Delete Selection List"
msgstr "選択リストの削除"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "ステージ"
@@ -10943,7 +11191,7 @@ msgstr "プラグイン"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "必須"
@@ -10973,68 +11221,68 @@ msgstr "詳細不明"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "プラグイン有効化の確認"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "プラグイン無効化の確認"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "選択したプラグインが有効になります。"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "選択したプラグインは無効化されます。"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "選択したプラグインが有効になります。"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "選択したプラグインは無効化されます。"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "無効化する"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "有効化"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "選択したプラグインを有効化"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "有効化"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "選択したプラグインを有効化"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "選択したプラグインを更新"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "アンインストール"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "選択したプラグインをアンインストール"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "選択したプラグイン設定を削除"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "プラグインを有効化"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "プラグインが有効化されました"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "プラグインが無効化されました"
@@ -11042,20 +11290,20 @@ msgstr "プラグインが無効化されました"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "プラグインをインストール"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "インストール"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "プラグインは正常にインストールされました"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "プラグインをアンインストールする"
@@ -11063,23 +11311,23 @@ msgstr "プラグインをアンインストールする"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "プラグインのアンインストールを確認"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "選択したプラグインがアンインストールされます。"
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "プラグインが正常にアンインストールされました"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "プラグインの削除"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "このプラグイン設定を削除すると、関連するすべての設定とデータが削除されます。本当にこのプラグインを削除しますか?"
@@ -11087,11 +11335,11 @@ msgstr "このプラグイン設定を削除すると、関連するすべての
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "プラグインのリロード"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "プラグインは正常にリロードされました"
@@ -11103,7 +11351,7 @@ msgstr "プラグインは正常にリロードされました"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "プラグインの再読み込み"
@@ -11115,7 +11363,7 @@ msgstr "プラグインの再読み込み"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "プラグイン詳細"
@@ -11127,12 +11375,12 @@ msgstr "プラグイン詳細"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "サンプル"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "インストール済み"
@@ -11152,32 +11400,26 @@ msgstr "インストール済み"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "アクティブパート"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
-msgstr ""
+msgstr "現在使用中の社内部品に関連付けられている、メーカー部品を表示します"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
-msgstr ""
+msgstr "取引中メーカー"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
-msgstr ""
+msgstr "取引中メーカーの製造部品を表示します。"
#: src/tables/purchasing/ManufacturerPartTable.tsx:63
#~ msgid "Create Manufacturer Part"
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "ラインアイテムのインポート"
@@ -11204,15 +11446,15 @@ msgstr "ラインアイテムのインポート"
msgid "Supplier Code"
msgstr "サプライヤーコード"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "サプライヤーリンク"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "メーカーコード"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "受領済みの品目を表示"
@@ -11222,30 +11464,22 @@ msgstr "受領済みの品目を表示"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "品目を受け取る"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "商品を受け取る"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "ベースユニット"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "サプライヤー部品の追加"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "サプライヤー部品の追加"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "サプライヤー部品をインポート"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "アクティブなサプライヤー部品を表示"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "アクティブな内部部品の表示"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "アクティブ・サプライヤー"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "アクティブなサプライヤーを表示"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "在庫のあるサプライヤー部品を表示"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "受領日"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "受信済みアイテムの表示"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "項目ステータスによるフィルタリング"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "選択した商品を受け取る"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "商品を受け取る"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "未処理の割り当てを表示"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "出荷に割り当て"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "貨物に割り当てられた配分を表示"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "利用可能な数量"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "割当数量"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "出荷なし"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "未出荷"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "編集配分"
@@ -11333,16 +11579,16 @@ msgstr "編集配分"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "出荷を見る"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "出荷への割り当て"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "出荷への割り当て"
@@ -11350,31 +11596,35 @@ msgstr "出荷への割り当て"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "シリアル番号の割り当て"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "シリアル番号の割り当て"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "完全に割り当てられた行を表示"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "完了した行を表示"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "シリアルの割り当て"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "ビルドストック"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "注文在庫"
@@ -11386,78 +11636,82 @@ msgstr "注文在庫"
msgid "Create Shipment"
msgstr "出荷の作成"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "アイテム"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "出荷の編集"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "出荷のキャンセル"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "貨物の追加"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
-msgstr ""
+msgstr "確認済みの出荷を表示します"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "出荷済み貨物の表示"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "配送済みの貨物の表示"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "トークンを生成"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "トークン生成完了"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "失効"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "トークン"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "ラベル印刷に使用するプラグインを選択します。"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "最終表示"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "有効 期限"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "取り消されたトークンの表示"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "取消し"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "トークン失効エラー"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "トークンは一度しか表示されません。"
@@ -11545,64 +11799,64 @@ msgstr "カスタムユニットの追加"
#: src/tables/settings/EmailTable.tsx:25
msgid "Announced"
-msgstr ""
+msgstr "発表されました"
#: src/tables/settings/EmailTable.tsx:27
msgid "Sent"
-msgstr ""
+msgstr "送信"
#: src/tables/settings/EmailTable.tsx:29
msgid "Failed"
-msgstr ""
+msgstr "失敗"
#: src/tables/settings/EmailTable.tsx:33
msgid "Read"
-msgstr ""
+msgstr "既読"
#: src/tables/settings/EmailTable.tsx:35
msgid "Confirmed"
-msgstr ""
+msgstr "確認済み"
#: src/tables/settings/EmailTable.tsx:43
#: src/tables/settings/EmailTable.tsx:58
msgid "Send Test Email"
-msgstr ""
+msgstr "テストメールを送信"
#: src/tables/settings/EmailTable.tsx:45
msgid "Email sent successfully"
-msgstr ""
+msgstr "メールは正常に送信されました"
#: src/tables/settings/EmailTable.tsx:71
msgid "Delete Email"
-msgstr ""
+msgstr "メールの削除"
#: src/tables/settings/EmailTable.tsx:72
msgid "Email deleted successfully"
-msgstr ""
+msgstr "メールの削除が正常に完了しました"
#: src/tables/settings/EmailTable.tsx:80
msgid "Subject"
-msgstr ""
+msgstr "件名"
#: src/tables/settings/EmailTable.tsx:85
msgid "To"
-msgstr ""
+msgstr "まで"
#: src/tables/settings/EmailTable.tsx:90
msgid "Sender"
-msgstr ""
+msgstr "送信者"
#: src/tables/settings/EmailTable.tsx:122
msgid "Direction"
-msgstr ""
+msgstr "方向"
#: src/tables/settings/EmailTable.tsx:125
msgid "Incoming"
-msgstr ""
+msgstr "受信"
#: src/tables/settings/EmailTable.tsx:125
msgid "Outgoing"
-msgstr ""
+msgstr "送信"
#: src/tables/settings/ErrorTable.tsx:51
#~ msgid "Delete error report"
@@ -11647,7 +11901,7 @@ msgstr "輸出日"
#: src/tables/settings/ExportSessionTable.tsx:59
msgid "Delete Output"
-msgstr ""
+msgstr "出力の削除"
#: src/tables/settings/FailedTasksTable.tsx:32
#: src/tables/settings/PendingTasksTable.tsx:28
@@ -11697,7 +11951,7 @@ msgstr "ユーザーグループ名"
#: src/tables/settings/GroupTable.tsx:170
#: src/tables/settings/UserTable.tsx:315
msgid "Open Profile"
-msgstr ""
+msgstr "プロフィールを開く"
#: src/tables/settings/GroupTable.tsx:185
msgid "Delete group"
@@ -11759,15 +12013,15 @@ msgstr "引数"
#: src/tables/settings/PendingTasksTable.tsx:61
msgid "Remove all pending tasks"
-msgstr ""
+msgstr "保留中のタスクをすべて削除します"
#: src/tables/settings/PendingTasksTable.tsx:69
msgid "All pending tasks deleted"
-msgstr ""
+msgstr "保留中のタスクはすべて削除されました"
#: src/tables/settings/PendingTasksTable.tsx:76
msgid "Error while deleting all pending tasks"
-msgstr ""
+msgstr "保留中のタスクをすべて削除中にエラーが発生しました"
#: src/tables/settings/ProjectCodeTable.tsx:58
msgid "Edit Project Code"
@@ -11924,11 +12178,11 @@ msgstr "ユーザーグループ"
#: src/tables/settings/UserTable.tsx:332
msgid "Lock user"
-msgstr ""
+msgstr "ユーザーをロックします"
#: src/tables/settings/UserTable.tsx:342
msgid "Unlock user"
-msgstr ""
+msgstr "ユーザーのロックを解除します"
#: src/tables/settings/UserTable.tsx:358
msgid "Delete user"
@@ -11944,11 +12198,11 @@ msgstr "このユーザーを削除してもよろしいですか?"
#: src/tables/settings/UserTable.tsx:372
msgid "Set Password"
-msgstr ""
+msgstr "パスワードを設定してください"
#: src/tables/settings/UserTable.tsx:377
msgid "Password updated"
-msgstr ""
+msgstr "パスワードを更新しました"
#: src/tables/settings/UserTable.tsx:388
msgid "Add user"
@@ -11980,34 +12234,34 @@ msgstr "ユーザー追加"
#: src/tables/settings/UserTable.tsx:481
msgid "User updated"
-msgstr ""
+msgstr "ユーザーを更新しました"
#: src/tables/settings/UserTable.tsx:482
msgid "User updated successfully"
-msgstr ""
+msgstr "ユーザーの更新が正常に完了しました"
#: src/tables/settings/UserTable.tsx:488
msgid "Error updating user"
-msgstr ""
+msgstr "ユーザーの更新中にエラーが発生しました"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "インストール項目"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "装着品"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "アンインストールアイテム"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "アンインストールされたアイテム"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "ストックアイテムのアンインストール"
@@ -12028,207 +12282,159 @@ msgstr "ロケーションタイプの削除"
msgid "Icon"
msgstr "アイコン"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "この在庫商品は生産中です"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "ストックテイク日"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "この在庫商品は販売注文に割り当てられています。"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "現役部品の在庫表示"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "この在庫商品は顧客に割り当てられています"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "組立部品の在庫表示"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "この在庫品は他の在庫品に取り付けられています"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "割り当て済みのアイテムを表示"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "このストックアイテムはビルドオーダーによって消費されました。"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "利用可能なアイテムを表示"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "この在庫はありません"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "サブロケーションを含む"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "この在庫商品は有効期限が切れています"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "サブロケ地の在庫を含む"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "この在庫商品は古くなっています。"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "枯渇"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "このストックアイテムは完全に割り当てられています。"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "在庫切れ商品の表示"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "このストックアイテムは部分的に配分されています。"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "生産中のアイテムを表示"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "この在庫はなくなりました"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "ビルドオーダーで消費されたアイテムの表示"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "他のアイテムにインストールされているストックアイテムを表示"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "お客様に送付"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "顧客に送られた商品を表示"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "追跡済みアイテムの表示"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "購入価格"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "購入価格のある商品を表示"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "期限切れの商品を表示"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "古くなったアイテムを表示"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "賞味期限切れ"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "この日より前に賞味期限が切れた商品を表示"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "有効期限日数"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "期限切れの商品を表示"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "この日より前に更新されたアイテムを表示"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "この日以降に更新されたアイテムを表示"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "ストックテイク前"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "この日より前にカウントされたアイテムを表示"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "ストックテイク後"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "この日以降にカウントされたアイテムを表示"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "ストックテイク日"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "外部ロケーション"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "現役部品の在庫表示"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "組立部品の在庫表示"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "割り当て済みのアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "利用可能なアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "サブロケーションを含む"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "サブロケ地の在庫を含む"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "枯渇"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "在庫切れ商品の表示"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "生産中のアイテムを表示"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "外部ロケーションにアイテムを表示"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "ビルドオーダーで消費されたアイテムの表示"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "他のアイテムにインストールされているストックアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "お客様に送付"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "顧客に送られた商品を表示"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "追跡済みアイテムの表示"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "購入価格"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "購入価格のある商品を表示"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "期限切れの商品を表示"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "古くなったアイテムを表示"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "賞味期限切れ"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "この日より前に賞味期限が切れた商品を表示"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "有効期限日数"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "期限切れの商品を表示"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "更新前"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "この日より前に更新されたアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "更新後"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "この日以降に更新されたアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "ストックテイク前"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "この日より前にカウントされたアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "ストックテイク後"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "この日以降にカウントされたアイテムを表示"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "外部ロケーション"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "外部ロケーションにアイテムを表示"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "注文アイテム"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "修了済み"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "テスト結果の編集"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "テスト結果更新"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "テスト結果の削除"
@@ -12327,27 +12533,27 @@ msgstr "試験結果の記録に失敗"
msgid "Pass Test"
msgstr "パステスト"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "必要なテストの結果を表示"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "インストール済み"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "インストールされているストックアイテムの結果を表示"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "合格"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "合格したテストのみを表示"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "有効化されたテストの結果を表示"
@@ -12392,15 +12598,23 @@ msgstr "親の位置の設定"
msgid "Set parent location for the selected items"
msgstr "選択されたアイテムの親ロケーションを設定"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "追加"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "削除されました"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "ユーザー情報なし"
diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po
index 7bcfbd9901..8227291654 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po
index 3f6ff98f36..e78492639e 100644
--- a/src/frontend/src/locales/lt/messages.po
+++ b/src/frontend/src/locales/lt/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: lt\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Neatlikta"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Taip"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Ne"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Klaida atvaizduojant komponentą"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Įvyko klaida atvaizduojant šį komponentą. Daugiau informacijos rasite konsoleje."
@@ -637,7 +648,7 @@ msgstr "Brūkšninis kodas"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Nuskaityti"
@@ -668,8 +679,8 @@ msgstr "Įveskite brūkšninio kodo duomenis"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Nuskaityti brūkšninį kodą"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Nepavyko susieti brūkšninio kodo"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Susieti"
@@ -754,7 +765,7 @@ msgstr "Tai pašalins nuorodą į susietą brūkšninį kodą"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Atsieti brūkšninį kodą"
@@ -766,11 +777,11 @@ msgstr "Atidaryti administravimo sąsajoje"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Nukopijuota"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopijuoti"
@@ -798,19 +809,15 @@ msgstr "Spausdinamos ataskaitos"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Spausdinti etiketę"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Spausdinti"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Spausdinti"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Spausdinti ataskaitą"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Spausdinimo veiksmai"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Spausdinti etiketes"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Spausdinti ataskaitas"
@@ -860,8 +867,8 @@ msgstr "Būsite nukreiptas pas tiekėją tolimesniems veiksmams."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Atidaryti brūkšninio kodo skaitytuvą"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr "Atsisakyti pranešimų"
msgid "Subscribe to notifications"
msgstr "Prenumeruoti pranešimus"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po
index 50dae1c7e8..1092189ab2 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po
index d8895a5e80..191702152f 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Bewerken"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Verwijderen"
@@ -44,36 +44,36 @@ msgstr "Verwijderen"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Annuleer"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Acties"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Zoeken"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Niet geslaagd"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ja"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nee"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Onderdeel"
@@ -134,7 +138,7 @@ msgstr "Onderdeel"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Onderdelen"
@@ -149,14 +153,14 @@ msgstr "Onderdelen"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parameters"
@@ -168,7 +172,7 @@ msgstr "Parameter sjabloon"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Parameter sjablonen"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Templatesjablonen voor onderdeel"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Leverancier onderdeel"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Leveranciers onderdelen"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Fabrikant onderdelen"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Onderdeel categorie"
@@ -218,19 +222,22 @@ msgstr "Onderdeel categorie"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Onderdeel categorieën"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Voorraad item"
@@ -238,22 +245,22 @@ msgstr "Voorraad item"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Voorraad items"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Voorraad locatie"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Voorraad locatie"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Voorraad locatie types"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Voorraad geschiedenis"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Bouw onderdelen"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Bedrijven"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Project code"
@@ -330,21 +337,21 @@ msgstr "Project codes"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Inkooporder"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Inkooporders"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Inkooporder regels"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Verkooporder"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Verkooporders"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Verzending verkooporder"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Verzendingen verkooporders"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Retourorder"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Retourorders"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adres:"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adressen"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contact"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contacten"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Eigenaar"
@@ -451,15 +458,15 @@ msgstr "Eigenaren"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Gebruiker"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Rapport sjablonen"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Plug-in configuratie"
@@ -543,31 +550,31 @@ msgstr "Selectie lijsten"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Administrator"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Productieorders"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Proces is mislukt"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Proces succesvol voltooid"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Fout bij renderen component"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Er is een fout opgetreden tijdens het weergeven van deze component. Raadpleeg de console voor meer informatie."
@@ -637,7 +648,7 @@ msgstr "Barcode"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Scannen"
@@ -668,8 +679,8 @@ msgstr "Voer barcode gegevens in"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Scan barcode"
@@ -688,7 +699,7 @@ msgstr "Barcode komt niet overeen met het verwachte type model"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Succes"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Streepjescode koppelen mislukt"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -754,7 +765,7 @@ msgstr "Dit verwijdert de link naar de bijbehorende barcode"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Barcode loskoppelen"
@@ -766,11 +777,11 @@ msgstr "Open in admin interface"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Gekopieerd"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopieer"
@@ -798,19 +809,15 @@ msgstr "Rapporten afdrukken"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Label afdrukken"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Afdrukken"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Afdrukken"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Rapport afdrukken"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Acties afdrukken"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Labels afdrukken"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Raport afdrukken"
@@ -860,8 +867,8 @@ msgstr "Je wordt doorverwezen naar de provider voor verdere acties."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Barcode Scanner openen"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Uitschrijven van meldingen"
msgid "Subscribe to notifications"
msgstr "Abonneren op notificaties"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Kalender filters"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Vorige maand"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Selecteer maand"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Volgende maand"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Gegevens downloaden"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Gegevens exporteren"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Fout bij bijwerken bestelling"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Achterstallig"
@@ -937,7 +949,7 @@ msgstr "Accepteer lay-out"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Geen widgets beschikbaar"
msgid "There are no more widgets available for the dashboard"
msgstr "Er zijn geen widgets meer beschikbaar voor het dashboard"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Geabonneerde onderdelen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Toon het aantal onderdelen waarop u bent geabonneerd"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Geabonneerde categorieën"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Toon het aantal onderdelen categorieën waarop u bent geabonneerd"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Invalid BOMs"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Buurderijen waarvoor de materialen gevalideerd moeten worden"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Lage voorraad"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Toon het aantal onderdelen die lage voorraad hebben"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Benodigd voor Build Orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Toon onderdelen die nodig zijn voor actieve bouw orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Verlopen voorraad items"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Toon het aantal voorraadartikelen dat verlopen is"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Verouderde voorraad items"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Toon het aantal voorraadartikelen die verouderd zijn"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Actieve bouworders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Laat het aantal bouw orders zien die momenteel actief zijn."
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Achterstallige Build orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Laat het aantal bouw orders zien die achterstallig zijn"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Toegewezen bouworders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Het aantal bouw orders die aan u zijn toegewezen tonen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Actieve verkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Toon het aantal actieve verkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Achterstallige Verkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Toon het aantal achterstallig orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Toegewezen verkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Toon het aantal aan u toegewezen verkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "Verzendingen in behandeling"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
-msgstr ""
+msgstr "Toon het aantal lopende verzendingen van bestellingen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Actieve inkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Toon het aantal inkooporders die momenteel actief zijn"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Achterstallige inkooporders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Toon het aantal inkooporders die achterstallig zijn"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Toegewezen inkoopbestellingen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Toon het aantal inkooporders die aan u zijn toegewezen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Actieve retour orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Toon het aantal retour orders die momenteel actief zijn"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Achterstallige retour orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Het aantal retour orders dat achterstallig is weergeven"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Toegewezen retour orders"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Toon het aantal retour orders die aan u zijn toegewezen"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Aan de slag!"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Aan de slag met InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Nieuws updates"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Het laatste nieuws van InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Geen nieuwsberichten"
msgid "There are no unread news items"
msgstr "Er zijn geen ongelezen nieuwsartikelen"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Voorraadcontrole rapport genereren"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Voorraadcontrole rapport genereren"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Genereren"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Voorraadcontrole"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Genereer een nieuw voorraadrapport"
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Er zijn geen ongelezen nieuwsartikelen"
msgid "Superuser"
msgstr "Administrator "
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Medewerkers"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "E-mailadres: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Geen naam gedefinieerd"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "De bijbehorende afbeelding van dit item verwijderen?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Verwijderen"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Hiernaar toe slepen om te uploaden"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klik om bestand(en) te selecteren"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Afbeelding geüpload"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Afbeelding is met succes geüpload"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Fout bij uploaden"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Wis"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Versturen"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Selecteer uit bestaande afbeeldingen"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Selecteer afbeelding"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Download externe afbeelding"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Nieuwe afbeelding uploaden"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Afbeelding Uploaden"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Afbeelding verwijderen"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Download afbeelding"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Afbeelding succesvol gedownload"
@@ -1452,7 +1495,7 @@ msgstr "Het voorbeeld is met succes bijgewerkt."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "Er is een onbekende fout opgetreden bij het weergeven van het voorbeeld."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1546,7 +1589,7 @@ msgstr "Er staan fouten in één of meer formuliervelden"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Bijwerken"
@@ -1579,21 +1622,21 @@ msgstr "Met succes ingelogd"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Inloggen mislukt"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Controleer uw invoer en probeer het opnieuw."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "E-mail levering gelukt"
@@ -1628,7 +1671,7 @@ msgstr "Je gebruikersnaam"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Wachtwoord"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Herhaal wachtwoord"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registreren"
@@ -1720,6 +1763,10 @@ msgstr "Registratie niet actief"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Dit kan gerelateerd zijn aan ontbrekende e-mailinstellingen of kan een weloverwogen beslissing zijn."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Datum en tijd selecteren"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Hostnaam"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API versie"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Plug-ins"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Ingeschakeld"
@@ -1850,17 +1898,17 @@ msgstr "Gestopt"
msgid "Running"
msgstr "Bezig"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Selecteer bestand om te uploaden"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Voorgestelde waarde accepteren"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Selecteer datum"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Niet-gecategoriseerd"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Zoeken..."
@@ -1890,13 +1938,13 @@ msgstr "Selecteer pakket"
msgid "{0} icons"
msgstr "{0} pictogrammen"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Laden"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Geen resultaten gevonden"
@@ -1940,49 +1988,49 @@ msgstr "Gegevens bewerken"
msgid "Delete Row"
msgstr "Rij verwijderen"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Rij"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Rij bevat fouten"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Accepteren"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Valid"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filter op rij validatiestatus"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Complete"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filter op rij voltooiingsstatus"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Geselecteerde rijen importeren"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Gegevens verwerken"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Er is een fout opgetreden"
@@ -2002,31 +2050,31 @@ msgstr "Selecteer kolom, of laat leeg om dit veld te negeren."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Negeer dit veld"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Gegevenskolommen toewijzen aan database velden"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Accepteer kolomtoewijzing"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Database veld"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Veld beschrijving"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Geïmporteerde kolom"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Standaard waarde"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Map kolommen"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Gegevens importeren"
+msgid "Import Rows"
+msgstr "Importeer Rijen"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "De gegevens zijn met succes geïmporteerd"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Sluiten"
@@ -2104,8 +2152,8 @@ msgstr "Opties"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Barcode acties"
@@ -2177,10 +2225,15 @@ msgstr "Onbekende fout."
msgid "None"
msgstr "Geen"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Inventree logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr "Standaard Taal"
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Selecteer taal"
@@ -2208,9 +2261,10 @@ msgstr "Groepsrollen bijwerken"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Bijgewerkt"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Rol"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Bekijken"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Wijzigen"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Toevoegen"
@@ -2255,14 +2309,14 @@ msgstr "Geen artikelen"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Beschikbaar"
@@ -2320,7 +2374,7 @@ msgstr "Links"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentatie"
@@ -2479,7 +2533,7 @@ msgstr "Waarschuwingen"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Geen problemen gevonden"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "Meer informatie over {code}"
msgid "Notifications"
msgstr "Meldingen"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Niets gevonden..."
@@ -2547,7 +2601,7 @@ msgstr "Instellingen"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Gebruiker instellingen"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Systeem instellingen"
@@ -2578,14 +2632,14 @@ msgstr "Systeem instellingen"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Beheerder Center"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Uitloggen"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Voorraad"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Productie"
@@ -2636,21 +2690,21 @@ msgstr "Productie"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Kopen"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Verkoop"
@@ -2705,7 +2759,7 @@ msgstr "Verwijder zoekgroep"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Leveranciers"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabrikant"
@@ -2768,21 +2822,21 @@ msgstr "Geen resultaten beschikbaar voor zoekopdracht"
msgid "Attachments"
msgstr "Bijlagen"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Opmerkingen"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Plug-in geleverd"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Panelen samenvouwen"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Panelen uitklappen"
@@ -2809,19 +2863,19 @@ msgstr "Plug-in informatie"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Auteur"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Datum"
@@ -2845,48 +2899,54 @@ msgstr "Datum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Actief"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Website"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Pakket naam"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Installatie pad"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Ingebouwd"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Pakket"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Plug-in instellingen"
@@ -2969,65 +3029,65 @@ msgstr "Onbekend model: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Verzending"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inactief"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtueel"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Geen voorraad"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "In bestelling"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "In productie"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Beschrijving"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Categorie"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Locatie"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Serienummer"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Aantal"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Batch"
@@ -3125,7 +3183,7 @@ msgstr "Bron"
#: src/components/settings/QuickAction.tsx:47
msgid "Act"
-msgstr ""
+msgstr "Doen"
#: src/components/settings/QuickAction.tsx:73
#: src/components/settings/QuickAction.tsx:113
@@ -3143,95 +3201,103 @@ msgstr "Staat toevoegen"
#: src/components/settings/QuickAction.tsx:85
msgid "Open an Issue"
-msgstr ""
+msgstr "Rapporteer een probleem"
#: src/components/settings/QuickAction.tsx:86
msgid "Report a bug or request a feature on GitHub"
-msgstr ""
+msgstr "Rapporteer een bug of vraag een functie aan op GitHub"
#: src/components/settings/QuickAction.tsx:88
msgid "Open Issue"
-msgstr ""
+msgstr "Openstaande problemen"
#: src/components/settings/QuickAction.tsx:97
msgid "Add New Group"
-msgstr ""
+msgstr "Nieuwe Groep Toevoegen"
#: src/components/settings/QuickAction.tsx:98
msgid "Create a new group to manage your users"
-msgstr ""
+msgstr "Maak een nieuwe groep om uw gebruikers te beheren"
#: src/components/settings/QuickAction.tsx:100
msgid "New Group"
-msgstr ""
+msgstr "Nieuwe groep"
#: src/components/settings/QuickAction.tsx:105
msgid "Add New User"
-msgstr ""
+msgstr "Nieuwe gebruiker toevoegen"
#: src/components/settings/QuickAction.tsx:106
msgid "Create a new user to manage your groups"
-msgstr ""
+msgstr "Nieuwe gebruiker toevoegen om uw groepen te beheren"
#: src/components/settings/QuickAction.tsx:108
msgid "New User"
-msgstr ""
+msgstr "Nieuwe gebruiker"
#: src/components/settings/QuickAction.tsx:114
msgid "Create a new project code to organize your items"
-msgstr ""
+msgstr "Maak een nieuwe projectcode om uw items te organiseren"
#: src/components/settings/QuickAction.tsx:116
msgid "Add Code"
-msgstr ""
+msgstr "Code toevoegen"
#: src/components/settings/QuickAction.tsx:121
msgid "Add Custom State"
-msgstr ""
+msgstr "Aangepaste staat toevoegen"
#: src/components/settings/QuickAction.tsx:122
msgid "Create a new custom state for your workflow"
-msgstr ""
+msgstr "Maak een nieuwe aangepaste status voor uw workflow"
+
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Wilt u doorgaan met het wijzigen van deze instelling?"
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Deze instelling vereist bevestiging"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Instelling wijzigen"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Instelling {key} met succes bijgewerkt"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Instelling bijgewerkt"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Instelling {0} met succes bijgewerkt"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Fout bij bewerken instelling"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Fout bij laden instellingen"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Geen instellingen"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Er zijn geen configureerbare instellingen beschikbaar"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Geen instellingen opgegeven"
@@ -3593,140 +3659,140 @@ msgstr "Geen instellingen opgegeven"
#: src/components/wizards/ImportPartWizard.tsx:105
msgid "Exact Match"
-msgstr ""
+msgstr "Exacte overeenkomst"
#: src/components/wizards/ImportPartWizard.tsx:112
msgid "Current part"
-msgstr ""
+msgstr "Huidig onderdeel"
#: src/components/wizards/ImportPartWizard.tsx:118
msgid "Already Imported"
-msgstr ""
+msgstr "Al geïmporteerd"
#: src/components/wizards/ImportPartWizard.tsx:205
#: src/pages/company/CompanyDetail.tsx:137
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Leverancier"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Laden..."
#: src/components/wizards/ImportPartWizard.tsx:223
msgid "Error fetching suppliers"
-msgstr ""
+msgstr "Fout bij ophalen leveranciers"
#: src/components/wizards/ImportPartWizard.tsx:224
msgid "Select supplier"
-msgstr ""
+msgstr "Selecteer leverancier"
#. placeholder {0}: searchResults.length
#: src/components/wizards/ImportPartWizard.tsx:246
msgid "Found {0} results"
-msgstr ""
+msgstr "{0} Resultaten gevonden"
#: src/components/wizards/ImportPartWizard.tsx:259
msgid "Import this part"
-msgstr ""
+msgstr "Importeer dit onderdeel"
#: src/components/wizards/ImportPartWizard.tsx:313
msgid "Are you sure you want to import this part into the selected category now?"
-msgstr ""
+msgstr "Weet u zeker dat u dit deel nu in de geselecteerde categorie wilt importeren?"
#: src/components/wizards/ImportPartWizard.tsx:326
msgid "Import Now"
-msgstr ""
+msgstr "Nu importeren"
#: src/components/wizards/ImportPartWizard.tsx:372
msgid "Select and edit the parameters you want to add to this part."
-msgstr ""
+msgstr "Selecteer en bewerk de parameters die u wilt toevoegen aan dit onderdeel."
#: src/components/wizards/ImportPartWizard.tsx:379
msgid "Default category parameters"
-msgstr ""
+msgstr "Standaard categorie parameters"
#: src/components/wizards/ImportPartWizard.tsx:391
msgid "Other parameters"
-msgstr ""
+msgstr "Andere parameters"
#: src/components/wizards/ImportPartWizard.tsx:446
msgid "Add a new parameter"
-msgstr ""
+msgstr "Een parameter toevoegen"
#: src/components/wizards/ImportPartWizard.tsx:468
msgid "Skip"
-msgstr ""
+msgstr "Overslaan"
#: src/components/wizards/ImportPartWizard.tsx:476
msgid "Create Parameters"
-msgstr ""
+msgstr "Parameter aanmaken"
#: src/components/wizards/ImportPartWizard.tsx:493
msgid "Create initial stock for the imported part."
-msgstr ""
+msgstr "Maak eerste voorraad aan voor het geïmporteerde onderdeel."
#: src/components/wizards/ImportPartWizard.tsx:511
msgid "Next"
-msgstr ""
+msgstr "Volgende"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Onderdeel bewerken"
#: src/components/wizards/ImportPartWizard.tsx:567
msgid "Part imported successfully!"
-msgstr ""
+msgstr "Onderdeel succesvol geïmporteerd!"
#: src/components/wizards/ImportPartWizard.tsx:576
msgid "Failed to import part: "
-msgstr ""
+msgstr "Onderdeel importeren mislukt: "
#: src/components/wizards/ImportPartWizard.tsx:641
msgid "Are you sure, you want to import the supplier and manufacturer part into this part?"
-msgstr ""
+msgstr "Weet u zeker dat u het leveranciers en het fabrikant onderdeel wilt importeren"
#: src/components/wizards/ImportPartWizard.tsx:655
msgid "Import"
-msgstr ""
+msgstr "Importeer"
#: src/components/wizards/ImportPartWizard.tsx:692
msgid "Parameters created successfully!"
-msgstr ""
+msgstr "Parameters succesvol aangemaakt!"
#: src/components/wizards/ImportPartWizard.tsx:720
msgid "Failed to create parameters, please fix the errors and try again"
-msgstr ""
+msgstr "Het maken van parameters is mislukt, fix de errors en probeer opnieuw"
#. placeholder {0}: supplierPart?.supplier
#: src/components/wizards/ImportPartWizard.tsx:740
msgid "Part imported successfully from supplier {0}."
-msgstr ""
+msgstr "Onderdeel succesvol geïmporteerd van leverancier {0}."
#: src/components/wizards/ImportPartWizard.tsx:753
msgid "Open Part"
-msgstr ""
+msgstr "Onderdeel openen"
#: src/components/wizards/ImportPartWizard.tsx:760
msgid "Open Supplier Part"
-msgstr ""
+msgstr "Onderdeel leverancier openen"
#: src/components/wizards/ImportPartWizard.tsx:767
msgid "Open Manufacturer Part"
-msgstr ""
+msgstr "Onderdeel fabrikant openen"
#: src/components/wizards/ImportPartWizard.tsx:797
#: src/tables/part/PartTable.tsx:499
@@ -3735,55 +3801,55 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:803
msgid "Import Supplier Part"
-msgstr ""
+msgstr "Leveranciers onderdeel importeren"
#: src/components/wizards/ImportPartWizard.tsx:805
msgid "Search Supplier Part"
-msgstr ""
+msgstr "Leveranciers onderdeel zoeken"
#: src/components/wizards/ImportPartWizard.tsx:807
msgid "Confirm import"
-msgstr ""
+msgstr "Importeren bevestigen"
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Klaar"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "Fout bij ophalen onderdelen eisen"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Vereisten"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
-msgstr ""
+msgstr "Bouw Eisen"
#: src/components/wizards/OrderPartsWizard.tsx:123
msgid "Sales Requirements"
-msgstr ""
+msgstr "Verkoop eisen"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Op voorraad"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Vereiste hoeveelheid"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Nieuw leveranciersdeel"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Leveranciersdeel aangemaakt"
@@ -3819,7 +3885,7 @@ msgstr "Selecteer leveranciersdeel"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "Kopiëer leveranciersartikelnummer"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Corrigeer de fouten in de geselecteerde onderdelen"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Onderdelen bestellen"
@@ -4038,77 +4104,89 @@ msgstr "Onderdelen bestellen"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Ga naar het InvenTree dashboard"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Bezoek de documentatie om meer te weten te komen over InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Over InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Server informatie"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Over deze InvenTree instantie"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Licentie informatie"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenties voor afhankelijkheden van de service"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Open navigatie"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Open het hoofdnavigatiemenu"
-#: src/defaults/actions.tsx:86
+#: src/defaults/actions.tsx:87
+msgid "Go to your user settings"
+msgstr "Ga naar uw gebruikersinstellingen"
+
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Gegevens importeren"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Importeer vanuit een bestand"
+
+#: src/defaults/actions.tsx:107
+msgid "Go to Purchase Orders"
+msgstr "Ga naar inkooporders"
+
+#: src/defaults/actions.tsx:117
+msgid "Go to Sales Orders"
+msgstr "Ga naar verkooporders"
+
+#: src/defaults/actions.tsx:128
+msgid "Go to Return Orders"
+msgstr "Ga naar retourorders"
+
+#: src/defaults/actions.tsx:138
msgid "Scan a barcode or QR code"
msgstr "Scan een streepjescode of QR-code"
-#: src/defaults/actions.tsx:94
-msgid "Go to your user settings"
-msgstr ""
-
-#: src/defaults/actions.tsx:105
-msgid "Go to Purchase Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:115
-msgid "Go to Sales Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:126
-msgid "Go to Return Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
-msgstr ""
+msgstr "Ga naar bouwopdracht"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "Ga naar systeeminstellingen"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Ga naar het beheergedeelte"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "InvenTree plug-ins beheren"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "Over het InvenTree project"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Vervanging onderdeel"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Stuk lijst BOM Item vervangingen bewerken"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Vervanging toevoegen"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Vervanging toegevoegd"
@@ -4374,53 +4452,53 @@ msgstr "Vervanging toegevoegd"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Bouw Uitvoer"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "Te voltooien hoeveelheid"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Voltooi Productie"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Productieorder is voltooid"
@@ -4428,160 +4506,150 @@ msgstr "Productieorder is voltooid"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
-msgstr ""
+msgstr "Hoeveelheid te schrappen"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Verwijder productieorder"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Geselecteerde bouw outputs worden voltooid, maar gemarkeerd als schroot"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Toegewezen voorraadproducten zullen worden verbruikt"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Productieorder zijn verwijderd"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Productieorder zijn verwijderd"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Annuleer productieorder"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Geselecteerde build outputs worden verwijderd"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Toegewezen voorraadartikelen worden teruggestuurd naar voorraad"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Productieorders zijn geannuleerd"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Toegewezen"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Bron locatie"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Selecteer de bron locatie voor de voorraadtoewijzing"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Voorraad toewijzen"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Voorraad items toegewezen"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Verbruikte voorraad"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Verbruikte voorraad"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Volledig verbruikt"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Verbruikt"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
-msgstr ""
+msgstr "Selecteer projectcode voor deze bestelling"
#: src/forms/CompanyForms.tsx:150
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Geabonneerd"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Abonneren op meldingen voor dit onderdeel"
@@ -4593,11 +4661,11 @@ msgstr "Abonneren op meldingen voor dit onderdeel"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Bovenliggende onderdeel categorie"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Abonneer je op meldingen voor deze categorie"
@@ -4605,67 +4673,71 @@ msgstr "Abonneer je op meldingen voor deze categorie"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Batchcode en serienummers toewijzen"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Batch code toewijzen"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Kies locatie"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Item bestemming geselecteerd"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Standaardlocatie voor de subcategorie"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Ontvangen voorraadlocatie geselecteerd"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Standaard locatie geselecteerd"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Locatie invoeren"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Batch code toewijzen"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Serienummers toewijzen"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Stel vervaldatum in"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Verpakking aanpassen"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Verpakking aanpassen"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Status wijzigen"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Opmerking toevoegen"
@@ -4673,56 +4745,56 @@ msgstr "Opmerking toevoegen"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Op standaardlocatie opslaan"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Bewaar op de bestemming van het item "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Winkel met reeds ontvangen voorraad"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Batch code"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Voer batch code in voor ontvangen items"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Serienummers"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Voer serienummers in voor ontvangen items"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Vervaldatum"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Voer een vervaldatum in voor ontvangen items"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,74 +4802,92 @@ msgstr "Voer een vervaldatum in voor ontvangen items"
msgid "Packaging"
msgstr "Verpakking"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Opmerking"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Ontvangen"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Ontvang regelitems"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Ontvangen items"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Ontvang regelitems"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Item ontvangen in voorraad"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
-msgstr ""
+msgstr "Controleer Levering"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
-msgstr ""
+msgstr "Het markeren van de zending als gecontroleerd geeft aan dat u hebt geverifieerd dat alle artikelen in deze zending correct zijn"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
-msgstr ""
+msgstr "Verzending gemarkeerd als gecontroleerd"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
-msgstr ""
+msgstr "Verzending uitvinken"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
-msgstr ""
+msgstr "Het uitvinken van de zending geeft aan dat de verzending verder gecontroleerd moet worden"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
+msgstr "Verzending gemarkeerd als ongecontroleerd"
+
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
-msgid "Leave blank to use the order address"
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
msgstr ""
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Zending voltooien"
+
+#: src/forms/SalesOrderForms.tsx:525
+msgid "Leave blank to use the order address"
+msgstr "Laat leeg om het besteladres te gebruiken"
+
#: src/forms/StockForms.tsx:110
#~ msgid "Create Stock Item"
#~ msgstr "Create Stock Item"
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Opgegeven hoeveelheid als pakket toevoegen in plaats van individuele artikelen"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Voer de initiële hoeveelheid in voor dit voorraadartikel"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Voer serienummer in voor nieuwe voorraad (of laat het leeg)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Voorraad status"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Voorraad item toevoegen"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Selecteer het onderdeel om te installeren"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Bevestig voorraad overdracht"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Verplaats naar standaardlocatie"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Verplaatsen"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Terug"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Aantal"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Voorraad toevoegen"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Voorraad toegevoegd"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Verhoog de hoeveelheid van de geselecteerde voorraadartikelen met een bepaald bedrag."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Voorraad verwijderen"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Voorraad verwijderd"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Verlaag de hoeveelheid van de geselecteerde voorraadartikelen met een bepaald bedrag."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Voorraad verplaatsen "
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Voorraadartikel verplaatst"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Verplaats de geselecteerde items naar de opgegeven locatie."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Terug naar voorraad"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Voorraad teruggestuurd"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Retourneer geselecteerde items naar voorraad, naar de opgegeven locatie."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Tel voorraad"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Voorraad geteld"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Tel de geselecteerde voorraaditems, en pas de hoeveelheid overeenkomstig aan."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Wijzig voorraad status"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Voorraad status gewijzigd"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Verander de status van de geselecteerde voorraaditems."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Voorraad samenvoegen"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Voorraad samengevoegd"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Voorraad items samenvoegen"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Samenvoeg bewerking kan niet worden teruggedraaid"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "Tracking informatie kan verloren gaan tijdens het samenvoegen van items"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "De informatie van de leverancier kan verloren gaan bij het samenvoegen van items"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Voorraad toewijzen aan klant"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Voorraad toegewezen aan klant"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Voorraad items verwijderen"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Voorraad verwijderd"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Deze bewerking zal de geselecteerde voorraaditems permanent verwijderen."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Bovenliggende voorraad locatie"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Zoek serienummer"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Geen overeenkomende items"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Meerdere overeenkomende items"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Ongeldige reactie van server"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Lijst van items om uit te kiezen"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Interne serverfout"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Is al ingelogd"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "Er is een tegenstrijdige sessie op de server voor deze browser. Meld u eerst af."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Uitgelogd"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr ""
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+msgstr "Er was een tegenstrijdige sessie voor deze browser, die is uitgelogd."
#: 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 "No response from server."
+msgstr "Geen antwoord van server."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "MFA-login succesvol"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "De MFA-gegevens werden automatisch verstrekt in de browser"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Uitgelogd"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Succesvol uitgelogd"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Taal is gewijzigd"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Uw actieve taal is gewijzigd naar de gewenste taal in uw profiel"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Thema gewijzigd"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Uw actieve thema is gewijzigd naar het thema in uw profiel"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Check uw inbox voor een reset-link. Dit werkt alleen als u een account heeft. Controleer ook in spam box."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Reset is mislukt"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Is al ingelogd"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Er is een tegenstrijdige sessie op de server voor deze browser. Meld u eerst af."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Ingelogd"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Succesvol ingelogd"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Het instellen van MFA is mislukt"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "MFA-instellingen geslaagd"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr "De MFA via TOTP is succesvol ingesteld; u moet opnieuw inloggen."
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Wachtwoord ingesteld"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Het wachtwoord is met succes ingesteld. U kunt nu inloggen met uw nieuwe wachtwoord"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Wachtwoord kon niet worden gewijzigd"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "De twee wachtwoordvelden komen niet overeen"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Wachtwoord gewijzigd"
@@ -5210,23 +5320,14 @@ msgstr "De aanvraag duurde te lang"
msgid "Exporting Data"
msgstr "Gegevens exporteren"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Gegevens exporteren"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exporteren"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Proces is mislukt"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Proces succesvol voltooid"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Item gemaakt"
@@ -5255,52 +5356,56 @@ msgstr "Weet u zeker dat u dit item wilt verwijderen?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Gemarkeerde voorraaditems tellen"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Toevoegen aan geselecteerde voorraaditems"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Verwijder van geselecteerde voorraaditems"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Verplaats geselecteerde voorraad items"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Voeg geselecteerde voorraaditems samen"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Verander status van geselecteerde voorraad items"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Voorraad toewijzen"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Geselecteerde voorraadartikelen toewijzen aan een klant"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Geselecteerde artikelen naar voorraad retourneren"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Voorraad verwijderen"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Geselecteerde voorraadartikelen verwijderen"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Voorraad acties"
@@ -5357,15 +5462,15 @@ msgstr "Niets geselecteerd"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Inloggen"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Bezig met inloggen"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Heb je geen account?"
@@ -5383,18 +5488,18 @@ msgstr "Heb je geen account?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Multi-Factor authenticatie"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP Code"
#: src/pages/Auth/MFA.tsx:35
msgid "Enter one of your codes: {mfa_types}"
-msgstr ""
+msgstr "Voer een van uw codes in: {mfa_types}"
#: src/pages/Auth/MFA.tsx:42
msgid "Remember this device"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Positie"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Type"
@@ -5933,222 +6038,222 @@ msgstr "Bewerk profiel"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "Opnieuw aanmelden succesvol"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "U bent succesvol opnieuw aangemeld"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "Fout bij Opnieuw aanmelden"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
-msgstr ""
+msgstr "Opnieuw aanmelden mislukt"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
-msgid "Reauthenticate"
-msgstr ""
+msgstr "Opnieuw verifiëren mislukt"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
-msgid "Reauthentiction is required to continue."
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
+msgid "Reauthenticate"
+msgstr "Opnieuw verifiëren"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
+msgid "Reauthentiction is required to continue."
+msgstr "U moet zich opnieuw aanmelden om door te kunnen gaan."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Voer je wachtwoord in"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
-msgstr ""
+msgstr "Voer een van Uw TOTP-codes in"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
-msgstr ""
+msgstr "WebAuthn inloggegevens verwijderd"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
-msgstr ""
+msgstr "WebAuthn inloggegevens succesvol verwijderd."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
-msgstr ""
+msgstr "Fout bij verwijderen van WebAuthn aanmeldgegevens"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
-#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
-msgid "Confirm Removal"
-msgstr ""
+msgstr "Verwijder WebAuthn aanmeldgegevens"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
-msgid "Confirm removal of webauth credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
-msgid "TOTP Removed"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
-msgid "TOTP token removed successfully."
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
-msgid "Error removing TOTP token"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
-msgid "Remove TOTP Token"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/tables/build/BuildAllocatedStockTable.tsx:181
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
+msgid "Confirm Removal"
+msgstr "Bevestig verwijderen"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
+msgid "Confirm removal of webauth credential"
+msgstr "Verwijderen van webauth-inloggegevens bevestigen"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
+msgid "TOTP Removed"
+msgstr "TOTP Verwijderd"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
+msgid "TOTP token removed successfully."
+msgstr "TOTP-token succesvol verwijderd."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
+msgid "Error removing TOTP token"
+msgstr "Fout bij verwijderen van TOTP-token"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
+msgid "Remove TOTP Token"
+msgstr "TOTP-Token verwijderen"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
-msgstr ""
+msgstr "Verwijderen van TOTP-Code bevestigen"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
-msgstr ""
+msgstr "TOTP is al geregistreerd"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
-msgstr ""
+msgstr "Er is al een TOTP-token geregistreerd voor dit account."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
-msgstr ""
+msgstr "Fout bij ophalen van TOTP-registratie"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
-msgstr ""
+msgstr "Er is een onverwachte fout opgetreden bij het ophalen van de TOTP-registratiegegevens."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
-msgstr ""
+msgstr "TOTP geregistreerd"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
-msgstr ""
+msgstr "TOTP-token succesvol geregistreerd."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Fout bij het registreren van TOTP token"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "TOTP Token registreren"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
-msgstr ""
+msgstr "Fout bij ophalen herstelcodes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Herstel codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
-msgstr ""
+msgstr "De volgende eenmalige herstelcodes zijn beschikbaar"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
-msgid "No Unused Codes"
-msgstr ""
+msgstr "Herstelcodes kopiëren naar klembord"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+msgid "No Unused Codes"
+msgstr "Geen ongebruikte codes"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
-msgid "WebAuthn Registered"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
-msgid "WebAuthn credential registered successfully"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
-msgid "Error registering WebAuthn credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
-msgid "WebAuthn Registration Failed"
-msgstr ""
+msgstr "Er zijn geen herstelcodes beschikbaar"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+msgid "WebAuthn Registered"
+msgstr "WebAuthn Geregistreerd"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
+msgid "WebAuthn credential registered successfully"
+msgstr "WebAuthn inloggegevens succesvol geregistreerd"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
+msgid "Error registering WebAuthn credential"
+msgstr "Fout bij het registreren van WebAuthn inloggegevens"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
+msgid "WebAuthn Registration Failed"
+msgstr "WebAuthn Registratie Mislukt"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
-msgstr ""
+msgstr "Registreren van WebAuthn inloggegevens mislukt"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
-msgstr ""
+msgstr "Fout bij ophalen van WebAuth-registratie"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Tijdgebonden eenmalige wachtwoord"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Eenmalige vooraf gegenereerde recovery codes"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
-msgstr ""
+msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
-msgstr ""
+msgstr "Web Authentication (WebAuthn) is een web-standaard voor beveiligde authenticatie"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Laatst gebruikt op"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Gemaakt op"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Niet geconfigureerd"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Geen multi-factor tokens geconfigureerd voor dit account"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
-msgstr ""
+msgstr "Registreer verificatiemethode"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "Geen MFA-methoden beschikbaar"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
-msgstr ""
+msgstr "Er zijn geen MFA-methoden beschikbaar voor configuratie"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27
msgid "Secret"
@@ -6162,47 +6267,47 @@ msgstr "Eenmalig wachtwoord"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Voer de TOTP-code in om ervoor te zorgen dat deze correct geregistreerd is"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E-mail adressen"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-mail adressen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Enkele aanmelding"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Niet actief"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Eenmalige aanmelding is niet ingeschakeld voor deze server "
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Niet actief"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Eenmalige aanmelding is niet ingeschakeld voor deze server "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Toegang tokens"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Sessie gegevens"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Sessie gegevens"
msgid "Timestamp"
msgstr "Tijdstip"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Methode"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Fout tijdens het bijwerken van e-mail"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "Momenteel zijn er geen e-mailadressen geregistreerd."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "De volgende e-mailadressen zijn gekoppeld aan uw account:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Hoofd"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Gecontroleerd"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Niet-geverifieerd"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Maak primair"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Verificatie opnieuw verzenden"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "E-mailadres toevoegen"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-mailadres"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Fout tijdens het toevoegen van e-mail"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "E-mailadres toevoegen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-mailadres"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Fout tijdens het toevoegen van e-mail"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "E-mail toevoegen"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Fout tijdens het toevoegen van e-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "E-mail toevoegen"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Er zijn geen providers verbonden met dit account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "U kunt inloggen op uw account via een van de volgende providers"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Provider link verwijderen"
@@ -6420,7 +6526,7 @@ msgstr "Stippen"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuta"
@@ -6462,27 +6568,27 @@ msgstr "E-mail berichten"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "Systeem status"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
-msgstr ""
+msgstr "Admin Center informatie"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:53
msgid "The home panel (and the whole Admin Center) is a new feature starting with the new UI and was previously (before 1.0) not available."
-msgstr ""
+msgstr "Het startpaneel (en het hele Admin Center) is een nieuwe functie die begint met de nieuwe UI en die eerder niet beschikbaar was (voor 1.0)."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:60
msgid "The admin center provides a centralized location for all administration functionality and is meant to replace all interaction with the (django) backend admin interface."
-msgstr ""
+msgstr "Het admin centrum biedt een gecentraliseerde locatie voor alle administratie functionaliteit en is bedoeld om alle interactie te vervangen door de (django) beheergedeelte interface."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:67
msgid "Please open feature requests (after checking the tracker) for any existing backend admin functionality you are missing in this UI. The backend admin interface should be used carefully and seldom."
-msgstr ""
+msgstr "Open functie verzoeken (na het controleren van de tracker) voor een bestaande beheerfunctie die u mist in deze gebruikersinterface. De beheerdersinterface moet zorgvuldig en apart worden gebruikt."
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "Snel acties"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,7 +6596,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "Home"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
@@ -6685,30 +6791,34 @@ msgstr "Koppelen aan model"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Achterliggende applicatie draait niet"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "De achtergrondtaak beheerservice wordt niet uitgevoerd. Neem contact op met de systeembeheerder."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Achterliggende applicatie draait niet"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "De achtergrondtaak beheerservice wordt niet uitgevoerd. Neem contact op met de systeembeheerder."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Openstaande taken"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Geplande taken"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Mislukte taken"
@@ -6805,6 +6915,16 @@ msgstr "Prijzen"
msgid "Labels"
msgstr "Labels"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Voorraad bijhouden"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "Het geassembleerde onderdeel heeft mogelijk geen Materiaalbon (BOM) gede
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisie"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revisie"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisie"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revisie"
msgid "Custom Status"
msgstr "Aangepaste status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Extern"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Verwijzing"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Bovenliggende Build"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Productiehoeveelheid"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Kan bouwen"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Afgeronde uitvoer"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Uitgegeven door"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Verantwoordelijk"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Elke locatie"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Doel Locatie"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Aangemaakt"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Start datum"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr ""
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Doel Locatie"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Aangemaakt"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Start datum"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Compleet"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Bouw details"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Vereiste onderdelen"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Toegewezen voorraad"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Verbruikte voorraad"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Onvolledige uitvoer"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Externe bestellingen"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Print bouw order"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Test resultaten"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Bewerk bouwopdracht"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Voeg bouwopdracht toe"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Annuleer bouworder"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Deze order annuleren"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Houdt bouwopdracht"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Plaats deze bestelling in de wacht"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Bestelling geplaatst in de wacht"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Probleem bouwopdracht"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Geef deze bestelling uit"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Order uitgegeven"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Voltooi Bouw Opdracht"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Deze bestelling als voltooid markeren"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Bestelling voltooid"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Issue Order"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Bestelling voltooien"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Bouw order acties"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Bestelling bewerken"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Kopieer regel"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Bestelling vasthouden"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Bestelling annuleren"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Productieorder"
@@ -7207,7 +7327,7 @@ msgstr "Productieorder"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Toon externe build orders"
@@ -7219,12 +7339,13 @@ msgstr "Toon externe build orders"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Tabelweergave"
@@ -7238,19 +7359,16 @@ msgstr "Kalenderoverzicht"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Website"
+msgstr "Parametrisch zicht"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7271,11 +7389,11 @@ msgstr "Standaard valuta"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabrikant"
@@ -7284,15 +7402,15 @@ msgstr "Fabrikant"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Klant"
@@ -7320,16 +7438,16 @@ msgstr "Geproduceerde onderdelen"
msgid "Assigned Stock"
msgstr "Toegewezen voorraad"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Bedrijf bewerken"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Bedrijf verwijderen"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Bedrijf acties"
@@ -7349,7 +7467,7 @@ msgstr "Externe link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Details onderdelen"
@@ -7363,28 +7481,28 @@ msgstr "Fabrikant onderdeel details"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Ontvangen voorraad"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Wijzig fabrikant deel"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Voeg fabrikant deel toe"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Fabrikant deel verwijderen"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Fabrikant onderdeel acties"
@@ -7401,7 +7519,7 @@ msgstr "Onderdeel omschrijving"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Pakket hoeveelheid"
@@ -7427,28 +7545,28 @@ msgstr "Leverancier onderdelen details"
msgid "Supplier Pricing"
msgstr "Leverancier prijzen"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Acties leverancier onderdelen"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Bewerk leveranciersdeel"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Verwijder leveranciersdeel"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Leveranciersdeel toevoegen"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Geen voorraad"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Groep rollen"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Gebruikersinformatie"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Basis gebruiker"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Subcategorieën"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Verplaats items naar bovenliggende categorie"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Items verwijderen"
@@ -7577,60 +7695,64 @@ msgstr "Categorie details"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Productie-opdracht toewijzingen"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Verkoopordertoewijzingen"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
-msgid "Validate BOM"
-msgstr "Valideren stuklijst BOM"
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
-#: src/pages/part/PartDetail.tsx:184
-msgid "Do you want to validate the bill of materials for this assembly?"
-msgstr "Wil je de materiaal rekening voor deze stuklijst valideren?"
-
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
msgstr ""
#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
+msgid "Validate BOM"
+msgstr "Valideren stuklijst BOM"
+
+#: src/pages/part/PartDetail.tsx:196
+msgid "Do you want to validate the bill of materials for this assembly?"
+msgstr "Wil je de materiaal rekening voor deze stuklijst valideren?"
+
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "BOM is gevalideerd"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "Het materiaal voor dit onderdeel is gevalideerd."
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "BOM niet gevalideerd"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "De MaterialenBill voor dit onderdeel is eerder gecontroleerd, maar vereist opnieuw validatie"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "De Materialenfactuur voor dit onderdeel is nog niet gevalideerd"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Gevalideerd op"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Gevalideerd door"
@@ -7650,246 +7772,246 @@ msgstr "Gevalideerd door"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variantie van"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revisie van"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Standaard locatie"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Standaard categorie locatie"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Eenheden"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Standaard categorie locatie"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Eenheden"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Trefwoorden"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Beschikbare voorraad"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "In bestelling"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Vereist voor bestellingen"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Toegewezen aan het bouwen van orders"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Toegewezen aan verkooporders"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimale voorraad"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimale voorraad"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Vergrendeld"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Sjabloon onderdeel"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Samengesteld onderdeel"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Onderdeel"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Testbaar onderdeel"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Traceerbaar onderdeel"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Aankoopbaar onderdeel"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Verkoopbaar onderdeel"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtueel onderdeel"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Aangemaakt op"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Aangemaakt door"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Standaard leverancier"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Standaard vervaldatum"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "Dagen"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Prijs bereik"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Laatste serienummer"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Selecteer onderdeel revisie"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianten"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Toewijzingen"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Materiaallijst"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Wordt gebruikt in"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Prijzen onderdeel"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Test sjablonen"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Gerelateerde onderdelen"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Onderdeel is vergrendeld"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Onderdeel parameters kunnen niet worden bewerkt, omdat het onderdeel is vergrendeld"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Onderdeel is vergrendeld"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Onderdeel parameters kunnen niet worden bewerkt, omdat het onderdeel is vergrendeld"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Vereist"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
+msgstr "Tekort"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Onderdeel toevoegen"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Onderdeel verwijderen"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Verwijderen van dit onderdeel kan niet ongedaan worden gemaakt"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Order"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Voorraad bestelling"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Zoek op serienummer"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Acties van onderdeel"
@@ -7968,35 +8090,46 @@ msgstr "Verkoop geschiedenis"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Invoer voorraadopname bewerken"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Voorraad invoer verwijderen"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Voorraad waarde"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimale waarde"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maximale waarde"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maximale waarde"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Totale prijs"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Onderdeel"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimale prijs"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Maximale prijs"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Prijs per stuk"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Cirkel diagram"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Staafdiagram"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Inkoopprijs"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Laatst bijgewerkt"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Bewerk inkooporder"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Inkooporder toevoegen"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Afgeronde regel items"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Bestemming"
@@ -8275,100 +8411,100 @@ msgstr "Datum van uitgifte"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Datum van afronding"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Order Details"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Regelitems"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Extra regelitems"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Inkooporder aanmaken"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Order annuleren"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Order vasthouden"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Bestelling afronden"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Order acties"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Klantreferentie"
#: src/pages/sales/ReturnOrderDetail.tsx:196
msgid "Return Address"
-msgstr ""
+msgstr "Retouradres"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
-msgstr ""
+msgstr "Niet gespecificeerd"
#: src/pages/sales/ReturnOrderDetail.tsx:349
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Retour order bewerken"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Retourorder toevoegen"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Issue retour order"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Annuleer retour order"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Retour order vasthouden"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Voltooi retour bestelling"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Voltooide Verzendingen"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
-msgstr ""
+msgstr "Afleveradres"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Verkooporder bewerken"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Voeg Verkooporder toe"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Zending"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Verkooporder uitgeven"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Verkooporder annuleren"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Bestelling vasthouden"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Verkooporder verzenden"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Deze bestelling verzenden?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Bestelling verzonden"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Verkooporder voltooien"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Bestelling verzenden"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Verzending referentie"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Tracking nummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Factuur nummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Toegewezen items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
-msgstr ""
+msgstr "Gecontroleerd door"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
-msgstr ""
+msgstr "Niet gecontroleerd"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Verzenddatum"
@@ -8464,173 +8600,167 @@ msgstr "Verzenddatum"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Levering datum"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Verzending details"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Bewerk verzending"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Verzending annuleren"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Zending voltooien"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "In behandeling"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
-msgstr ""
+msgstr "Gecontroleerd"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
-msgstr ""
+msgstr "Niet gecontroleerd"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Verzonden"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Geleverd"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Verzending verzenden"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Verzending acties"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
-msgstr ""
+msgstr "Aanvinken"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
-msgstr ""
+msgstr "Markeer levering als gecontroleerd"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
-msgstr ""
+msgstr "Uitvinken"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
-msgstr ""
+msgstr "Markeer deze levering als niet gecontroleerd"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Bovenliggende locatie"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sub locatie"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Locatie type"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Locatie voorraad topniveau"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Locatie gegevens"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Standaard onderdelen"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Voorraadlocatie bewerken"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Verplaats items naar bovenliggende locatie"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Voorraadlocatie verwijderen"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Artikel actie"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Actie voor voorraad items op deze locatie"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
-msgstr ""
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Voorraadlocatie bewerken"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Verplaats items naar bovenliggende locatie"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Voorraadlocatie verwijderen"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Artikel actie"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Actie voor voorraad items op deze locatie"
+
+#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr "Locaties actie"
+
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Actie voor onderliggende locaties in deze locatie"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Scan voorraad item"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Gescande voorraadartikel op locatie"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Fout bij scannen voorraad item"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Scan voorraad locatie"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Gescande voorraadlocatie op locatie"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Fout bij scannen stock locatie"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Locatie acties"
@@ -8703,10 +8833,6 @@ msgstr "Laatste voorraadcontrole"
msgid "Stock Details"
msgstr "Voorraad details"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Voorraad bijhouden"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Geïnstalleerde items"
msgid "Child Items"
msgstr "Onderliggende artikelen"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Bewerk voorraadartikel"
@@ -8738,15 +8864,15 @@ msgstr "Bewerk voorraadartikel"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Items bijgewerkt"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Aangemaakt {n} voorraad items"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Voorraad artikel verwijderen"
@@ -8758,7 +8884,7 @@ msgstr "Voorraad artikel verwijderen"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Voorraad item serie nummers geven"
@@ -8766,24 +8892,23 @@ msgstr "Voorraad item serie nummers geven"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Voorraad item geserialiseerd"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Scan naar locatie"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Scan naar locatie"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Scan dit item naar een locatie"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Voorraad activiteiten"
@@ -8791,12 +8916,12 @@ msgstr "Voorraad activiteiten"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serienummer geven"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Voorraad serie nummer geven"
@@ -8804,7 +8929,7 @@ msgstr "Voorraad serie nummer geven"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Voorraad artikel acties"
@@ -8820,17 +8945,17 @@ msgstr "Voorraad artikel acties"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Verouderd"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Verlopen"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Niet beschikbaar"
@@ -8855,6 +8980,72 @@ msgstr "U bent geabonneerd op meldingen van dit onderdeel"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Dit product is in productie"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Voorraadartikel is toegewezen aan een verkooporder"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Dit voorraadartikel is toegewezen aan een klant"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Dit voorraadartikel is geïnstalleerd in een ander voorraadartikel"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Dit voorraadproduct is verbruikt door een bouw order"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Dit voorraadartikel is niet beschikbaar"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Dit voorraad item is verlopen"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Dit voorraadartikel is niet beschikbaar"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Dit voorraadartikel is volledig toegewezen"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Dit voorraadartikel is gedeeltelijk toegewezen"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Geen voorraad beschikbaar"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Dit voorraadartikel is leeg"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Voorraad informatie"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Toegewezen lijnen"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Kolommen selecteren"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Heeft een batch code"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Items met een batch code weergeven"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filter items op batch code"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Toon items die op voorraad zijn"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Is geserialiseerd"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Toon items met een serienummer"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Heeft een batch code"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Items met een batch code weergeven"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filter items op batch code"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Toon items die op voorraad zijn"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Is geserialiseerd"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Toon items met een serienummer"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Serienummer"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Artikelen filteren op serienummer"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Serienummer onder"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Toon items met serienummers kleiner dan of gelijk aan een bepaalde waarde"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Serienummer boven"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Toon items met serienummers groter dan of gelijk aan een bepaalde waarde"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Toegewezen aan mij"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Toon aan mij toegewezen orders"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Openstaand"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Uitstaande items tonen"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Achterstallige items tonen"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Minimale datum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Items weergeven na deze datum"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Maximale datum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Items voor deze datum weergeven"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Gemaakt voor"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Toon items gemaakt voor deze datum"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Aangemaakt na"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Toon items die zijn aangemaakt na deze datum"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Startdatum voor"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Items met een startdatum voor deze datum tonen"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Start datum na"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Toon items met een startdatum na deze datum"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Doeldatum vóór"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Toon items met een doeldatum vóór deze datum"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Doeldatum na"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Toon items met een doeldatum na deze datum"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Voltooid voor"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Toon items voltooid voor deze datum"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Na Voltooid"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Toon items voltooid na deze datum"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Bijgewerkt na"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Bijgewerkt voor"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Heeft projectcode"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Toon bestellingen met toegewezen projectcode"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Inclusief varianten"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Resultaten voor deelvarianten toevoegen"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filteren op bestellingstatus"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filter op projectcode"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filter op verantwoordelijke eigenaar"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filter op gebruiker"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Op fabrikant filteren"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Filteren op leverancier"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filter op gebruiker die de bestelling heeft aangemaakt"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Filteren op gebruiker die de bestelling heeft uitgegeven"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Filter op onderdeel categorie"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Filter op voorraad locatie"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Filter verwijderen"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Selecteer filterwaarde"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Voer filterwaarde in"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Selecteer een datumwaarde"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Filter selecteren"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Tabel filters"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Filter toevoegen"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Filters wissen"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Geen gegevens gevonden"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Fout bij laden tabel opties"
@@ -9156,10 +9366,6 @@ msgstr "Fout bij laden tabel opties"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Server heeft onjuist gegevenstype teruggestuurd"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Server heeft onjuist gegevenstype teruggestuurd"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server heeft onjuist gegevenstype teruggestuurd"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Fout bij laden van tabelgegevens"
@@ -9190,57 +9400,57 @@ msgstr "Fout bij laden van tabelgegevens"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Details weergeven"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Details weergeven"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "{model} Bekijken"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Geselecteerde items verwijderen"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Weet u zeker dat u de geselecteerde items wilt verwijderen?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Deze actie kan niet ongedaan worden gemaakt"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Items verwijderd"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Verwijderen van item is mislukt."
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Aangepaste tabelfilters zijn actief"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Verwijder de geselecteerde records"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Gegevens vernieuwen"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Actieve filters"
@@ -9252,71 +9462,71 @@ msgstr "Actieve filters"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Deze stuklijst is gedefinieerd voor een ander bovenliggende item"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informatie over onderdeel"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Dit BOM item is niet gevalideerd"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Vervanging"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtueel deel"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtueel deel"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Externe voorraad"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Inclusief vervangend voorraad"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Bevat variant voorraad"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Bouwen"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Bouwen"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Voorraad informatie"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Verbruiksartikel"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Geen beschikbare voorraad"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Getest items weergeven"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Traceerbare items tonen"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Actief deel"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Gecreëerde items weergeven"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Virtuele items tonen"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Toon artikelen met beschikbare voorraad"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Artikelen op bestelling tonen"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Goedgekeurd"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Goedgekeurde items weergeven"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Overgenomen"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Toon overgenomen items"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Varianten toestaan"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Toon items die variant vervanging toestaan"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Optioneel"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Optionele items weergeven"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Verbruiksartikelen"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Toon verbruikte items"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Heeft prijzen"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Toon items met prijzen"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Stuklijst gegevens importeren"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Stuklijst BOM item toevoegen"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Stuklijst BOM item aangemaakt"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Edit stuklijst BOM Item"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Stuklijst BOM item bijgewerkt"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Verwijder stuklijst BOM Item"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Stuklijst BOM item verwijderd"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Stuklijst BOM item gevalideerd"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Mislukt om BOM-item te valideren"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Bekijk stuklijst BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "BOM-regel valideren"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Vervangingen bewerken"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:633
-msgid "Add a single BOM item"
-msgstr ""
+msgstr "BOM Artikelen toevoegen"
#: src/tables/bom/BomTable.tsx:637
+msgid "Add a single BOM item"
+msgstr "Voeg een enkel BOM artikel toe"
+
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
-msgstr ""
+msgstr "Importeren uit bestand"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
-msgstr ""
+msgstr "BOM Artikelen uit een bestand importeren"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Factuur van materialen kan niet worden bewerkt, omdat het onderdeel is vergrendeld"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Assemblage"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Toon actieve assemblage orders"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Volgbaar"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Traceerbare items tonen"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Toegewezen aan uitvoer"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Toon items toegewezen aan bouwuitvoer"
@@ -9538,17 +9754,17 @@ msgstr "Toon items toegewezen aan bouwuitvoer"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Status van bestelling"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Wijzig voorraadtoewijzing"
@@ -9561,10 +9777,10 @@ msgstr "Wijzig voorraadtoewijzing"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "Toegewezen Voorraad Verwijderen"
#: src/tables/build/BuildAllocatedStockTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:663
@@ -9572,160 +9788,180 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
+msgstr "Weet u zeker dat u deze toegewezen voorraad uit de bestelling wilt verwijderen?"
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Verbruik"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
-msgstr ""
+msgstr "Toegewezen Voorraad Verwijderen"
#: src/tables/build/BuildLineTable.tsx:59
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Voorraad item weergeven"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Toon volledig toegewezen lijnen"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Toon volledig verbruikte lijnen"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
-msgstr ""
+msgid "Show fully consumed lines"
+msgstr "Toon volledig verbruikte lijnen"
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr "Toon items met voldoende beschikbare voorraad"
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Toon verbruikte items"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Toon optionele regels"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testbaar"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Gevolgd"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Toon gevolgde lijnen"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
-msgstr ""
+msgstr "Artikelen met voorraad op bestelling weergeven"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "In productie"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Onvoldoende voorraad"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Geen voorraad beschikbaar"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Wordt overgenomen"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Eenheid hoeveelheid"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Totale hoeveelheid"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Attriatie"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Afronding meerdere"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "BOM Information"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Volledig toegewezen"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Maak bouw Order"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Automatische toewijzing in uitvoering"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Automatisch voorraad toewijzen"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Voorraad automatisch toewijzen aan deze build volgens de geselecteerde opties"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Voorraad ongedaan maken"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Maak de toewijzing van alle niet bijgehouden voorraad voor deze bouworder ongedaan"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Maak de toewijzing van voorraad van het geselecteerde regelitem ongedaan"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "De voorraad is ongedaan gemaakt"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Bouw voorraad"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Onderdeel weergeven"
@@ -9756,31 +9992,31 @@ msgstr "Onderdeel weergeven"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Streefdatum"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Toon bestellingen met een streefdatum"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Heeft een startdatum"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Toon bestellingen met een startdatum"
@@ -9788,7 +10024,7 @@ msgstr "Toon bestellingen met een startdatum"
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Bouw uitvoer voorraad toewijzing"
@@ -9796,103 +10032,107 @@ msgstr "Bouw uitvoer voorraad toewijzing"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Voeg Build uitvoer toe"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Bouw uitvoer gemaakt"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Voeg Build uitvoer toe"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Bouw uitvoer gemaakt"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Bewerk bouwopdracht"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Deze actie zal alle voorraad van de geselecteerde bouw uitvoer activeren"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Serialiseren Build uitvoer"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filter op voorraad status"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Voltooi geselecteerde uitvoer"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Geselecteerde outputs schroot"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Geselecteerde uitvoer annuleren"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Toewijzen"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Voorraad toewijzen om output te maken"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Geselecteerde outputs schroot"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Geselecteerde uitvoer annuleren"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Toewijzen"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Voorraad toewijzen om output te maken"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Toewijzing annuleren"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Voorraad van build output niet toewijzen"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Build uitvoer serialiseren"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Voltooi bouw uitvoer"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Schroot"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Verwijder productieorder"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Annuleer productieorder"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Toegewezen lijnen"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Vereiste tests"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Externe bouw"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Deze build-opdracht is vervuld door een externe inkooporder"
@@ -9917,28 +10157,28 @@ msgstr "Adres verwijderen"
msgid "Are you sure you want to delete this address?"
msgstr "Weet u zeker dat u dit adres wilt verwijderen?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Bedrijf toevoegen"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Bedrijf toevoegen"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Actieve bedrijven tonen"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Toon bedrijven die leveranciers zijn"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Toon bedrijven die fabrikanten zijn"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Toon bedrijven die klanten zijn"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Item bekijken"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Regel item toevoegen"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Regel item bewerken"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Regel item verwijderen"
@@ -10086,7 +10326,7 @@ msgstr "Bijgewerkt Door"
#: src/tables/general/ParameterTable.tsx:118
msgid "Show parameters for enabled templates"
-msgstr ""
+msgstr "Parameters voor ingeschakelde templates tonen"
#: src/tables/general/ParameterTable.tsx:124
msgid "Filter by user who last updated the parameter"
@@ -10094,17 +10334,17 @@ msgstr "Filter op gebruiker die de parameter voor het laatst heeft bijgewerkt"
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Parameters import"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Parameter toevoegen"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Parameter bewerken"
@@ -10115,19 +10355,19 @@ msgstr "Parameter verwijderen"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Parameters toevoegen"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Parameter aanmaken"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Een nieuwe parameter maken"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Importeer parameters uit een bestand"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Toon sjablonen met keuzes"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Heeft eenheden"
@@ -10173,7 +10413,7 @@ msgstr "Toon sjablonen met eenheden"
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "Ingeschakelde sjablonen weergeven"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10183,7 +10423,7 @@ msgstr "Model type"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "Sorteren op model type"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10270,7 +10510,7 @@ msgstr "Handmatige herstart vereist"
#: src/tables/machine/MachineListTable.tsx:343
msgid "General"
-msgstr ""
+msgstr "Algemeen"
#: src/tables/machine/MachineListTable.tsx:353
#: src/tables/machine/MachineListTable.tsx:804
@@ -10292,7 +10532,7 @@ msgstr "Geen fouten gerapporteerd"
#: src/tables/machine/MachineListTable.tsx:431
msgid "Properties"
-msgstr ""
+msgstr "Eigenschappen"
#: src/tables/machine/MachineListTable.tsx:494
#~ msgid "Create machine"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Meldingen"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Bericht"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Vereiste voorraad"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Bekijk bouwopdracht"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Abonneer je op meldingen voor deze categorie"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Inclusief subcategorieën"
@@ -10560,136 +10800,136 @@ msgstr "Laat lopende orders zien"
msgid "Show received items"
msgstr "Toon ontvangen items"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Bekijk verkooporder"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimale voorraad"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filter op actieve status van onderdeel"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filter op vergrendelde status van onderdeel"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filteren op samenvoegen attribuut"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "BOM Valid"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Filter op onderdelen met een geldige BOM"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Inclusief onderdelen in subcategorieën"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filter op component kenmerk"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filter op testbare eigenschap"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filteren op traceerbare kenmerk"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filter op onderdelen die eenheden bevatten"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Heeft IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filter op onderdelen met een intern deelnummer"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Heeft voorraad"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filter op onderdelen die voorraad hebben"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filter op onderdelen met een lage voorraad"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Aankoopbaar"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filteren op onderdelen die aankoopbaar zijn"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Verkoopbaar"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filter op delen die verkoopbaar zijn"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filter op virtuele onderdelen"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Niet virtueel"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Is een sjabloon"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filter op onderdelen die sjablonen zijn"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Is een variant"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Filter op onderdelen die sjablonen zijn"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Is revisie"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filter op onderdelen die revisies zijn"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Heeft revisies"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filter op onderdelen die revisies hebben"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filter op onderdelen met prijsinformatie"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filter op onderdelen die beschikbare voorraad hebben"
@@ -10701,58 +10941,58 @@ msgstr "Filter op onderdelen die beschikbare voorraad hebben"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filter op delen waarop de gebruiker geabonneerd is"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
-msgstr ""
+msgstr "Importeren onderdelen"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Categorie instellen"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Categorie voor geselecteerde onderdelen instellen"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Geselecteerde delen bestellen"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
-msgstr ""
+msgstr "Voeg onderdelen toe"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
-msgstr ""
+msgstr "Onderdeel maken"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
-msgstr ""
+msgstr "Maak een nieuw onderdeel maken"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
-msgstr ""
+msgstr "Importeer onderdelen van een bestand"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
-msgstr ""
+msgstr "Importeren van leverancier"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
-msgstr ""
+msgstr "Onderdelen van een leverancierspagina importeren"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Testresultaat toevoegen"
@@ -10774,7 +11014,7 @@ msgstr "Test resultaten toegevoegd"
msgid "No Result"
msgstr "Geen resultaat"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Toon bouw outputs die momenteel in productie zijn"
@@ -10859,7 +11099,15 @@ msgstr "Bovenliggend onderdeel bekijken"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Onderdelen sjablonen kunnen niet worden bewerkt, omdat het onderdeel is vergrendeld"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Selecteer"
@@ -10913,7 +11161,7 @@ msgstr "Selectielijst bewerken"
msgid "Delete Selection List"
msgstr "Selectielijst verwijderen"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Fase"
@@ -10943,7 +11191,7 @@ msgstr "Plug-in"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Verplicht"
@@ -10973,68 +11221,68 @@ msgstr "Beschrijving niet beschikbaar"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Plug-in activeren bevestigen"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Plug-in deactiveren bevestigen"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "De geselecteerde plug-in zal worden geactiveerd"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "De geselecteerde plug-in zal worden gedeactiveerd"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "De geselecteerde plug-in zal worden geactiveerd"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "De geselecteerde plug-in zal worden gedeactiveerd"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Uitzetten"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Inschakelen"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Activeer geselecteerde plug-in"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Inschakelen"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Activeer geselecteerde plug-in"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Geselecteerde plug-in bijwerken"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Verwijderen"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Geselecteerde plug-in verwijderen"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Geselecteerde plug-in configuratie verwijderen"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Activeer Plug-in"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "De plug-in is geactiveerd"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "De plug-in is uitgeschakeld"
@@ -11042,20 +11290,20 @@ msgstr "De plug-in is uitgeschakeld"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Plug-in installeren"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "installeren"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plug-in succesvol geïnstalleerd"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Plug-in verwijderen"
@@ -11063,23 +11311,23 @@ msgstr "Plug-in verwijderen"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Plug-in verwijderen bevestigen"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "De geselecteerde plug-in zal worden verwijderd."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Plug-in succesvol verwijderd"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Plug-in verwijderen"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Het verwijderen van deze plug-in configuratie zal alle bijbehorende instellingen en gegevens verwijderen. Weet u zeker dat u deze plug-in wilt verwijderen?"
@@ -11087,11 +11335,11 @@ msgstr "Het verwijderen van deze plug-in configuratie zal alle bijbehorende inst
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plug-ins herladen"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Plug-ins werden succesvol herladen"
@@ -11103,7 +11351,7 @@ msgstr "Plug-ins werden succesvol herladen"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Plug-ins herladen"
@@ -11115,7 +11363,7 @@ msgstr "Plug-ins herladen"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Plug-in details"
@@ -11127,12 +11375,12 @@ msgstr "Plug-in details"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Voorbeeld"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Geïnstalleerd"
@@ -11152,32 +11400,26 @@ msgstr "Geïnstalleerd"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Actief deel"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
-msgstr ""
+msgstr "Laat fabrikantonderdelen zien voor actieve interne onderdelen ."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
-msgstr ""
+msgstr "Actieve fabrikant"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
-msgstr ""
+msgstr "Fabrikantonderdelen tonen voor actieve fabrikant."
#: src/tables/purchasing/ManufacturerPartTable.tsx:63
#~ msgid "Create Manufacturer Part"
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Importeer regelitems"
@@ -11204,15 +11446,15 @@ msgstr "Importeer regelitems"
msgid "Supplier Code"
msgstr "Leverancier code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Leverancier link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Fabrikant code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Toon regelitems die zijn ontvangen"
@@ -11222,30 +11464,22 @@ msgstr "Toon regelitems die zijn ontvangen"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Ontvang artikel items"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Items ontvangen"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Basis eenheden"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Voeg leveranciers onderdeel toe"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Voeg leveranciers onderdeel toe"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Importeer leveranciersonderdeel"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Toon actieve leveranciers onderdelen"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Actieve interne onderdelen tonen"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Actieve leverancier"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Toon actieve leveranciers"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Toon leveranciers onderdelen met voorraad"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Ontvangst datum"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Toon items die zijn ontvangen"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filter per regelitem status"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Geselecteerde items ontvangen"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Item ontvangen"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Toon openstaande toewijzingen"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Toegewezen aan verzending"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Toon toewijzingen die zijn toegewezen aan een verzending"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Beschikbare hoeveelheid"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Toegewezen hoeveelheid"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Geen verzending"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Niet verzonden"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Bewerk voorraadtoewijzing"
@@ -11333,16 +11579,16 @@ msgstr "Bewerk voorraadtoewijzing"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Verzending weergeven"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Toewijzen aan zending"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Toewijzen aan zending"
@@ -11350,31 +11596,35 @@ msgstr "Toewijzen aan zending"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Serienummers toewijzen"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Serienummers toewijzen"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Toon regels die volledig zijn toegewezen"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Regels weergeven die zijn voltooid"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Serienummer toewijzen"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Voorraad bouwen"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Bestel voorraad"
@@ -11386,78 +11636,82 @@ msgstr "Bestel voorraad"
msgid "Create Shipment"
msgstr "Zending aanmaken"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Artikelen"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Verzending bewerken"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Verzending annuleren"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Voeg verzending toe"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
-msgstr ""
+msgstr "Toon verzendingen die zijn gecontroleerd"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Toon verzendingen die zijn verzonden"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Toon verzendingen die afgeleverd zijn"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Token genereren"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Token gegenereerd"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Intrekken"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Sleutel"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "In gebruik"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Laatst gezien"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Vervaldatum"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Toon ingetrokken tokens"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Intrekken"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Fout bij intrekken token"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Tokens worden slechts één keer getoond - zorg ervoor dat je deze onthoudt."
@@ -11990,24 +12244,24 @@ msgstr "Gebruiker met succes bijgewerkt"
msgid "Error updating user"
msgstr "Fout bij bijwerken gebruiker"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Installeer item"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Item geïnstalleerd"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Verwijder Item"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Item verwijderd"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Verwijder voorraaditem"
@@ -12028,207 +12282,159 @@ msgstr "Locatie type verwijderen"
msgid "Icon"
msgstr "Pictogram"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Dit product is in productie"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Voorraadcontrole datum"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Voorraadartikel is toegewezen aan een verkooporder"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Voorraad voor actieve onderdelen tonen"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Dit voorraadartikel is toegewezen aan een klant"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Voorraad tonen van gemonteerde onderdelen"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Dit voorraadartikel is geïnstalleerd in een ander voorraadartikel"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Toon items die zijn toegewezen"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Dit voorraadproduct is verbruikt door een bouw order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Toon items die beschikbaar zijn"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Dit voorraadartikel is niet beschikbaar"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Inclusief sub locaties"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Dit voorraad item is verlopen"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Voorraad bij sub locaties opnemen"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Dit voorraadartikel is niet beschikbaar"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Uitgeput"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Dit voorraadartikel is volledig toegewezen"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Toon lege voorraad items"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Dit voorraadartikel is gedeeltelijk toegewezen"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Toon artikelen die in productie zijn"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Dit voorraadartikel is leeg"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Toon items die zijn verbruikt bij een bouw bestelling"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Toon voorraaditems die geïnstalleerd zijn in andere artikelen"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Verzonden naar klant"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Toon de items die naar een klant zijn gestuurd"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Toon gevolgde objecten"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Heeft aanschaf prijs"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Toon items met een aankoopprijs"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Toon items die verlopen zijn"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Toon items die verouderd zijn"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Verloopt voor"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Toon items die voor deze datum verlopen zijn"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Vervallen na"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Toon items die vervallen na deze datum"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Toon items bijgewerkt voor deze datum"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Toon items bijgewerkt na deze datum"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Voorraadcontrole voor"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Toon items geteld voor deze datum"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Voorraadcontrole na"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Items geteld na deze datum weergeven"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Voorraadcontrole datum"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Externe locatie"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Voorraad voor actieve onderdelen tonen"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Voorraad tonen van gemonteerde onderdelen"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Toon items die zijn toegewezen"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Toon items die beschikbaar zijn"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Inclusief sub locaties"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Voorraad bij sub locaties opnemen"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Uitgeput"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Toon lege voorraad items"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Toon artikelen die in productie zijn"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Toon items op een externe locatie"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Toon items die zijn verbruikt bij een bouw bestelling"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Toon voorraaditems die geïnstalleerd zijn in andere artikelen"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Verzonden naar klant"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Toon de items die naar een klant zijn gestuurd"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Toon gevolgde objecten"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Heeft aanschaf prijs"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Toon items met een aankoopprijs"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Toon items die verlopen zijn"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Toon items die verouderd zijn"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Verloopt voor"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Toon items die voor deze datum verlopen zijn"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Vervallen na"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Toon items die vervallen na deze datum"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Bijgewerkt voor"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Toon items bijgewerkt voor deze datum"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Bijgewerkt na"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Toon items bijgewerkt na deze datum"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Voorraadcontrole voor"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Toon items geteld voor deze datum"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Voorraadcontrole na"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Items geteld na deze datum weergeven"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Externe locatie"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Toon items op een externe locatie"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Bestelde items"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Bestelde items"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Afgerond"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Bewerk test resultaat"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Test resultaat bijgewerkt"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Verwijder test resultaat"
@@ -12327,27 +12533,27 @@ msgstr "Kon testresultaat niet opnemen"
msgid "Pass Test"
msgstr "Test geslaagd"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Toon resultaten voor vereiste testen"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Inclusief geïnstalleerde"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Resultaten van geïnstalleerde voorraadartikelen weergeven"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Geslaagd"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Toon alleen goedgekeurde tests"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Toon resultaten voor ingeschakelde tests"
@@ -12392,15 +12598,23 @@ msgstr "Bovenliggende locatie instellen"
msgid "Set parent location for the selected items"
msgstr "Stel bovenliggende locatie in voor de geselecteerde items"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Toegevoegd"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Verwijderd"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Geen gebruikers informatie"
diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po
index 018e691cde..b2b6f7022f 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Rediger"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Slett"
@@ -44,36 +44,36 @@ msgstr "Slett"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Avbryt"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Handlinger"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Søk"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ja"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nei"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Del"
@@ -134,7 +138,7 @@ msgstr "Del"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Deler"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametere"
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Leverandørdel"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Leverandørdeler"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Produsentdel"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Produsentdeler"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Delkategori"
@@ -218,19 +222,22 @@ msgstr "Delkategori"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Delkategorier"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Lagervare"
@@ -238,22 +245,22 @@ msgstr "Lagervare"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Lagervarer"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Lagerplassering"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Lagerplasseringer"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Lagerhistorikk"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Firma"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Prosjektkode"
@@ -330,21 +337,21 @@ msgstr "Prosjektkoder"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Innkjøpsordre"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Ordrelinjer for innkjøpsordre"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Salgsordre"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Salgsordrer"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Salgsordreforsendelse"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Salgsordreforsendelser"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Returordre"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Returordrer"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adresse"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresser"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakter"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Eier"
@@ -451,15 +458,15 @@ msgstr "Eiere"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Bruker"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Produksjonsordrer"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr "Strekkode"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Skann"
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Skann strekkode"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Suksess"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Lenke"
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Fjern strekkodekobling"
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopiert"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopi"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Skriv ut etikett"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Skriv ut"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Skriv ut"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Skriv ut rapport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Forrige måned"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Velg måned"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Neste måned"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Last ned data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Forfalt"
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Abonnerte deler"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Abonnerte kategorier"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Lav lagerbeholdning"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Nødvendig for produksjonsordre"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Forfalte Produksjonsordre"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Forfalte salgsordre"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Forfalte innkjøpsordre"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Komme i gang"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Komme i gang med InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr "Superbruker"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Epost: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Fjern"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Opplastningsfeil"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Send"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Velg bilde"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Slett bilde"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Last ned bilde"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Oppdater"
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Innloggingen mislyktes"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Kontroller inndataene og prøv igjen."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Levering av e-post vellykket"
@@ -1628,7 +1671,7 @@ msgstr "Your username"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Passord"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Vert"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API-versjon"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Utvidelser"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr "Stoppet"
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Søk..."
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Laster"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Ingen resultater funnet"
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Lukk"
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Strekkodehandlinger"
@@ -2177,10 +2225,15 @@ msgstr "Ukjent feil"
msgid "None"
msgstr "Ingen"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree-logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Oppdatert"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Vis"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Endre"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Legg til"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Tilgjengelig"
@@ -2320,7 +2374,7 @@ msgstr "Lenker"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentasjon"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Varlser"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr "Innstillinger"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Systeminnstillinger"
@@ -2578,14 +2632,14 @@ msgstr "Systeminnstillinger"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Adminsenter"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Logg ut"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Lagerbeholdning"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Innkjøp"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Salg"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Leverandører"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Produsenter"
@@ -2768,21 +2822,21 @@ msgstr "Ingen resultater tilgjengelig for søk"
msgid "Attachments"
msgstr "Vedlegg"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Notater"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Forfatter"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Dato"
@@ -2845,48 +2899,54 @@ msgstr "Dato"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktiv"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Nettside"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Innebygd"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Innstillinger for Utvidelser"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Forsendelse"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Ingen lagerbeholdning"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "I bestilling"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Under produksjon"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detaljer"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategori"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Serienummer"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Antall"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Rediger innstilling"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Innstilling oppdatert"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Feil ved endring av innstilling"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Leverandør"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Rediger del"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "På lager"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Leverandørdel opprettet"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Om InvenTree-organisasjonen"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Åpne Navigasjon"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Tildelt"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Tildel lagerbeholdning"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Overordnet del-kategori"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Serienumre"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Utløpsdato"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Mottatt"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Legg til gitt mengde som pakker i stedet for enkeltprodukter"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Angi innledende antall for denne lagervaren"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Tell"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Overfør lager"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Tell beholdning"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Tilbakestilling feilet"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Passord angitt"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Passordet er blitt satt. Du kan nå logge inn med ditt nye passord"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Passord endret"
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Eksport"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Lagerhandlinger"
@@ -5357,15 +5462,15 @@ msgstr "Ingen utvalg"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Innlogging"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr "Endre Profil"
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr "Engangspassord"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Ikke aktivert"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Ikke aktivert"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Følgende e-postadresser er tilknyttet din konto:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primær"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Bekreftet"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Ubekreftet"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Gjør til primær"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Re-send bekreftelse"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Legg til e-postadresse"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-post"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-postadresse"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Legg til e-postadresse"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-post"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-postadresse"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Legg til e-post"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Legg til e-post"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuta"
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Bakgrunnsarbeider kjører ikke"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Bakgrunnsarbeider kjører ikke"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Ventende oppgaver"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Planlagte oppgaver"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Mislykkede oppgaver"
@@ -6805,6 +6915,16 @@ msgstr "Prising"
msgid "Labels"
msgstr "Etiketter"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Sporing av lager"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Kan Produsere"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Fullførte artikler"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Ansvarlig"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Opprettet"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Måldato"
-
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Opprettet"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Måldato"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Produksjonsdetaljer"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Brukt lagerbeholdning"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Ufullstendige artikler"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Underordnede Produksjonsordrer"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Rediger produksjonsordre"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Legg til produksjonsordre"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Produksjonsordre-handlinger"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Nettside"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Produsent"
@@ -7284,15 +7402,15 @@ msgstr "Produsent"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Kunde"
@@ -7320,16 +7438,16 @@ msgstr "Produserte deler"
msgid "Assigned Stock"
msgstr "Tildelt lagerbeholdning"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Rediger Bedrift"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Bedriftshandlinger"
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Mottatt lagerbeholdning"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Rediger produsentdel"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Slett produsentdel"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr "Delbeskrivelse"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Pakkeantall"
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Rediger Leverandørdel"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Slett Leverandørdel"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Legg til leverandørdel"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Produksjonsordre-tildelinger"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Salgsordretildelinger"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Enheter"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Enheter"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Nøkkelord"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "I bestilling"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Sammenstilt del"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Sporbar del"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Opprettelsesdato"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Prisområde"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianter"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Tildelinger"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Stykkliste (BOM)"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Brukt i"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Testmaler"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Relaterte Deler"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Delhandlinger"
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Total pris"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponent"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Enhetspris"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destinasjon"
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Ordredetaljer"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Ordrelinjer"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Ordrehandlinger"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Kundereferanse"
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Fullførte forsendelser"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Sporing av lager"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Installerte artikler"
msgid "Child Items"
msgstr "Underordnede artikler"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Rediger lagervare"
@@ -8738,15 +8864,15 @@ msgstr "Rediger lagervare"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Lagerhandlinger"
@@ -8791,12 +8916,12 @@ msgstr "Lagerhandlinger"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Denne lagervaren er i produksjon"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Denne lagervaren har blitt tildelt en salgsordre"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Denne lagervaren har blitt tilordnet en kunde"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Denne lagervaren er montert i en annen lagervare"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Denne lagervaren har blitt konsumert av en produksjonsordre"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Denne lagervaren har utløpt"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Denne lagervaren er gammel"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Denne lagervaren er i sin helhet tilordnet"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Denne lagervaren er delvis tilordnet"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Ingen lagerbeholdning tilgjengelig"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Denne lagervaren er oppbrukt"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Lagerinformasjon"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Velg Kolonner"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Har batchkode"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Vis elementer som har en batchkode"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Vis elementer som er på lager"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Er serialisert"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Vis elementer som har et serienummer"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Har batchkode"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Vis elementer som har en batchkode"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Vis elementer som er på lager"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Er serialisert"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Vis elementer som har et serienummer"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Tilordnet meg"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Vis ordre tildelt meg"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Utestående"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr ""
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr ""
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr ""
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr ""
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Oppdatert etter"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Oppdatert før"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Inkluder varianter"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrer etter ordrestatus"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Fjern filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Velg filterverdi"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Velg filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Tabellfiltre"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Legg til filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Fjern filtre"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Ingen poster funnet"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Serveren returnerte feil datatype"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Serveren returnerte feil datatype"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Serveren returnerte feil datatype"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Slett valgte oppføringer"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Oppdater data"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
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:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Delinformasjon"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Inkluderer erstatningsbeholdning"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Inkluderer variantbeholdning"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Produseres"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Produseres"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Lagerinformasjon"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Forbruksvare"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Vis sporbare deler"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Vis elementer med tilgjengelig lagerbeholdning"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Vis elementer i bestilling"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Vis godkjente elementer"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Vis arvede elementer"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Valgfritt"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Vis valgfrie elementer"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Forbruksvare"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Vis forbruksartikler"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Har prising"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Vis varer med priser"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Vis BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Rediger erstatninger"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Sammenstilling"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Vis aktive sammenstillinger"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Sporbar"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Vis sporbare sammenstillinger"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Spores"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Ingen lagerbeholdning tilgjengelig"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtrer etter lagerstatus"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Slett adresse"
msgid "Are you sure you want to delete this address?"
msgstr "Er du sikker på at du vil slette denne adressen?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Legg til ordrelinje"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Rediger ordrelinje"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Vis maler med valg"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Har enheter"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Varsel"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Melding"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Inkluder underkategorier"
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimumsbeholdning"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrer etter del aktiv-status"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrer etter sammenstillingsattributt"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Inkluder deler i underkategorier"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrer etter komponentattributt"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrer etter sporbar attributt"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtrer etter deler som har enheter"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Har IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtrer etter deler som har internt delnummer"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Har beholdning"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtrer etter deler som har lagerbeholdning"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrer etter deler som har lav lagerbeholdning"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtrer etter deler som kan kjøpes"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Salgbar"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrer etter deler som kan selges"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrer etter deler som er virtuelle"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Ikke virtuell"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Velg"
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Stadium"
@@ -10943,7 +11191,7 @@ msgstr "Utvidelse"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr "Beskrivelse ikke tilgjengelig"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Bekreft aktivering av utvidelse"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Bekreft deaktivering av utvidelse"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Deaktiver"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktivér"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktivér"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Aktivér utvidelse"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Installer Utvidelse"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Installer"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Utvidelse installert"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Utvidelser lastet inn på nytt"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Utvidelser ble lastet inn på nytt"
@@ -11103,7 +11351,7 @@ msgstr "Utvidelser ble lastet inn på nytt"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Last utvidelser på nytt"
@@ -11115,7 +11363,7 @@ msgstr "Last utvidelser på nytt"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Eksempel"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installert"
@@ -11152,30 +11400,24 @@ msgstr "Installert"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr "Leverandørkode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Leverandørlenke"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Produsentens kode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Motta ordrelinje"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Motta artikler"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Basisenhet"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Legg til leverandørdel"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Legg til leverandørdel"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Ikke sendt"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "I bruk"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Sist sett"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Utløp"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr "Ikon"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Denne lagervaren er i produksjon"
-
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Denne lagervaren har blitt tildelt en salgsordre"
-
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Denne lagervaren har blitt tilordnet en kunde"
-
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Denne lagervaren er montert i en annen lagervare"
-
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Denne lagervaren har blitt konsumert av en produksjonsordre"
-
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Denne lagervaren har utløpt"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Vis lagerbeholdning for aktive deler"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Denne lagervaren er gammel"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Denne lagervaren er i sin helhet tilordnet"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Vis elementer som har blitt tildelt"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Denne lagervaren er delvis tilordnet"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Vis elementer som er tilgjengelige"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Denne lagervaren er oppbrukt"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Inkluder underplasseringer"
+
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Inkluder lager i underplasseringer"
+
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Oppbrukt"
+
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Vis oppbrukte lagervarer"
+
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Vis elementer som er under produksjon"
+
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Vis lagervarer som er installert i andre elementer"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Sendt til kunde"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Vis elementer som er sendt til en kunde"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Vis sporede deler"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Har innkjøpspris"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Vis elementer som har innkjøpspris"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Utløpt før"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Utløpt etter"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Ekstern plassering"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Vis lagerbeholdning for aktive deler"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Vis elementer som har blitt tildelt"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Vis elementer som er tilgjengelige"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Inkluder underplasseringer"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Inkluder lager i underplasseringer"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Oppbrukt"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Vis oppbrukte lagervarer"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Vis elementer som er under produksjon"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Vis elementer ved en ekstern plassering"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Vis lagervarer som er installert i andre elementer"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Sendt til kunde"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Vis elementer som er sendt til en kunde"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Vis sporede deler"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Har innkjøpspris"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Vis elementer som har innkjøpspris"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Utløpt før"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Utløpt etter"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Oppdatert før"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Oppdatert etter"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Ekstern plassering"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Vis elementer ved en ekstern plassering"
-
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Lagt til"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Fjernet"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Ingen brukerinformasjon"
diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po
index ca7c811430..c8e52d83b7 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\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"
@@ -35,7 +35,7 @@ msgstr "Edytuj"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Usuń"
@@ -44,36 +44,36 @@ msgstr "Usuń"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Anuluj"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Akcje"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Szukaj"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Niezaliczone"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Tak"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nie"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Komponent"
@@ -134,7 +138,7 @@ msgstr "Komponent"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Komponenty"
@@ -149,68 +153,68 @@ msgstr "Komponenty"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parametr"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
#: lib/enums/ModelInformation.tsx:45
#: src/tables/part/PartCategoryTemplateTable.tsx:87
msgid "Parameter Template"
-msgstr ""
+msgstr "Szablon parametru"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Szablony parametrów"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
-msgstr ""
+msgstr "Szablon testów części"
#: lib/enums/ModelInformation.tsx:53
msgid "Part Test Templates"
-msgstr ""
+msgstr "Szablony testów części"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Część dostawcy"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Części dostawcy"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Część Producenta"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Części producenta"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Kategoria części"
@@ -218,19 +222,22 @@ msgstr "Kategoria części"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Kategorie części"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -238,36 +245,36 @@ msgstr "Element magazynowy"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Elementy magazynowe"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Lokacja stanu"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Lokacje stanów"
#: lib/enums/ModelInformation.tsx:108
msgid "Stock Location Type"
-msgstr ""
+msgstr "Typ lokalizacji magazynowej"
#: lib/enums/ModelInformation.tsx:109
msgid "Stock Location Types"
-msgstr ""
+msgstr "Typy lokalizacji magazynowych"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Historia magazynu"
@@ -285,23 +292,23 @@ msgstr "Kompilacje"
#: lib/enums/ModelInformation.tsx:130
msgid "Build Line"
-msgstr ""
+msgstr "Linia produkcyjna"
#: lib/enums/ModelInformation.tsx:131
msgid "Build Lines"
-msgstr ""
+msgstr "Linie produkcyjne"
#: lib/enums/ModelInformation.tsx:138
msgid "Build Item"
-msgstr ""
+msgstr "Element produkcji"
#: lib/enums/ModelInformation.tsx:139
msgid "Build Items"
-msgstr ""
+msgstr "Elementy produkcji"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Firmy"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Kod projektu"
@@ -330,21 +337,21 @@ msgstr "Kody projektu"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Zlecenia zakupu"
@@ -358,61 +365,61 @@ msgid "Purchase Order Lines"
msgstr "Pozycje zlecenia zakupu"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Zlecenie sprzedaży"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Zlecenia Sprzedaży"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
-msgstr ""
+msgstr "Wysyłka zamówienia sprzedaży"
#: lib/enums/ModelInformation.tsx:186
msgid "Sales Order Shipments"
-msgstr ""
+msgstr "Wysyłki zamówień sprzedaży"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
-msgstr ""
+msgstr "Zwrot zamówienia"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
-msgstr ""
+msgstr "Zwroty zamówień"
#: lib/enums/ModelInformation.tsx:204
msgid "Return Order Line Item"
-msgstr ""
+msgstr "Pozycja zwrotu zamówienia"
#: lib/enums/ModelInformation.tsx:205
msgid "Return Order Line Items"
-msgstr ""
+msgstr "Pozycje zwrotu zamówienia"
#: lib/enums/ModelInformation.tsx:210
#: src/tables/company/AddressTable.tsx:52
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adres"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresy"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakty"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Właściciel"
@@ -451,15 +458,15 @@ msgstr "Właściciele"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Użytkownik"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Szablony raportów"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Konfiguracja wtyczki"
@@ -531,43 +538,43 @@ msgstr "Typy zawartości"
#: lib/enums/ModelInformation.tsx:284
msgid "Selection List"
-msgstr ""
+msgstr "Lista wyboru"
#: lib/enums/ModelInformation.tsx:285
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:21
msgid "Selection Lists"
-msgstr ""
+msgstr "Listy wyboru"
#: lib/enums/ModelInformation.tsx:291
#: src/components/barcodes/BarcodeInput.tsx:114
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -577,31 +584,35 @@ msgstr "Błąd"
#: src/tables/machine/MachineListTable.tsx:402
#: src/tables/machine/MachineTypeTable.tsx:297
msgid "Errors"
-msgstr ""
+msgstr "Błędy"
#: lib/enums/Roles.tsx:31
msgid "Admin"
-msgstr ""
+msgstr "Administracja"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Zlecenia wykonania"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Błąd renderowania komponentu"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Wystąpił błąd podczas renderowania tego komponentu. Więcej informacji znajdziesz na konsoli."
@@ -619,7 +630,7 @@ msgstr "Błąd podczas zatrzymywania"
#: src/components/barcodes/BarcodeCameraInput.tsx:159
msgid "Start scanning by selecting a camera and pressing the play button."
-msgstr ""
+msgstr "Rozpocznij skanowanie, wybierając kamerę i naciskając przycisk odtwarzania."
#: src/components/barcodes/BarcodeCameraInput.tsx:180
msgid "Stop scanning"
@@ -637,49 +648,49 @@ msgstr "Kod kreskowy"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
-msgstr ""
+msgstr "Skanuj"
#: src/components/barcodes/BarcodeInput.tsx:53
msgid "Camera Input"
-msgstr ""
+msgstr "Wejście kamery"
#: src/components/barcodes/BarcodeInput.tsx:63
msgid "Scanner Input"
-msgstr ""
+msgstr "Wejście skanera"
#: src/components/barcodes/BarcodeInput.tsx:105
msgid "Barcode Data"
-msgstr ""
+msgstr "Dane kodu kreskowego"
#: src/components/barcodes/BarcodeInput.tsx:109
msgid "No barcode data"
-msgstr ""
+msgstr "Brak danych kodu kreskowego"
#: src/components/barcodes/BarcodeInput.tsx:110
msgid "Scan or enter barcode data"
-msgstr ""
+msgstr "Zeskanuj lub wprowadź dane kodu kreskowego"
#: src/components/barcodes/BarcodeKeyboardInput.tsx:64
msgid "Enter barcode data"
-msgstr ""
+msgstr "Wprowadź dane kodu kreskowego"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Zeskanuj kod kreskowy"
#: src/components/barcodes/BarcodeScanDialog.tsx:121
msgid "No matching item found"
-msgstr ""
+msgstr "Nie znaleziono pasującej pozycji"
#: src/components/barcodes/BarcodeScanDialog.tsx:150
msgid "Barcode does not match the expected model type"
-msgstr ""
+msgstr "Kod kreskowy nie pasuje do oczekiwanego typu modelu"
#: src/components/barcodes/BarcodeScanDialog.tsx:161
#: src/components/editors/NotesEditor.tsx:84
@@ -688,19 +699,19 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Sukces"
#: src/components/barcodes/BarcodeScanDialog.tsx:167
msgid "Failed to handle barcode"
-msgstr ""
+msgstr "Nie udało się przetworzyć kodu kreskowego"
#: src/components/barcodes/BarcodeScanDialog.tsx:183
#: src/pages/Index/Scan.tsx:129
msgid "Failed to scan barcode"
-msgstr ""
+msgstr "Nie udało się zeskanować kodu kreskowego"
#: src/components/barcodes/QRCode.tsx:94
msgid "Low (7%)"
@@ -720,11 +731,11 @@ msgstr "Wysoki (30%)"
#: src/components/barcodes/QRCode.tsx:107
msgid "Custom barcode"
-msgstr ""
+msgstr "Niestandardowy kod kreskowy"
#: src/components/barcodes/QRCode.tsx:108
msgid "A custom barcode is registered for this item. The shown code is not that custom barcode."
-msgstr ""
+msgstr "Dla tej pozycji zarejestrowano niestandardowy kod kreskowy. Wyświetlony kod nie jest tym kodem."
#: src/components/barcodes/QRCode.tsx:127
msgid "Barcode Data:"
@@ -736,25 +747,25 @@ msgstr "Wybierz poziom korekty błędów"
#: src/components/barcodes/QRCode.tsx:170
msgid "Failed to link barcode"
-msgstr ""
+msgstr "Nie udało się powiązać kodu kreskowego"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
-msgstr ""
+msgstr "Powiąż"
#: src/components/barcodes/QRCode.tsx:200
msgid "This will remove the link to the associated barcode"
-msgstr ""
+msgstr "Spowoduje to usunięcie powiązania z przypisanym kodem kreskowym"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Odłącz Kod Kreskowy"
@@ -766,21 +777,21 @@ msgstr "Otwórz w interfejsie administratora"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Skopiowano"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopiuj"
#: src/components/buttons/PrintingActions.tsx:56
msgid "Printing Labels"
-msgstr ""
+msgstr "Drukowanie etykiet"
#: src/components/buttons/PrintingActions.tsx:61
msgid "Printing Reports"
-msgstr ""
+msgstr "Drukowanie raportów"
#: src/components/buttons/PrintingActions.tsx:77
#~ msgid "Printing"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Drukuj etykietę"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Wydrukuj"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,29 +826,29 @@ msgstr "Wydrukuj"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Drukuj raport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Akcje druku"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Drukuj etykiety"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Drukuj raporty"
#: src/components/buttons/RemoveRowButton.tsx:9
msgid "Remove this row"
-msgstr ""
+msgstr "Usuń ten wiersz"
#: src/components/buttons/SSOButton.tsx:40
msgid "You will be redirected to the provider for further actions."
-msgstr ""
+msgstr "Zostaniesz przekierowany do dostawcy w celu wykonania dalszych czynności."
#: src/components/buttons/SSOButton.tsx:44
#~ msgid "This provider is not full set up."
@@ -860,16 +867,16 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
-msgstr ""
+msgstr "Otwórz wyszukiwanie"
#: src/components/buttons/StarredToggleButton.tsx:36
msgid "Subscription Updated"
-msgstr ""
+msgstr "Subskrypcja zaktualizowana"
#: src/components/buttons/StarredToggleButton.tsx:57
#~ msgid "Unsubscribe from part"
@@ -877,67 +884,72 @@ msgstr ""
#: src/components/buttons/StarredToggleButton.tsx:66
msgid "Unsubscribe from notifications"
-msgstr ""
+msgstr "Anuluj subskrypcję powiadomień"
#: src/components/buttons/StarredToggleButton.tsx:67
msgid "Subscribe to notifications"
-msgstr ""
+msgstr "Subskrybuj powiadomienia"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
-msgstr ""
+msgstr "Filtry kalendarza"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
-msgstr ""
+msgstr "Poprzedni miesiąc"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
-msgstr ""
+msgstr "Wybierz miesiąc"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
-msgstr ""
+msgstr "Następny miesiąc"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
-msgstr ""
+msgstr "Zamówienie zaktualizowane"
#: src/components/calendar/OrderCalendar.tsx:142
msgid "Error updating order"
-msgstr ""
+msgstr "Błąd aktualizacji zamówienia"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
-msgstr ""
+msgstr "Zaległe"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr ""
+msgstr "Nie udało się załadować elementów pulpitu."
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
-msgstr ""
+msgstr "Brak elementów"
#: src/components/dashboard/DashboardLayout.tsx:296
msgid "Use the menu to add widgets to the dashboard"
-msgstr ""
+msgstr "Użyj menu, aby dodać elementy do pulpitu"
#: src/components/dashboard/DashboardMenu.tsx:62
#: src/components/dashboard/DashboardMenu.tsx:138
msgid "Accept Layout"
-msgstr ""
+msgstr "Zatwierdź układ"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -949,15 +961,15 @@ msgstr "Edytuj układ"
#: src/components/dashboard/DashboardMenu.tsx:111
msgid "Add Widget"
-msgstr ""
+msgstr "Dodaj element"
#: src/components/dashboard/DashboardMenu.tsx:120
msgid "Remove Widgets"
-msgstr ""
+msgstr "Usuń elementy"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "Wyczyść elementy"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
@@ -965,201 +977,201 @@ msgstr ""
#: src/components/dashboard/DashboardWidgetDrawer.tsx:77
msgid "Filter dashboard widgets"
-msgstr ""
+msgstr "Filtruj elementy pulpitu"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:98
msgid "Add this widget to the dashboard"
-msgstr ""
+msgstr "Dodaj ten element do pulpitu"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:123
msgid "No Widgets Available"
-msgstr ""
+msgstr "Brak dostępnych elementów"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:124
msgid "There are no more widgets available for the dashboard"
-msgstr ""
+msgstr "Brak kolejnych dostępnych elementów pulpitu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Obserwowane komponenty"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
-msgstr ""
+msgstr "Pokaż liczbę kategorii części, które obserwujesz"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Obserwowane kategorie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
-msgstr ""
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
-msgid "Invalid BOMs"
-msgstr ""
+msgstr "Nieprawidłowe listy materiałowe"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
-msgid "Assemblies requiring bill of materials validation"
-msgstr ""
+msgid "Invalid BOMs"
+msgstr "Nieprawidłowe zestawienia materiałowe BOM"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
+msgid "Assemblies requiring bill of materials validation"
+msgstr "Zespoły wymagające weryfikacji BOM"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Mała ilość w magazynie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr ""
+msgstr "Pokaż liczbę części o niskim stanie magazynowym"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
-msgstr ""
+msgstr "Wymagane do zleceń produkcyjnych"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
-msgstr ""
+msgstr "Pokaż części wymagane do aktywnych zleceń produkcyjnych"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
-msgstr ""
+msgstr "Pozycje magazynowe po terminie ważności"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
-msgstr ""
+msgstr "Pokaż liczbę pozycji magazynowych po terminie ważności"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
-msgstr ""
+msgstr "Zalegające pozycje magazynowe"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
-msgstr ""
+msgstr "Pokaż liczbę zalegających pozycji magazynowych"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
-msgstr ""
+msgstr "Aktywne zlecenia produkcyjne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
-msgstr ""
+msgstr "Pokaż liczbę aktualnie aktywnych zleceń produkcyjnych"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
-msgstr ""
+msgstr "Opóźnione zlecenia produkcyjne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
-msgstr ""
+msgstr "Pokaż liczbę opóźnionych zleceń produkcyjnych"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
-msgstr ""
+msgstr "Przypisane zlecenia produkcyjne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
-msgstr ""
+msgstr "Pokaż liczbę zleceń produkcyjnych przypisanych do Ciebie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
-msgstr ""
+msgstr "Aktywne zamówienia sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
-msgstr ""
+msgstr "Pokaż liczbę aktywnych zamówień sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Zaległe zlecenia sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
-msgstr ""
+msgstr "Pokaż liczbę zaległych zamówień sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
-msgstr ""
+msgstr "Przypisane zamówienia sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
-msgstr ""
+msgstr "Pokaż liczbę zamówień sprzedaży przypisanych do Ciebie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
-msgstr ""
+msgstr "Oczekujące wysyłki"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
-msgstr ""
+msgstr "Pokaż liczbę oczekujących wysyłek zamówień sprzedaży"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
-msgstr ""
+msgstr "Aktywne zamówienia zakupu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
-msgstr ""
+msgstr "Pokaż liczbę aktywnych zamówień zakupu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Zaległe zlecenia zakupu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
-msgstr ""
+msgstr "Pokaż ilość zaległych zamówień zakupu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
-msgstr ""
+msgstr "Przypisane zamówienia zakupu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
-msgstr ""
+msgstr "Pokaż ilość zamówień zakupu przypisanych do Ciebie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
-msgstr ""
+msgstr "Aktywne zwroty"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
-msgstr ""
+msgstr "Pokaż liczbę aktywnych zwrotów"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
-msgstr ""
+msgstr "Zaległe zwroty"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
-msgstr ""
+msgstr "Pokaż liczbę zaległych zwrotów"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
-msgstr ""
+msgstr "Przypisane zwroty"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
-msgstr ""
+msgstr "Pokaż liczbę zwrotów przypisanych do Ciebie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Pierwsze Kroki"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Pierwsze kroki z InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
-msgstr ""
+msgstr "Aktualności"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
-msgstr ""
+msgstr "Najnowsze wiadomości z InvenTree"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
@@ -1168,15 +1180,15 @@ msgstr "Zmień tryb kolorów"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
-msgstr ""
+msgstr "Zmień tryb kolorów interfejsu"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18
msgid "Change Language"
-msgstr ""
+msgstr "Zmień język"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:23
msgid "Change the language of the user interface"
-msgstr ""
+msgstr "Zmień język interfejsu"
#: src/components/dashboard/widgets/NewsWidget.tsx:60
#: src/components/nav/NotificationDrawer.tsx:94
@@ -1186,44 +1198,67 @@ msgstr "Oznacz jako przeczytane"
#: src/components/dashboard/widgets/NewsWidget.tsx:115
msgid "Requires Superuser"
-msgstr ""
+msgstr "Wymaga uprawnień superużytkownika"
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr ""
+msgstr "Ten element wymaga uprawnień superużytkownika"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
-msgstr ""
+msgstr "Brak wiadomości"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
+msgstr "Brak nieprzeczytanych wiadomości"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
msgstr ""
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
#: src/tables/settings/UserTable.tsx:410
msgid "Superuser"
-msgstr ""
+msgstr "Superużytkownik"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
-msgstr ""
+msgstr "Personel"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
-msgstr ""
+msgstr "E-mail: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nie zdefiniowano nazwy"
@@ -1236,86 +1271,94 @@ msgid "Remove the associated image from this item?"
msgstr "Usunąć powiązany obrazek z tego elementu?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Usuń"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Przeciągnij i upuść, aby przesłać"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Kliknij, aby wybrać plik(i)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
-msgstr ""
+msgstr "Obraz przesłany"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr ""
+msgstr "Obraz został pomyślnie przesłany"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
-msgstr ""
+msgstr "Błąd przesyłania"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Wyczyść"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Zatwierdź"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Wybierz z istniejących obrazów"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Wybierz obraz"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
-msgstr ""
+msgstr "Pobierz obraz z adres URL"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Prześlij nowy obraz"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Prześlij obrazek"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Usuń obraz"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
-msgstr ""
+msgstr "Pobierz obraz"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr ""
+msgstr "Obraz został pomyślnie pobrany"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1351,7 +1394,7 @@ msgstr "Przesłanie obrazu nie powiodło się"
#: src/components/editors/NotesEditor.tsx:85
msgid "Image uploaded successfully"
-msgstr ""
+msgstr "Obraz został pomyślnie przesłany"
#: src/components/editors/NotesEditor.tsx:119
msgid "Notes saved successfully"
@@ -1363,7 +1406,7 @@ msgstr "Nie udało się zapisać notatek"
#: src/components/editors/NotesEditor.tsx:133
msgid "Error Saving Notes"
-msgstr ""
+msgstr "Błąd zapisywania notatek"
#: src/components/editors/NotesEditor.tsx:151
#~ msgid "Disable Editing"
@@ -1375,11 +1418,11 @@ msgstr "Zapisz notatki"
#: src/components/editors/NotesEditor.tsx:172
msgid "Close Editor"
-msgstr ""
+msgstr "Zamknij edytor"
#: src/components/editors/NotesEditor.tsx:179
msgid "Enable Editing"
-msgstr ""
+msgstr "Włącz edycję"
#: src/components/editors/NotesEditor.tsx:198
#~ msgid "Preview Notes"
@@ -1399,7 +1442,7 @@ msgstr "Kod"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "Błąd renderowania podglądu"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
@@ -1423,7 +1466,7 @@ msgstr "Wystąpił błąd zapisywania szablonu"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "Could not load the template from the server."
-msgstr ""
+msgstr "Nie udało się załadować szablonu z serwera."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:176
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:319
@@ -1436,7 +1479,7 @@ msgstr "Czy na pewno chcesz zapisać i przeładować podgląd?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:183
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?"
-msgstr ""
+msgstr "Aby wygenerować podgląd, bieżący szablon musi zostać zastąpiony na serwerze Twoimi zmianami, co może uszkodzić etykietę, jeśli jest aktualnie używana. Czy chcesz kontynuować?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:187
msgid "Save & Reload"
@@ -1452,7 +1495,7 @@ msgstr "Podgląd został pomyślnie zaktualizowany."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "Wystąpił nieznany błąd podczas renderowania podglądu."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1464,11 +1507,11 @@ msgstr "Odśwież podgląd"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:312
msgid "Use the currently stored template from the server"
-msgstr ""
+msgstr "Użyj aktualnie zapisanego szablonu z serwera"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:320
msgid "Save the current template and reload the preview"
-msgstr ""
+msgstr "Zapisz bieżący szablon i odśwież podgląd"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322
#~ msgid "to preview"
@@ -1484,11 +1527,11 @@ msgstr "Błąd renderowania szablonu"
#: src/components/errors/ClientError.tsx:23
msgid "Client Error"
-msgstr ""
+msgstr "Błąd klienta"
#: src/components/errors/ClientError.tsx:24
msgid "Client error occurred"
-msgstr ""
+msgstr "Wystąpił błąd klienta"
#: src/components/errors/GenericErrorPage.tsx:50
msgid "Status Code"
@@ -1546,7 +1589,7 @@ msgstr "Istnieją błędy dla jednego lub więcej pól formularzy"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Aktualizuj"
@@ -1579,27 +1622,27 @@ msgstr "Zalogowano pomyślnie"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Logowanie nie powiodło się"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Sprawdź dane i spróbuj ponownie."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Wiadomość dostarczona"
#: src/components/forms/AuthenticationForm.tsx:101
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
-msgstr ""
+msgstr "Sprawdź swoją skrzynkę odbiorczą w poszukiwaniu linku logowania. Jeśli masz konto, otrzymasz link logowania. Sprawdź również folder spam."
#: src/components/forms/AuthenticationForm.tsx:105
msgid "Mail delivery failed"
@@ -1628,7 +1671,7 @@ msgstr "Twoja nazwa użytkownika"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Hasło"
@@ -1672,7 +1715,7 @@ msgstr "Wyślij e-mail"
#: src/components/forms/AuthenticationForm.tsx:239
msgid "Passwords do not match"
-msgstr ""
+msgstr "Hasła nie są zgodne"
#: src/components/forms/AuthenticationForm.tsx:256
msgid "Registration successful"
@@ -1688,7 +1731,7 @@ msgstr "Błąd danych wejściowych"
#: src/components/forms/AuthenticationForm.tsx:281
msgid "Check your input and try again. "
-msgstr ""
+msgstr "Sprawdź wprowadzone dane i spróbuj ponownie."
#: src/components/forms/AuthenticationForm.tsx:305
msgid "This will be used for a confirmation"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Powtórz hasło"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Rejestracja"
@@ -1714,10 +1757,14 @@ msgstr "Lub użyj SSO"
#: src/components/forms/AuthenticationForm.tsx:348
msgid "Registration not active"
-msgstr ""
+msgstr "Rejestracja nieaktywna"
#: src/components/forms/AuthenticationForm.tsx:349
msgid "This might be related to missing mail settings or could be a deliberate decision."
+msgstr "Może to wynikać z braku konfiguracji poczty lub być celową decyzją."
+
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
msgstr ""
#: src/components/forms/HostOptionsForm.tsx:36
@@ -1731,14 +1778,14 @@ msgstr "Host"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1768,12 +1815,12 @@ msgstr "Zapisz"
#: src/components/forms/InstanceOptions.tsx:58
msgid "Select Server"
-msgstr ""
+msgstr "Wybierz serwer"
#: src/components/forms/InstanceOptions.tsx:68
#: src/components/forms/InstanceOptions.tsx:92
msgid "Edit host options"
-msgstr ""
+msgstr "Edytuj opcje hosta"
#: src/components/forms/InstanceOptions.tsx:71
#~ msgid "Edit possible host options"
@@ -1781,7 +1828,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:76
msgid "Save host selection"
-msgstr ""
+msgstr "Zapisz wybór hosta"
#: src/components/forms/InstanceOptions.tsx:98
#~ msgid "Version: {0}"
@@ -1818,6 +1865,7 @@ msgstr "Wersja API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,38 +1877,38 @@ msgstr "Wtyczki"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
-msgstr ""
+msgstr "Włączone"
#: src/components/forms/InstanceOptions.tsx:143
msgid "Disabled"
-msgstr ""
+msgstr "Wyłączone"
#: src/components/forms/InstanceOptions.tsx:149
msgid "Worker"
-msgstr ""
+msgstr "Proces roboczy"
#: src/components/forms/InstanceOptions.tsx:150
#: src/tables/settings/FailedTasksTable.tsx:48
msgid "Stopped"
-msgstr ""
+msgstr "Zatrzymany"
#: src/components/forms/InstanceOptions.tsx:150
msgid "Running"
-msgstr ""
+msgstr "Uruchomiony"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Wybierz plik do przesłania"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Akceptuj sugerowaną wartość"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Wybierz datę"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Bez kategorii"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Szukaj..."
@@ -1890,19 +1938,19 @@ msgstr "Wybierz paczkę"
msgid "{0} icons"
msgstr "{0} ikon(y)"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Wczytuję"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nie znaleziono wyników"
#: src/components/forms/fields/TableField.tsx:46
msgid "modelRenderer entry required for tables"
-msgstr ""
+msgstr "Wpis modelRenderer jest wymagany dla tabel"
#: src/components/forms/fields/TableField.tsx:187
msgid "No entries available"
@@ -1910,7 +1958,7 @@ msgstr "Brak wpisów"
#: src/components/forms/fields/TableField.tsx:198
msgid "Add new row"
-msgstr ""
+msgstr "Dodaj nowy wiersz"
#: src/components/images/DetailsImage.tsx:252
#~ msgid "Select image"
@@ -1940,49 +1988,49 @@ msgstr "Edytuj dane"
msgid "Delete Row"
msgstr "Usuń wiersz"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Wiersz"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Wiersz zawiera błędy"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Zaakceptuj"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Ważny"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtruj według stanu walidacji wierszy"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Zakończono"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtruj według statusu ukończenia wiersza"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importuj wybrane wiersze"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Przetwarzanie danych"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Wystąpił błąd"
@@ -2002,31 +2050,31 @@ msgstr "Wybierz kolumnę lub pozostaw puste, aby zignorować to pole."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignoruj to pole"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Odwzorowanie kolumn danych do pól bazy"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Akceptuj mapowanie kolumn"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Pole bazy danych"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Opis pola"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Zaimportowana kolumna"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Wartość domyślna"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Przypisz kolumny"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importuj dane"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2052,7 +2100,7 @@ msgstr "Zakończ import"
#: src/components/importer/ImporterDrawer.tsx:89
msgid "Failed to fetch import session data"
-msgstr ""
+msgstr "Nie udało się pobrać danych sesji importu"
#: src/components/importer/ImporterDrawer.tsx:97
#~ msgid "Cancel import session"
@@ -2070,8 +2118,8 @@ msgstr "Dane zostały zaimportowane"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Zamknij"
@@ -2097,21 +2145,21 @@ msgstr "Status nieznany"
#: src/components/items/ActionDropdown.tsx:135
msgid "Options"
-msgstr ""
+msgstr "Opcje"
#: src/components/items/ActionDropdown.tsx:162
#~ msgid "Link custom barcode"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Akcje kodów kreskowych"
#: src/components/items/ActionDropdown.tsx:176
msgid "View Barcode"
-msgstr ""
+msgstr "Wyświetl kod kreskowy"
#: src/components/items/ActionDropdown.tsx:178
msgid "View barcode"
@@ -2123,7 +2171,7 @@ msgstr "Połącz Kod Kreskowy"
#: src/components/items/ActionDropdown.tsx:186
msgid "Link a custom barcode to this item"
-msgstr ""
+msgstr "Powiąż niestandardowy kod kreskowy z tym elementem"
#: src/components/items/ActionDropdown.tsx:194
msgid "Unlink custom barcode"
@@ -2152,7 +2200,7 @@ msgstr "Duplikuj pozycję"
#: src/components/items/ColorToggle.tsx:17
msgid "Toggle color scheme"
-msgstr ""
+msgstr "Przełącz schemat kolorów"
#: src/components/items/DocTooltip.tsx:92
#: src/components/items/GettingStartedCarousel.tsx:20
@@ -2177,13 +2225,18 @@ msgstr "Nieznany błąd"
msgid "None"
msgstr "Brak"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logo InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
-msgstr ""
+msgstr "Wybierz język"
#: src/components/items/OnlyStaff.tsx:10
#: src/components/modals/AboutInvenTreeModal.tsx:50
@@ -2200,75 +2253,76 @@ msgstr "Ta informacja jest dostępna tylko dla użytkowników personelu"
#: src/components/items/RoleTable.tsx:81
msgid "Updating"
-msgstr ""
+msgstr "Aktualizowanie"
#: src/components/items/RoleTable.tsx:82
msgid "Updating group roles"
-msgstr ""
+msgstr "Aktualizowanie ról grupy"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
-msgstr ""
+msgstr "Zaktualizowano"
#: src/components/items/RoleTable.tsx:119
msgid "Group roles updated"
-msgstr ""
+msgstr "Role grupy zostały zaktualizowane"
#: src/components/items/RoleTable.tsx:135
msgid "Role"
-msgstr ""
+msgstr "Rola"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
-msgstr ""
+msgstr "Widok"
#: src/components/items/RoleTable.tsx:145
msgid "Change"
-msgstr ""
+msgstr "Zmień"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Dodaj"
#: src/components/items/RoleTable.tsx:203
msgid "Reset group roles"
-msgstr ""
+msgstr "Resetuj role grupy"
#: src/components/items/RoleTable.tsx:212
msgid "Reset"
-msgstr ""
+msgstr "Resetuj"
#: src/components/items/RoleTable.tsx:215
msgid "Save group roles"
-msgstr ""
+msgstr "Zapisz role grupy"
#: src/components/items/TransferList.tsx:65
msgid "No items"
-msgstr ""
+msgstr "Brak elementów"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
-msgstr ""
+msgstr "Dostępne"
#: src/components/items/TransferList.tsx:162
msgid "Selected"
-msgstr ""
+msgstr "Wybrane"
#: src/components/modals/AboutInvenTreeModal.tsx:103
#~ msgid "Your InvenTree version status is"
@@ -2320,13 +2374,13 @@ msgstr "Linki"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentacja"
#: src/components/modals/AboutInvenTreeModal.tsx:181
msgid "Source Code"
-msgstr ""
+msgstr "Kod źródłowy"
#: src/components/modals/AboutInvenTreeModal.tsx:182
msgid "Mobile App"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Powiadomienia"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nic nie znaleziono..."
@@ -2547,7 +2601,7 @@ msgstr "Ustawienia"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Ustawienia systemowe"
@@ -2578,14 +2632,14 @@ msgstr "Ustawienia systemowe"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centrum Admina"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Wyloguj się"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Stan"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Zakupy"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Sprzedaże"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr "Brak dostępnych wyników wyszukiwania"
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Strona internetowa"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Ustawienia wtyczki"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Wysyłka"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Nieaktywny"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Wirtualny"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Brak w magazynie"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Lokalizacja"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Numer seryjny"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Ilość"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Zmień ustawienia"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Ustawienie zostało zaktualizowane"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Ustawienie {0} zaktualizowane pomyślnie"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Błąd edycji ustawień"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Nie podano ustawień"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Ładowanie..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Na stanie"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Przejdź do kokpitu InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Odwiedź dokumentację, aby dowiedzieć się więcej o InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "O InvenTree.org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informacje o serwerze"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informacje o licencji"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Otwórz nawigację"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Otwórz główne menu nawigacji"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Przejdź do Centrum Administratora"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Kategoria części nadrzędnej"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Wybierz lokalizację"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Wybrano domyślną lokalizację"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Ustaw lokalizację"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Dostosuj opakowanie"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Dostosuj opakowanie"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Zmień status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Dodaj notatkę"
@@ -4673,56 +4745,56 @@ msgstr "Dodaj notatkę"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Zapisz w domyślnej lokalizacji"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Kod partii"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Numery seryjne"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr "Opakowanie"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Notatka"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Otrzymano"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Dodaj podaną ilość jako paczkę zamiast poszczególnych produktów"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Wprowadź początkową ilość dla tego towaru"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Wprowadź numery seryjne dla nowego stanu (lub pozostaw puste)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Dodaj element magazynowy"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Przenieś do domyślnej lokalizacji"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Przenieś"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Ilość"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Dodaj stan"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Usuń stan"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Przenieś stan"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Policz stan"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Zmień status stanu magazynowego"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Wylogowano"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Wylogowano"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Zalogowano"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Hasło ustawione"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Hasło zostało ustawione pomyślnie. Możesz teraz zalogować się przy użyciu nowego hasła"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Element utworzony"
@@ -5255,52 +5356,56 @@ msgstr "Czy na pewno chcesz usunąć ten element?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr "Brak wyboru"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Zaloguj się"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Nie masz konta?"
@@ -5383,12 +5488,12 @@ msgstr "Nie masz konta?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Wyłączone"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Wyłączone"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Proces w tle nie jest uruchomiony"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Proces w tle nie jest uruchomiony"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Oczekujce zadania"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Zaplanowane zadania"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Zadania zakończone błędem"
@@ -6805,6 +6915,16 @@ msgstr "Cennik"
msgid "Labels"
msgstr "Etykiety"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Strona internetowa"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Powiadomienie"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po
index 6db436bb8c..3e4f4424f6 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Editar"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Eliminar"
@@ -44,36 +44,36 @@ msgstr "Eliminar"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Cancelar"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Ações"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Buscar"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Falhou"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Sim"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Não"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Peça"
@@ -134,7 +138,7 @@ msgstr "Peça"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Peças"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parâmetros"
@@ -180,37 +184,37 @@ msgstr "Modelos de Teste da Peça"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Peças de fornecedor"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Fabricante da peça"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Peças do fabricante"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Categoria da peça"
@@ -218,19 +222,22 @@ msgstr "Categoria da peça"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Categorias da Peça"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Item de Estoque"
@@ -238,22 +245,22 @@ msgstr "Item de Estoque"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Itens de Estoque"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Localização de Stock"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Localizações de Stock"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Tipo de Local de Estoque"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Histórico de Estoque"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Empresas"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Código do projeto"
@@ -330,21 +337,21 @@ msgstr "Códigos do Projeto"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Pedido de Compra"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Pedido de compra das linhas"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Pedido de Venda"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Pedidos de vendas"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Envio do Pedido de Venda"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Envios dos Pedidos de Vendas"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Pedido de Devolução"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Pedidos de Devolução"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Endereço"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Endereços"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contato"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contatos"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Proprietário"
@@ -451,15 +458,15 @@ msgstr "Proprietários"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Utilizador"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Modelos de relatório"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configuração de Extensão"
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Ordens de Produções"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Erro ao renderizar componente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Ocorreu um erro ao renderizar este componente. Consulte o console para obter mais informações."
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Ler Código de Barras"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Sucesso"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Ligação"
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Desatribuir Código de Barras"
@@ -766,11 +777,11 @@ msgstr "Abrir na interface de administrador"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copiado"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copiar"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Imprimir Etiqueta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Imprimir Relatório"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Opções de Impressão"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Imprimir Etiquetas"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Imprimir Relatórios"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Em atraso"
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Peças Subscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Categorias Subscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Estoque Baixo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Necessário para pedidos de produção"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Pedidos de Produção Vencidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Pedidos de Venda Vencidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Pedidos de Compra Pendentes"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Guia de Introdução"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Primeiros passos com InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nenhum nome definido"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Remover a imagem associada a este item?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Eliminar"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Arraste e solte para carregar ficheiro"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Clique para selecionar o(s) arquivo(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Erro ao enviar"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Apagar"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Enviar"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Selecionar uma imagem existente"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Selecionar Imagem"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Carregar nova imagem"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Carregar Imagem"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Eliminar imagem"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1547,7 +1590,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Atualizar"
@@ -1580,21 +1623,21 @@ msgstr "Sessão iniciada com sucesso"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Não foi possível iniciar a sessão"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Verifique suas informações e tente novamente."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Envio bem sucedido"
@@ -1629,7 +1672,7 @@ msgstr "O seu nome de utilizador"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Palavra-chave"
@@ -1704,7 +1747,7 @@ msgid "Repeat password"
msgstr "Repetir senha"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registar"
@@ -1721,6 +1764,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1732,14 +1779,14 @@ msgstr "Servidor"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1819,6 +1866,7 @@ msgstr "Versão da API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1830,7 +1878,7 @@ msgstr "Extensões"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Habilitado"
@@ -1851,7 +1899,7 @@ msgstr "Parado"
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1859,7 +1907,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1872,8 +1920,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Pesquisa..."
@@ -1891,13 +1939,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "A carregar"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nenhum resultado encontrado"
@@ -1941,49 +1989,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Completo"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2003,31 +2051,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2040,7 +2088,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2071,8 +2119,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2105,8 +2153,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Ações de código de barras"
@@ -2178,10 +2226,15 @@ msgstr "Erro desconhecido"
msgid "None"
msgstr "Nenhum"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logotipo do InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2209,9 +2262,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Atualizado"
@@ -2224,7 +2278,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2233,8 +2287,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Adicionar"
@@ -2256,14 +2310,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponível"
@@ -2321,7 +2375,7 @@ msgstr "Ligações"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentação"
@@ -2524,7 +2578,7 @@ msgstr ""
msgid "Notifications"
msgstr "Notificações"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nada encontrado..."
@@ -2548,7 +2602,7 @@ msgstr "Configurações"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2566,9 +2620,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Definições de Sistema"
@@ -2579,14 +2633,14 @@ msgstr "Definições de Sistema"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centro de Administração"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2617,19 +2671,19 @@ msgstr "Encerrar sessão"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Estoque"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2637,21 +2691,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Comprando"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Vendas"
@@ -2706,7 +2760,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2714,7 +2768,7 @@ msgstr "Fornecedores"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabricantes"
@@ -2769,21 +2823,21 @@ msgstr "Não há resultados disponíveis para a pesquisa"
msgid "Attachments"
msgstr "Anexos"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Anotações"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2810,19 +2864,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2836,7 +2890,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Data"
@@ -2846,48 +2900,54 @@ msgstr "Data"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Ativo"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Site"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nome do Pacote"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Caminho de Instalação"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Embutido"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Pacote"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Configurações da Extensão"
@@ -2970,65 +3030,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Envios"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inativo"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Sem Estoque"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "No Pedido"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Em Produção"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detalhes"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3037,78 +3097,76 @@ msgstr "Categoria"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Localização"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Número de Série"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Quantidade"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lote"
@@ -3194,45 +3252,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Editar Configurações"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Definição atualizada"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Definição {0} atualizada com sucesso"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Erro ao editar configuração"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Nenhuma configuração especificada"
@@ -3609,19 +3675,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Fornecedor"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "A carregar..."
@@ -3683,8 +3749,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Editar Peça"
@@ -3767,24 +3833,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Em Estoque"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3801,8 +3867,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Fornecedor da Peça criado"
@@ -3876,9 +3942,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4039,77 +4105,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Ir para o painel do InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visite a documentação para saber mais sobre o InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Sobre a organização InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informações do Servidor"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informações de licença"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenças para as dependências do serviço"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Abrir a navegação"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Abrir o menu de navegação principal"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4349,19 +4427,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4375,53 +4453,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Saída da Produção"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Estado"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Concluir Saídas de Produção"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "O Pedido de produção foi concluído"
@@ -4429,143 +4507,133 @@ msgstr "O Pedido de produção foi concluído"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Cancelar Saída de Produção"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Os Pedidos de produção foram cancelados"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Os Pedidos de produção foram cancelados"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancelar Saída de Produção"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Os Pedidos de produção foram cancelados"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Alocado"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Localização de Origem"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Alocar estoque"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4573,16 +4641,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4594,11 +4662,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Categoria parente da peça"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4606,67 +4674,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Escolher Localização"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destino do item selecionado"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Localização padrão da categoria de peça selecionada"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Localização do estoque recebido selecionada"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Localização padrão selecionada"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Definir localização"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Alterar Estado"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4674,56 +4746,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Armazenar no local padrão"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Armazenar com estoque já recebido"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Código de Lote"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Números de Série"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4731,71 +4803,89 @@ msgstr ""
msgid "Packaging"
msgstr "Embalagem"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Nota"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Recebido"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Receber item de linha"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4807,193 +4897,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Adicionar quantidade dada como pacotes em vez de itens individuais"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Digite a quantidade inicial para este item de estoque"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Insira os números de série para novo estoque (ou deixe em branco)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Estado do Estoque"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Adicionar item de Estoque"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Mover para o local padrão"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Mover"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Contar"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Adicionar Estoque"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Remover Estoque"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transferir Estoque"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Contar Estoque"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Alterar estado do Estoque"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Mesclar Estoque"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Excluir Itens de Estoque"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Localização parente de Estoque"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5006,10 +5105,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5063,99 +5162,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Sessão terminada"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Sessão terminada"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Sessão terminada com sucesso"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Verifique a sua caixa de entrada com um link para redefinir. Isso só funciona se você já tiver uma conta. Cheque no também no spam."
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Falha ao redefinir"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Sessão Iniciada"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Sessão iniciada com êxito"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Palavra-passe definida"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "A senha foi definida com sucesso. Você agora pode fazer login com sua nova senha"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5211,23 +5321,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Item Criado"
@@ -5256,52 +5357,56 @@ msgstr "Tem certeza de que deseja excluir este item?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Ações de Estoque"
@@ -5358,15 +5463,15 @@ msgstr "Nenhuma seleção"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Iniciar sessão"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Não possui conta?\n"
@@ -5384,12 +5489,12 @@ msgstr "Não possui conta?\n"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5887,7 +5992,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5934,220 +6039,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6163,47 +6268,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Não habilitado"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Não habilitado"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6211,61 +6316,58 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Os seguintes endereços de e-mail estão associados à sua conta:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primário"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Não verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Tornar Primária"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Reenviar Verificação"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Adicionar Endereço de Email"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Endereço de E-mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Adicionar Endereço de Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Endereço de E-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6275,23 +6377,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Adicionar Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Adicionar Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6421,7 +6527,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Moeda"
@@ -6686,30 +6792,34 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Trabalhador de fundo não está em execução"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Trabalhador de fundo não está em execução"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Tarefas Pendentes"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Tarefas Agendadas"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Tarefas que falharam"
@@ -6806,6 +6916,16 @@ msgstr "Preços"
msgid "Labels"
msgstr "Etiquetas"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Rastreamento de Estoque"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6890,15 +7010,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisão"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6907,7 +7018,20 @@ msgstr "Revisão"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisão"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6915,291 +7039,287 @@ msgstr "Revisão"
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Externos"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referência"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Produção Parente"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Quantidade de Produção"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Pode Produzir"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Saídas Concluídas"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Emitido por"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsável"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Qualquer localização"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Local de Destino"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Criado"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Data alvo"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Local de Destino"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Criado"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Data alvo"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Concluído"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detalhes da Produção"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Estoque Consumido"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Saídas Incompletas"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Pedido de Produção Filho"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Resultados do teste"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Editar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Novo Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Cancelar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Ações do Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Cancelar pedido"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Ordem de Produção"
@@ -7208,7 +7328,7 @@ msgstr "Ordem de Produção"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7220,12 +7340,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7239,20 +7360,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Site"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Número de Telefone"
@@ -7272,11 +7390,11 @@ msgstr "Moeda Padrão"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabricante"
@@ -7285,15 +7403,15 @@ msgstr "Fabricante"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Cliente"
@@ -7321,16 +7439,16 @@ msgstr "Peças Fabricadas"
msgid "Assigned Stock"
msgstr "Estoque Atribuído"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Editar Empresa"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Ações da Empresa"
@@ -7350,7 +7468,7 @@ msgstr "Link Externo"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Detalhes da Peça"
@@ -7364,28 +7482,28 @@ msgstr "Detalhes da Peça do Fabricante"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Estoque Recebido"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Editar Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Adicionar Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Excluir Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Ações da Peça do Fabricante"
@@ -7402,7 +7520,7 @@ msgstr "Descrição da Peça"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Quantidade embalada"
@@ -7428,28 +7546,28 @@ msgstr "Detalhes da Peça do Fornecedor"
msgid "Supplier Pricing"
msgstr "Preço do Fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Ações do Fornecedor da Peça"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Editar Fornecedor da Peça"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Excluir Fornecedor da Peça"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Adicionar Fornecedor da Peça"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Sem Estoque"
@@ -7475,7 +7593,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7497,7 +7615,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7513,7 +7631,7 @@ msgid "Subcategories"
msgstr "Sub-categorias"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7542,7 +7660,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Eliminar itens"
@@ -7578,60 +7696,64 @@ msgstr "Detalhes da Categoria"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Alocações de Pedido de Produção"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Alocações do Pedido de Vendas"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7651,246 +7773,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Localização Padrão"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Localização padrão da Categoria"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unidades"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Localização padrão da Categoria"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unidades"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Palavras-chave"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Na ordem"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Alocado para Pedidos de Produção"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Alocado para Pedidos de Venda"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Estoque Mínimo"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Estoque Mínimo"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Peça Modelo"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Peça montada"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Peça do componente"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Peça rastreável"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Peça comprável"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Peça vendível"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Peça virtual"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Data de Criação"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Criado por"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Intervalo de Preço"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variantes"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Alocações"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Lista de Materiais"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Utilizado em"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Preço da Peça"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Modelos de Teste"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Peças Relacionadas"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Obrigatório"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Adicionar Peça"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Excluir Peça"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "A exclusão desta parte não pode ser revertida"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Encomendar Estoque"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Ações da Peça"
@@ -7969,35 +8091,46 @@ msgstr "Histórico de Venda"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Valor Mínimo"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Valor Máximo"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8009,33 +8142,33 @@ msgstr "Valor Máximo"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Preço Total"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Componente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Preço Mínimo"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8049,25 +8182,25 @@ msgstr "Preço Máximo"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Preço Unitário"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Gráfico circular"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Gráfico de Barras"
@@ -8137,9 +8270,12 @@ msgid "Purchase Pricing"
msgstr "Preço de Compra"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Última Atualização"
@@ -8211,8 +8347,8 @@ msgid "Edit Purchase Order"
msgstr "Editar ordem de compra"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Adicionar Ordem de Compra"
@@ -8233,7 +8369,7 @@ msgid "Completed Line Items"
msgstr "Itens de Linha Concluídos"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destino"
@@ -8276,60 +8412,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Detalhes do pedido"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Itens de linha"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Ações do Pedido"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Referência do Cliente"
@@ -8339,7 +8475,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8347,29 +8483,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Editar Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Novo Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8378,86 +8514,86 @@ msgid "Completed Shipments"
msgstr "Envios concluídos"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Editar Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Novo Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Data de Envio"
@@ -8465,173 +8601,167 @@ msgstr "Data de Envio"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Localização Parente"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sub-locais"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Tipo de Localização"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Local de estoque de alto nível"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Detalhes da localização"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Peças padrão"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Editar Local de Estoque"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Editar Local de Estoque"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Ações do item"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Ações para itens de estoque nesta localização"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Editar Local de Estoque"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Editar Local de Estoque"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Ações do item"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Ações para itens de estoque nesta localização"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Ação para locais filhos nesta localização"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Ações de localização"
@@ -8704,10 +8834,6 @@ msgstr "Último Balanço"
msgid "Stock Details"
msgstr "Detalhes de Estoque"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Rastreamento de Estoque"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8720,7 +8846,7 @@ msgstr "Itens instalados"
msgid "Child Items"
msgstr "Itens Filhos"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Editar Item do Estoque"
@@ -8739,15 +8865,15 @@ msgstr "Editar Item do Estoque"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Excluir Item de Estoque"
@@ -8759,7 +8885,7 @@ msgstr "Excluir Item de Estoque"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8767,24 +8893,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Operações de Stock"
@@ -8792,12 +8917,12 @@ msgstr "Operações de Stock"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8805,7 +8930,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Ações do Item do Estoque"
@@ -8821,17 +8946,17 @@ msgstr "Ações do Item do Estoque"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8856,6 +8981,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Este item de estoque está em produção"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Este item de estoque foi reservado para uma ordem de venda"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Este item em estoque foi reservado para um cliente"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Este item em estoque está instalado em outro item de estoque"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Este item de estoque foi consumido por uma ordem de produção"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Este item de estoque expirou"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Este item de estoque está obsoleto"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Este item de estoque está totalmente alocado"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Este item de estoque está parcialmente alocado"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nenhum estoque disponível"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Este item de estoque está esgotado"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Informação do Estoque"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8889,263 +9080,282 @@ msgstr "Selecionar Colunas"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Tem Código de Lote"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Mostrar itens que tenham um código de lote"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Mostrar itens que estão disponíveis em estoque"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "É Serializado"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Mostrar itens que têm um número de série"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Tem Código de Lote"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Mostrar itens que tenham um código de lote"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Mostrar itens que estão disponíveis em estoque"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "É Serializado"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Mostrar itens que têm um número de série"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Atribuído a mim"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Mostrar pedidos atribuídos a mim"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Pendente"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr ""
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr ""
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr ""
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr ""
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Possui Código do Projeto"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Incluir variantes"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrar por estado do pedido"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtrar por código de projeto"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtrar pelo proprietário responsável"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Remover filtro"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Selecionar valor do filtro"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Selecionar filtro"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtro"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtros de tabela"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Adicionar Filtro"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Limpar Filtros"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nenhum registo encontrado"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9157,10 +9367,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "O servidor retornou dados incorretos"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9177,7 +9383,11 @@ msgstr "O servidor retornou dados incorretos"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "O servidor retornou dados incorretos"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9191,57 +9401,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Remover registos selecionados"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Atualizar dados"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9253,71 +9463,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Este item BOM é definido para uma peça parental diferente"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informação da Peça"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Estoque externo"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Inclui substitutos de estoque"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Inclui estoque variante"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Produzindo"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9330,203 +9540,209 @@ msgstr "Produzindo"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Informação do Estoque"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Item Consumível"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Mostrar partes rastreáveis"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Peça Ativa"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Mostrar itens com estoque disponível"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Mostrar itens no pedido"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validado"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Mostrar itens validados"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Herdado"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Mostrar itens herdados"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opcional"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Mostrar itens opcionais"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consumível"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Mostrar itens consumíveis"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Tem Preço"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Exibir itens com preço"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Adicionar Item na BOM"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Item BOM criado"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Editar Item da BOM"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Item da BOM atualizado"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Apagar Item da BOM"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Item da BOM excluído"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Visualizar BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Editar peças substitutas"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Montagem"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Mostrar montagens ativas"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreável"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Mostrar montagens rastreáveis"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9539,17 +9755,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9562,8 +9778,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9573,18 +9789,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9592,16 +9818,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9609,124 +9831,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Mostrar linhas de consumíveis"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Mostrar itens opcionais"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Rastreado"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Mostrar linhas rastreadas"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "Em produção"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Nenhum estoque disponível"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Quantidade Unitária"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Produzir Estoque"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9757,31 +9993,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9789,7 +10025,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9797,103 +10033,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Nova saída de produção"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Nova saída de produção"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtrar por estado do estoque"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Concluir saídas selecionadas"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Remover saídas selecionadas"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Cancelar saídas selecionadas"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Atribuir"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Atribuir estoque para a produção"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Remover saídas selecionadas"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Cancelar saídas selecionadas"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Atribuir"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Atribuir estoque para a produção"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Desalocar"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Desalocar estoque da produção"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Concluir Produção"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Sucata"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Cancelar Saída de Produção"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Cancelar Saída de Produção"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Testes Obrigatórios"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9918,28 +10158,28 @@ msgstr "Apagar Morada"
msgid "Are you sure you want to delete this address?"
msgstr "Tem a certeza que deseja apagar esta morada?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Adicionar Empresa"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Adicionar Empresa"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Mostrar Empresas ativas"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Mostrar Empresas que são fornecedores"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Mostrar Empresas que são fabricantes"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Mostrar Empresas que são clientes"
@@ -10049,26 +10289,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Adicionar item de linha"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Editar item de linha"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Excluir Item da Linha"
@@ -10098,14 +10338,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Adicionar Parâmetro"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Editar Parâmetro"
@@ -10164,7 +10404,7 @@ msgid "Show templates with choices"
msgstr "Mostrar modelos com escolhas"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Possui unidades"
@@ -10424,7 +10664,7 @@ msgid "Notification"
msgstr "Notificação"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Mensagem"
@@ -10468,7 +10708,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10477,7 +10717,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Incluir Subcategorias"
@@ -10561,136 +10801,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Stock mínimo"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrar por estado ativo da peça"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrar por atributo de montagem"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Incluir peças nas subcategorias"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrar por atributo do componente"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrar por atributo rastreável"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtrar por peças que têm unidades"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Possui IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtrar por peças que tenham um IPN"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Possui estoque"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Mostrar peças que têm estoque"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrar po peças que têm estoque baixo"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Adquirível"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtrar por peças que são adquiríveis"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Vendível"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrar por peças que são vendíveis"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrar por peças que são virtuais"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Não é Virtual"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10702,58 +10942,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Adicionar Resultado de Teste"
@@ -10775,7 +11015,7 @@ msgstr ""
msgid "No Result"
msgstr "Sem Resultado"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10860,7 +11100,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Selecionar"
@@ -10914,7 +11162,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Etapa"
@@ -10944,7 +11192,7 @@ msgstr "Extensão"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10974,68 +11222,68 @@ msgstr "Descrição não está disponível"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Confirmar a ativação da extensão"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Confirmar desativação da extensão"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "A extensão selecionada será ativada"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "A extensão selecionada será desativada"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "A extensão selecionada será ativada"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "A extensão selecionada será desativada"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Desativar"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Ativar"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Ativar"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Desinstalar"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Ativar Extensão"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11043,20 +11291,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Instalar Extensão"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Instalar"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "A extensão foi instalada com sucesso."
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Desintalar extensão"
@@ -11064,23 +11312,23 @@ msgstr "Desintalar extensão"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Confirmar instalação da extensão"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "A extensão selecionada será desinstalada."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "A extensão foi desinstalada com sucesso"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Excluir Extensão"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Ao excluir esta extensão, todas as configurações e informações da extensão serão removidas. Tem a certeza que deseja excluir está extensão?"
@@ -11088,11 +11336,11 @@ msgstr "Ao excluir esta extensão, todas as configurações e informações da e
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Extensões recarregadas"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "As Extensões foram recarregadas com sucesso"
@@ -11104,7 +11352,7 @@ msgstr "As Extensões foram recarregadas com sucesso"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Recarregar extensões"
@@ -11116,7 +11364,7 @@ msgstr "Recarregar extensões"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Detalhe da Extensão"
@@ -11128,12 +11376,12 @@ msgstr "Detalhe da Extensão"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Amostra"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Instalado"
@@ -11153,30 +11401,24 @@ msgstr "Instalado"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Peça Ativa"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11197,7 +11439,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11205,15 +11447,15 @@ msgstr ""
msgid "Supplier Code"
msgstr "Código do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Ligação do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Código do Fabricante"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11223,30 +11465,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Receber item de linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Receber itens"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Unidade Base"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Adicionar Fornecedor da Peça"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11255,77 +11489,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Adicionar Fornecedor da Peça"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Mostrar peças do fornecedor ativas"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Mostrar partes internas ativas"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Fornecedor Ativo"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Mostrar Fornecedores ativos"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11334,16 +11580,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11351,31 +11597,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Encomendar Estoque"
@@ -11387,78 +11637,82 @@ msgstr "Encomendar Estoque"
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11991,24 +12245,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12029,207 +12283,159 @@ msgstr "Apagar Tipo de Localização"
msgid "Icon"
msgstr "Ícone"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Este item de estoque está em produção"
-
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Este item de estoque foi reservado para uma ordem de venda"
-
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Este item em estoque foi reservado para um cliente"
-
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Este item em estoque está instalado em outro item de estoque"
-
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Este item de estoque foi consumido por uma ordem de produção"
-
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Este item de estoque expirou"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Mostrar estoque de peças ativas"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Este item de estoque está obsoleto"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Este item de estoque está totalmente alocado"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Mostrar itens que foram alocados"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Este item de estoque está parcialmente alocado"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Mostrar itens que estão disponíveis"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Este item de estoque está esgotado"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Incluir sublocações"
+
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Incluir estoque em sublocalizações"
+
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Esgotado"
+
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Mostrar itens de estoque esgotados"
+
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Mostrar itens que estão em produção"
+
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Mostrar itens de estoque que estão instalados em outros itens"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Enviar para o Cliente"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Mostrar itens que foram enviados para um cliente"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Mostrar itens rastreáveis"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Possui Preço de Compra"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Mostrar itens que possuem um preço de compra"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr ""
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Localização Externa"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Mostrar estoque de peças ativas"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Mostrar itens que foram alocados"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Mostrar itens que estão disponíveis"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Incluir sublocações"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Incluir estoque em sublocalizações"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Esgotado"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Mostrar itens de estoque esgotados"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Mostrar itens que estão em produção"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Mostrar itens em uma localização externa"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Mostrar itens de estoque que estão instalados em outros itens"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Enviar para o Cliente"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Mostrar itens que foram enviados para um cliente"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Mostrar itens rastreáveis"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Possui Preço de Compra"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Mostrar itens que possuem um preço de compra"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Localização Externa"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Mostrar itens em uma localização externa"
-
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12295,7 +12501,7 @@ msgid "Finished"
msgstr "Concluído"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Editar Resultado do Teste"
@@ -12304,7 +12510,7 @@ msgid "Test result updated"
msgstr "Resultado do teste atualizado"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Excluir Resultado do Teste"
@@ -12328,27 +12534,27 @@ msgstr "Falha ao gravar resultado do teste"
msgid "Pass Test"
msgstr "Passou no teste"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Mostrar resultados para testes necessários"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Incluir Instalados"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Mostrar resultados para itens de estoque instalados"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Aprovado"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Mostrar apenas testes aprovados"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12393,15 +12599,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Adicionado"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Excluido"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Sem informações de usuário"
diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po
index 3541429a6f..6c11c73577 100644
--- a/src/frontend/src/locales/pt_BR/messages.po
+++ b/src/frontend/src/locales/pt_BR/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Editar"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Excluir"
@@ -44,36 +44,36 @@ msgstr "Excluir"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Cancelar"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Ações"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Buscar"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Reprovado"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Sim"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Não"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Peça"
@@ -134,7 +138,7 @@ msgstr "Peça"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Peças"
@@ -149,14 +153,14 @@ msgstr "Peças"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parâmetro"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parâmetros"
@@ -168,7 +172,7 @@ msgstr "Template de parâmetro"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Modelo de Parâmetros"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Teste de Modelos de Peças"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Peças do Fornecedor"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Fabricante da peça"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Peças do Fabricante"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Categoria da Peça"
@@ -218,19 +222,22 @@ msgstr "Categoria da Peça"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Categorias de Peça"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Item de estoque"
@@ -238,22 +245,22 @@ msgstr "Item de estoque"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Itens de Estoque"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Localização do estoque"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Locais de estoque"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Categoria de Localização de Estoque"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Histórico de estoque"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Criar itens"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Empresas"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Código do Projeto"
@@ -330,21 +337,21 @@ msgstr "Códigos de Projeto"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Pedido de Compra"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Linhas do Pedido de Compra"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Pedido de Venda"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Pedidos de vendas"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Envio do Pedido Venda"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Envios do Pedido Venda"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Pedido de Devolução"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Pedidos de Devolução"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Endereço"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Endereços"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Contato"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Contatos"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Proprietário"
@@ -451,15 +458,15 @@ msgstr "Proprietários"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Usuário"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Modelos de Relatório"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Configuração de Plugin"
@@ -543,31 +550,31 @@ msgstr "Listas de Seleção"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Ordens de Produções"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Falha no processamento"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Processo finalizado com sucesso"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Erro ao renderizar componente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Um erro ocorreu ao renderizar este componente. Verifique o console para mais informações."
@@ -637,7 +648,7 @@ msgstr "Código de barras"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Escanear"
@@ -668,8 +679,8 @@ msgstr "Digitar informações do código de barras"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Ler Código de Barras"
@@ -679,7 +690,7 @@ msgstr "Nenhum item correspondente encontrado"
#: src/components/barcodes/BarcodeScanDialog.tsx:150
msgid "Barcode does not match the expected model type"
-msgstr ""
+msgstr "Código de barras não corresponde ao tipo de modelo esperado"
#: src/components/barcodes/BarcodeScanDialog.tsx:161
#: src/components/editors/NotesEditor.tsx:84
@@ -688,14 +699,14 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Sucesso"
#: src/components/barcodes/BarcodeScanDialog.tsx:167
msgid "Failed to handle barcode"
-msgstr ""
+msgstr "Falha ao escanear código de barras"
#: src/components/barcodes/BarcodeScanDialog.tsx:183
#: src/pages/Index/Scan.tsx:129
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Falha ao escanear código de barras"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Link"
@@ -754,7 +765,7 @@ msgstr "Isto irá remover o link com o código de barras associado"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Desvincular Código de Barras"
@@ -766,11 +777,11 @@ msgstr "Abrir na página de administrador"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Copiada"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Copiar"
@@ -798,19 +809,15 @@ msgstr "Imprimir Relatórios"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Imprimir etiqueta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Imprimir"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Imprimir"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Imprimir Relatório"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Ações de Impressão"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Imprimir Etiquetas"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Imprimir Relatórios"
@@ -860,8 +867,8 @@ msgstr "Você será redirecionado para o provedor para outras ações."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Abrir Leitor de Código QR"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -869,7 +876,7 @@ msgstr "Abrir spotlight"
#: src/components/buttons/StarredToggleButton.tsx:36
msgid "Subscription Updated"
-msgstr ""
+msgstr "Assinatura atualizada"
#: src/components/buttons/StarredToggleButton.tsx:57
#~ msgid "Unsubscribe from part"
@@ -877,33 +884,38 @@ msgstr ""
#: src/components/buttons/StarredToggleButton.tsx:66
msgid "Unsubscribe from notifications"
-msgstr ""
+msgstr "Não receber notificações"
#: src/components/buttons/StarredToggleButton.tsx:67
msgid "Subscribe to notifications"
-msgstr ""
+msgstr "Receber notificações"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
-msgstr ""
+msgstr "Filtros do calendário"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Mês anterior"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Selecionar mês"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Mês seguinte"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Baixar dados"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -911,16 +923,16 @@ msgstr "Atualizar Pedido"
#: src/components/calendar/OrderCalendar.tsx:142
msgid "Error updating order"
-msgstr ""
+msgstr "Erro ao atualizar pedido"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Em atraso"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr ""
+msgstr "Falha ao carregar widgets do painel."
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
@@ -937,7 +949,7 @@ msgstr "Aceitar Layout"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -957,7 +969,7 @@ msgstr "Remover Widgets"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "Limpar widgets"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
@@ -965,11 +977,11 @@ msgstr "Remover este widget do painel de controle"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:77
msgid "Filter dashboard widgets"
-msgstr ""
+msgstr "Filtrar widgets do painel"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:98
msgid "Add this widget to the dashboard"
-msgstr ""
+msgstr "Adicionar este widget ao painel"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:123
msgid "No Widgets Available"
@@ -977,189 +989,189 @@ msgstr "Nenhum Widget Disponível"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:124
msgid "There are no more widgets available for the dashboard"
-msgstr ""
+msgstr "Não há mais widgets disponíveis para o painel"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Peças inscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
-msgstr ""
+msgstr "Mostrar o número de peças que você se inscreveu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Categorias Inscritas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
-msgstr ""
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
-msgid "Invalid BOMs"
-msgstr ""
+msgstr "Mostrar o número de categorias de partes que você se inscreveu"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+msgid "Invalid BOMs"
+msgstr "\"BOMs\" inválidos"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Estoque Baixo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr ""
+msgstr "Mostrar o número de peças com o estoque baixo"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Necessário para pedidos de produção"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
-msgstr ""
+msgstr "Mostrar peças necessárias para ordens de construção ativas"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
-msgstr ""
+msgstr "Itens de estoque vencidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
-msgstr ""
+msgstr "Mostrar itens de estoque que estão vencidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Pedido de produção atrasado"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Pedidos de Venda Vencidos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Pedido de Compra Vencido"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Primeiros passos"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Primeiros passos com InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
-msgstr ""
+msgstr "Notícias"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
-msgstr ""
+msgstr "As últimas notícias de InvenTree"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
@@ -1168,7 +1180,7 @@ msgstr "Alterar o modo de cor"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
-msgstr ""
+msgstr "Alterar o modo de cor da interface do usuário"
#: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18
msgid "Change Language"
@@ -1198,13 +1210,36 @@ msgstr "Nenhuma Notícia"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
+msgstr "Não há nenhuma notícia não lida"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
msgstr ""
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr "Superusuário"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Equipe"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Email: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Sem nome definido"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Remover imagem associada a este item?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Remover"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Arraste e solte para carregar"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Clique para selecionar o(s) arquivo(s)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Imagem carregada"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Imagem carregada com sucesso"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Erro no carregamento"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Limpar"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Enviar"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Selecionar de imagens existentes"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Selecionar Imagem"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Baixar imagem remota"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Carregar nova imagem"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Enviar Imagem"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Excluir imagem"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Baixar Imagem"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Imagem baixada com sucesso"
@@ -1546,7 +1589,7 @@ msgstr "Existem erros para um ou mais campos de formulário"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Atualizar"
@@ -1579,21 +1622,21 @@ msgstr "Autenticação realizada com sucesso"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Falha ao acessar"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Verifique sua entrada e tente novamente."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Envio de e-mail concluído"
@@ -1628,7 +1671,7 @@ msgstr "Seu nome de usuário"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Senha"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Repita a senha"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registrar"
@@ -1720,6 +1763,10 @@ msgstr "Registro não ativo"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Servidor"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Versão da API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Extensões"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Ativado"
@@ -1850,17 +1898,17 @@ msgstr "Parado"
msgid "Running"
msgstr "Em execução"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Selecione um arquivo para upload"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Aceitar valor sugerido"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Selecione a data"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Sem classificação"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Buscar..."
@@ -1890,13 +1938,13 @@ msgstr "Selecione o pacote"
msgid "{0} icons"
msgstr "Ícones {0}"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Carregando"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nenhum resultado encontrado"
@@ -1940,49 +1988,49 @@ msgstr "Alterar dados"
msgid "Delete Row"
msgstr "Apagar linha"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Linhas"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "A linha contém erros"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Concordar"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Válido"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrar por estado de validação de linha"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Concluir"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrar por estado de conclusão de linha"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importar as linhas selecionadas"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Processando dados"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Ocorreu um erro"
@@ -2002,31 +2050,31 @@ msgstr "Selecione uma coluna, ou deixe em branco para ignorar este campo."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorar esse campo"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapeando colunas de dados para campos no banco de dados"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Aceitar mapeamento de coluna"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Campo do banco de dados"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Descrição do Campo"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Coluna importada"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Valor Padrão"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mapear colunas"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importar dados"
+msgid "Import Rows"
+msgstr "Importar Linhas"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Dados importados com sucesso"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Fechar"
@@ -2104,8 +2152,8 @@ msgstr "Opções"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Ações de código de barras"
@@ -2177,10 +2225,15 @@ msgstr "Erro desconhecido"
msgid "None"
msgstr "Nenhum"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Logotipo InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Selecionar idioma"
@@ -2208,9 +2261,10 @@ msgstr "Atualizando funções de grupo"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Atualizado"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Função"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Visualizar"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Alterar"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Adicionar"
@@ -2255,14 +2309,14 @@ msgstr "Nenhum item"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Disponível"
@@ -2320,7 +2374,7 @@ msgstr "Links"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Documentação"
@@ -2453,7 +2507,7 @@ msgstr "Trabalhador em Segundo Plano"
#: src/components/modals/ServerInfoModal.tsx:107
msgid "The background worker process is not running"
-msgstr ""
+msgstr "O processo de fundo do \"worker\" não está em execução"
#: src/components/modals/ServerInfoModal.tsx:107
#~ msgid "The Background worker process is not running."
@@ -2479,7 +2533,7 @@ msgstr "Alertas"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Nenhum problema detectado"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2487,7 +2541,7 @@ msgstr "O servidor está executando no modo de depuração."
#: src/components/nav/Alerts.tsx:129
msgid "The background worker process is not running."
-msgstr ""
+msgstr "O processo de fundo do \"worker\" não está em execução."
#: src/components/nav/Alerts.tsx:134
msgid "Server Restart"
@@ -2503,11 +2557,11 @@ msgstr "Configurações de e-mail"
#: src/components/nav/Alerts.tsx:148
msgid "Database Migrations"
-msgstr ""
+msgstr "Migrações de Banco de Dados"
#: src/components/nav/Alerts.tsx:150
msgid "There are pending database migrations."
-msgstr ""
+msgstr "Existem migrações pendentes no banco de dados."
#: src/components/nav/Alerts.tsx:165
msgid "Learn more about {code}"
@@ -2523,7 +2577,7 @@ msgstr "Saiba mais sobre {code}"
msgid "Notifications"
msgstr "Notificações"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Nada encontrado..."
@@ -2547,7 +2601,7 @@ msgstr "Configurações"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Configurações de usuário"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Configurações do Sistema"
@@ -2578,14 +2632,14 @@ msgstr "Configurações do Sistema"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Centro de Administração"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Sair"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Estoque"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Fabricantes"
@@ -2636,21 +2690,21 @@ msgstr "Fabricantes"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Comprando"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Vendas"
@@ -2664,7 +2718,7 @@ msgstr "Sobre"
#: src/components/nav/NavigationTree.tsx:212
msgid "Error loading navigation tree."
-msgstr ""
+msgstr "Erro ao carregar a árvore de navegação."
#: src/components/nav/NotificationDrawer.tsx:183
#: src/pages/Notifications.tsx:74
@@ -2681,15 +2735,15 @@ msgstr "Você não tem notificações não lidas."
#: src/components/nav/NotificationDrawer.tsx:238
msgid "Error loading notifications."
-msgstr ""
+msgstr "Erro ao carregar notificações."
#: src/components/nav/SearchDrawer.tsx:106
msgid "No Overview Available"
-msgstr ""
+msgstr "Nenhuma visão geral disponível"
#: src/components/nav/SearchDrawer.tsx:107
msgid "No overview available for this model type"
-msgstr ""
+msgstr "Nenhuma visão geral disponível para este tipo de modelo"
#: src/components/nav/SearchDrawer.tsx:125
msgid "View all results"
@@ -2701,11 +2755,11 @@ msgstr "resultados"
#: src/components/nav/SearchDrawer.tsx:144
msgid "Remove search group"
-msgstr ""
+msgstr "Remover grupo de busca"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Fornecedores"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Fabricantes"
@@ -2732,7 +2786,7 @@ msgstr "Digite o texto de pesquisa"
#: src/components/nav/SearchDrawer.tsx:488
msgid "Refresh search results"
-msgstr ""
+msgstr "Atualizar resultados da pesquisa"
#: src/components/nav/SearchDrawer.tsx:499
#: src/components/nav/SearchDrawer.tsx:506
@@ -2768,21 +2822,21 @@ msgstr "Não há resultados disponíveis para a pesquisa"
msgid "Attachments"
msgstr "Anexos"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Anotações"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Data"
@@ -2845,48 +2899,54 @@ msgstr "Data"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Ativo"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Página Web"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Nome do Pacote"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Caminho da Instalação"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Embutido"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Pacote"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Configurações da Extensão"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Remessa"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inativo"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Sem Estoque"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "No pedido"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Em Produção"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detalhes"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Categoria"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Localização"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Número de Série"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Quantidade"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Lote"
@@ -3121,11 +3179,11 @@ msgstr ""
#: src/components/settings/ConfigValueList.tsx:39
msgid "Source"
-msgstr ""
+msgstr "Fonte"
#: src/components/settings/QuickAction.tsx:47
msgid "Act"
-msgstr ""
+msgstr "Ato"
#: src/components/settings/QuickAction.tsx:73
#: src/components/settings/QuickAction.tsx:113
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Editar configurações"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Configurações atualizadas"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Configuração {0} atualizada com sucesso"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Erro ao editar configuração"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Nenhuma configuração especificada"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Fornecedor"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Carregando..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Editar Peça"
@@ -3747,15 +3813,15 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:809
msgid "Done"
-msgstr ""
+msgstr "Concluído"
#: src/components/wizards/OrderPartsWizard.tsx:75
msgid "Error fetching part requirements"
-msgstr ""
+msgstr "Erro ao obter requisitos da peça"
#: src/components/wizards/OrderPartsWizard.tsx:113
msgid "Requirements"
-msgstr ""
+msgstr "Requisitos"
#: src/components/wizards/OrderPartsWizard.tsx:117
msgid "Build Requirements"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "Em Estoque"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3793,15 +3859,15 @@ msgstr "Novo Pedido de Compra"
#: src/components/wizards/OrderPartsWizard.tsx:205
msgid "Purchase order created"
-msgstr ""
+msgstr "Pedido de compra criado"
#: src/components/wizards/OrderPartsWizard.tsx:217
msgid "New Supplier Part"
msgstr "Nova peça do fornecedor"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Peça do fornecedor criada"
@@ -3811,15 +3877,15 @@ msgstr "Adicionar ao Pedido de Compra"
#: src/components/wizards/OrderPartsWizard.tsx:259
msgid "Part added to purchase order"
-msgstr ""
+msgstr "Parte adicionada a pedido de compra"
#: src/components/wizards/OrderPartsWizard.tsx:303
msgid "Select supplier part"
-msgstr ""
+msgstr "Selecionar fornecedor da peça"
#: src/components/wizards/OrderPartsWizard.tsx:323
msgid "Copy supplier part number"
-msgstr ""
+msgstr "Copiar número da peça do fornecedor"
#: src/components/wizards/OrderPartsWizard.tsx:326
msgid "New supplier part"
@@ -3827,15 +3893,15 @@ msgstr "Nova peça de fornecedor"
#: src/components/wizards/OrderPartsWizard.tsx:350
msgid "Select purchase order"
-msgstr ""
+msgstr "Selecionar pedido"
#: src/components/wizards/OrderPartsWizard.tsx:364
msgid "New purchase order"
-msgstr ""
+msgstr "Novo pedido de compra"
#: src/components/wizards/OrderPartsWizard.tsx:420
msgid "Add to selected purchase order"
-msgstr ""
+msgstr "Adicionar ao pedido de compra selecionado"
#: src/components/wizards/OrderPartsWizard.tsx:432
#: src/components/wizards/OrderPartsWizard.tsx:545
@@ -3860,24 +3926,24 @@ msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:557
msgid "Supplier part is required"
-msgstr ""
+msgstr "Uma parte do fornecedor é obrigatória"
#: src/components/wizards/OrderPartsWizard.tsx:561
msgid "Quantity is required"
-msgstr ""
+msgstr "A quantidade é obrigatória"
#: src/components/wizards/OrderPartsWizard.tsx:574
msgid "Invalid part selection"
-msgstr ""
+msgstr "Seleção de peça inválida"
#: src/components/wizards/OrderPartsWizard.tsx:576
msgid "Please correct the errors in the selected parts"
-msgstr ""
+msgstr "Por favor, corrija os erros nas partes selecionadas"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Pedir Peças"
@@ -4038,77 +4104,89 @@ msgstr "Pedir Peças"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Ir para o Dashboard do InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Visite a documentação para aprender mais sobre o InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Sobre a organização InvenTree"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informações do Servidor"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
-msgstr ""
+msgstr "Sobre esta instância do Inventree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informações de Licença"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenças para dependências de serviços"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Abrir Navegação"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Abrir o menu de navegação principal"
-#: src/defaults/actions.tsx:86
+#: src/defaults/actions.tsx:87
+msgid "Go to your user settings"
+msgstr "Ir para suas configurações de usuário"
+
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
+msgid "Go to Purchase Orders"
+msgstr "Ir para pedidos de compra"
+
+#: src/defaults/actions.tsx:117
+msgid "Go to Sales Orders"
+msgstr "Ir para pedidos de venda"
+
+#: src/defaults/actions.tsx:128
+msgid "Go to Return Orders"
+msgstr "Ir para devoluções"
+
+#: src/defaults/actions.tsx:138
msgid "Scan a barcode or QR code"
msgstr "Leia um código de barras ou um código QR"
-#: src/defaults/actions.tsx:94
-msgid "Go to your user settings"
-msgstr ""
-
-#: src/defaults/actions.tsx:105
-msgid "Go to Purchase Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:115
-msgid "Go to Sales Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:126
-msgid "Go to Return Orders"
-msgstr ""
-
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
-msgstr ""
+msgstr "Ir para Configurações do Sistema"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Ir para o Centro de Administração"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Gerenciar plugins do InvenTree"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4205,11 +4283,11 @@ msgstr "Perguntas Frequentes"
#: src/defaults/links.tsx:114
msgid "GitHub Repository"
-msgstr ""
+msgstr "Repositório do GitHub"
#: src/defaults/links.tsx:117
msgid "InvenTree source code on GitHub"
-msgstr ""
+msgstr "Código-fonte do InvenTree no GitHub"
#: src/defaults/links.tsx:117
#~ msgid "Licenses for packages used by InvenTree"
@@ -4226,11 +4304,11 @@ msgstr "Informação do Sistema"
#: src/defaults/links.tsx:176
msgid "Licenses for dependencies of the InvenTree software"
-msgstr ""
+msgstr "Licenças para dependências do software InvenTree"
#: src/defaults/links.tsx:187
msgid "About the InvenTree Project"
-msgstr ""
+msgstr "Sobre o projeto InvenTree"
#: src/defaults/menuItems.tsx:7
#~ msgid "Open sourcea"
@@ -4348,21 +4426,21 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
-msgstr ""
+msgstr "Parte substituta"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
-msgstr ""
+msgstr "Adicionar substituto"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
-msgstr ""
+msgstr "Substituto adicionado"
#: src/forms/BuildForms.tsx:112
#: src/forms/BuildForms.tsx:217
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Saída da Produção"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
-msgstr ""
+msgstr "Quantidade a completar"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Estado"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Concluir Saídas de Produção"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Saídas de produção foram completadas"
@@ -4428,143 +4506,133 @@ msgstr "Saídas de produção foram completadas"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Sucatear Saídas de Produção"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Saídas de produção foram sucateadas"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Saídas de produção foram sucateadas"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Cancelar Saídas de Produção"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Saídas de produção foram canceladas"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IPN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Alocado"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Local de Origem"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Selecione o local de origem para alocação de estoque"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Alocar Estoque"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Itens de estoque alocados"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,18 +4640,18 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Inscrito"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
-msgstr ""
+msgstr "Receber notificações desta parte"
#: src/forms/PartForms.tsx:108
#~ msgid "Part created"
@@ -4593,79 +4661,83 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Categoria de peça parental"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
-msgstr ""
+msgstr "Receber notificações desta categoria"
#: src/forms/PurchaseOrderForms.tsx:421
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Escolher local"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destino do item selecionado"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Localização padrão da categoria de peça selecionada"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Localização do estoque recebida selecionada"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Localização padrão selecionada"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Definir Localização"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Definir código em Lote"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
-msgstr ""
+msgstr "Definir data de validade"
+
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Ajustar Pacotes"
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Ajustar Pacotes"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Alterar Status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Adicionar observação"
@@ -4673,56 +4745,56 @@ msgstr "Adicionar observação"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Armazenar no local padrão"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Armazenar com estoque já recebido"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Código de Lote"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
-msgstr ""
+msgstr "Digite o código do lote para itens de estoque recebidos"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Números de Série"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
-msgstr ""
+msgstr "Digite o número de série para itens de estoque recebidos"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Data de Validade"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
-msgstr ""
+msgstr "Insira uma data de expiração para os itens recebidos"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr "Embalagem"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Anotação"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Código (SKU)"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Recebido"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Excluir Itens de Linha"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Itens Recebidos"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Receber Itens"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Ítem recebido em estoque"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Remessa Completa"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Adicionar quantidade dada como pacotes e não itens individuais"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Inserir quantidade inicial deste item de estoque"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Insira o número de série para novo estoque (ou deixe em branco)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Situação do Estoque"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Adicionar Item do Estoque"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Selecione a peça para instalar"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Confirmar Transferência de Estoque"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Mover para o local padrão"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Mover"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Voltar"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Contar"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Adicionar Estoque"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Estoque adicionado"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Remover Estoque"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Estoque removido"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Transferir Estoque"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Estoque transferido"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Contar Estoque"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Mudar estado do estoque"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Mesclar estoque"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Excluir Item de Estoque"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Estoque excluído"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Local de estoque pai"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Encontrar Número de Série"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Nenhum item correspondente"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Vários itens correspondentes"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Resposta inválida do servidor"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Erro interno do servidor"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Já logado"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Desconectado"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Desconectado"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Deslogado com sucesso"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Tema alterado"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "A redefinação falhou"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Já logado"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "Há uma sessão conflitante no servidor para este navegador. Por favor, faça logout primeiro."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Logado"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Logado com sucesso"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
+msgstr "Falha ao configurar autenticação de múltiplos fatores"
+
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "Autenticação de múltiplos fatores configurada com sucesso"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Senha definida"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Sua senha foi alterada com sucesso. Agora você pode acessar usando sua nova senha"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "A senha não pode ser alterada"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
-msgstr ""
+msgstr "As senhas são diferentes"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Senha alterada"
@@ -5210,23 +5320,14 @@ msgstr "A solicitação excedeu o tempo"
msgid "Exporting Data"
msgstr "Exportando Dados"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Exportar Dados"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exportar"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Falha no processamento"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Processo finalizado com sucesso"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Item Criado"
@@ -5255,52 +5356,56 @@ msgstr "Tem certeza que deseja remover este item?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
-msgstr ""
+msgstr "Contar itens de estoque selecionados"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
-msgstr ""
+msgstr "Adicionar aos itens de estoque selecionados"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
-msgstr ""
+msgstr "Remover dos itens de estoque selecionados"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
-msgid "Assign Stock"
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:172
+msgid "Assign Stock"
+msgstr "Atribuir Estoque"
+
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Excluir Estoque"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Ações de Estoque"
@@ -5357,15 +5462,15 @@ msgstr "Nada selecionado"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Entrar"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Não possui uma conta?"
@@ -5383,12 +5488,12 @@ msgstr "Não possui uma conta?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5653,7 +5758,7 @@ msgstr ""
#: src/pages/Index/Scan.tsx:130
msgid "Scan Error"
-msgstr ""
+msgstr "Erro no escaneamento"
#: src/pages/Index/Scan.tsx:162
msgid "Selected elements are not known"
@@ -5678,7 +5783,7 @@ msgstr "Escaneamento de Código de Barras"
#: src/pages/Index/Scan.tsx:207
msgid "Barcode Input"
-msgstr ""
+msgstr "Entrada de código de barras"
#: src/pages/Index/Scan.tsx:214
msgid "Action"
@@ -5686,7 +5791,7 @@ msgstr "Ação"
#: src/pages/Index/Scan.tsx:217
msgid "No Items Selected"
-msgstr ""
+msgstr "Nenhum item selecionado"
#: src/pages/Index/Scan.tsx:217
#~ msgid "Manual input"
@@ -5707,7 +5812,7 @@ msgstr "{0} itens selecionados"
#: src/pages/Index/Scan.tsx:235
msgid "Scanned Items"
-msgstr ""
+msgstr "Itens Escaneados"
#: src/pages/Index/Scan.tsx:276
#~ msgid "Actions for {0}"
@@ -5809,7 +5914,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113
msgid "Edit Account Information"
-msgstr ""
+msgstr "Editar informações da conta"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34
#~ msgid "User details updated"
@@ -5817,7 +5922,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37
msgid "Account details updated"
-msgstr ""
+msgstr "Detalhes da conta atualizados"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46
#~ msgid "User Actions"
@@ -5830,7 +5935,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136
msgid "Edit Profile Information"
-msgstr ""
+msgstr "Editar Informação de Perfil"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55
#~ msgid "Last name"
@@ -5846,7 +5951,7 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:59
msgid "Profile details updated"
-msgstr ""
+msgstr "Detalhes do perfil atualizados"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:61
#~ msgid "Last name: {0}"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Cargo"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Tipo"
@@ -5933,222 +6038,222 @@ msgstr "Editar Perfil"
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
-msgstr ""
+msgstr "Reautenticação bem-sucedida"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
-msgstr ""
+msgstr "Você foi reautenticado com sucesso."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
-msgstr ""
+msgstr "Erro durante a reautenticação"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
-msgstr ""
+msgstr "Reautenticação Falhou"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
-msgid "Reauthenticate"
-msgstr ""
+msgstr "Falha ao reautenticar"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
-msgid "Reauthentiction is required to continue."
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
+msgid "Reauthenticate"
+msgstr "Reautenticar"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
+msgid "Reauthentiction is required to continue."
+msgstr "A reautenticação é necessária para continuar."
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
-msgstr ""
+msgstr "Os códigos de recuperação a seguir estão disponíveis para uso"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
-msgid "No Unused Codes"
-msgstr ""
+msgstr "Copiar códigos de recuperação para área de transferência"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+msgid "No Unused Codes"
+msgstr "Nenhum código não utilizado"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
-msgid "WebAuthn Registered"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
-msgid "WebAuthn credential registered successfully"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
-msgid "Error registering WebAuthn credential"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
-msgid "WebAuthn Registration Failed"
-msgstr ""
+msgstr "Não há códigos de recuperação disponíveis"
#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+msgid "WebAuthn Registered"
+msgstr "WebAuthn registrado"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
+msgid "WebAuthn credential registered successfully"
+msgstr "Credencial WebAuthn registrada com sucesso"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
+msgid "Error registering WebAuthn credential"
+msgstr "Erro ao registrar credencial WebAuthn"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
+msgid "WebAuthn Registration Failed"
+msgstr "Falha no registro WebAuthn"
+
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
-msgstr ""
+msgstr "Falha ao registrar credencial WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
-msgstr ""
+msgstr "Erro ao obter o registro de WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
-msgstr ""
+msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
-msgstr ""
+msgstr "Senhas Avulsas por Tempo Limitado (Time-based One-Time Password)"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
-msgstr ""
+msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
-msgstr ""
+msgstr "Último uso em"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Criado em"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Não Configurado"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
-msgstr ""
+msgstr "Não há tokens multi-fator configurados para esta conta"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
-msgstr ""
+msgstr "Registrar método de autenticação"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "Não há métodos MFA disponíveis"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
-msgstr ""
+msgstr "Não há métodos MFA disponíveis para configuração"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:27
msgid "Secret"
@@ -6162,47 +6267,47 @@ msgstr "Senha de uso único"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Endereço de e-mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Endereço de e-mail"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Não habilitado"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr "Ativar o logon único (Single Sign on)"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Não habilitado"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Logon único não está habilitado para este servidor "
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Tokens de Acesso"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
-msgstr ""
+msgstr "Informações da sessão"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
-msgstr ""
+msgstr "Método"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Os seguintes endereços de e-mail estão associados à sua conta:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Principal"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Não Verificado"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Tornar Principal"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Reenviar Verificação"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Adicionar E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-mail"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Endereço de e-mail"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Adicionar E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Endereço de e-mail"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Adicionar E-mail"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Adicionar E-mail"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6397,11 +6503,11 @@ msgstr "Carregador"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:185
msgid "Bars"
-msgstr ""
+msgstr "Barras"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:186
msgid "Oval"
-msgstr ""
+msgstr "Oval"
#: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:187
msgid "Dots"
@@ -6420,7 +6526,7 @@ msgstr "Pontos"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Moeda"
@@ -6450,7 +6556,7 @@ msgstr "Moeda base"
#: src/pages/Index/Settings/AdminCenter/EmailManagementPanel.tsx:13
msgid "Email Messages"
-msgstr ""
+msgstr "Mensagens de Email"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:22
#~ msgid "Active Alerts"
@@ -6462,7 +6568,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "Status do sistema"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
@@ -6482,7 +6588,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:85
msgid "Quick Actions"
-msgstr ""
+msgstr "Ações Rápidas"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:107
#~ msgid "User Management"
@@ -6490,7 +6596,7 @@ msgstr ""
#: src/pages/Index/Settings/AdminCenter/Index.tsx:115
msgid "Home"
-msgstr ""
+msgstr "Início"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:122
msgid "Users / Access"
@@ -6506,11 +6612,11 @@ msgstr "Importador de dados"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:142
msgid "Data Export"
-msgstr ""
+msgstr "Exportar dados"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:148
msgid "Barcode Scans"
-msgstr ""
+msgstr "Digitalizações de Código de Barras"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:154
msgid "Background Tasks"
@@ -6563,11 +6669,11 @@ msgstr "Máquinas"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:247
msgid "Operations"
-msgstr ""
+msgstr "Operações"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:259
msgid "Data Management"
-msgstr ""
+msgstr "Gerenciamento de Dados"
#: src/pages/Index/Settings/AdminCenter/Index.tsx:270
#: src/pages/Index/Settings/SystemSettings.tsx:176
@@ -6685,30 +6791,34 @@ msgstr "Anexar ao Modelo"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Trabalhador em segundo plano não está funcionando"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Trabalhador em segundo plano não está funcionando"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "O serviço de gerenciador de tarefas em segundo plano não está em execução. Entre em contato com o administrador do sistema."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Tarefas Pendentes"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Tarefas Agendadas"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Tarefas com Falhas"
@@ -6805,6 +6915,16 @@ msgstr "Preços"
msgid "Labels"
msgstr "Etiquetas"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Rastreamento de Estoque"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revisão"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revisão"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revisão"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revisão"
msgid "Custom Status"
msgstr "Status Personalizado"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Externo"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referência"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Produção Pai"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Quantidade de Produção"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Pode Produzir"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Saídas Completas"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Emitido por"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Responsável"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Qualquer local"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Local de Destino"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Criado"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Data Prevista"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Local de Destino"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Criado"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Data Prevista"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Concluído"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detalhes da Produção"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Estoque Alocado"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Estoque Consumido"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Saídas Incompletas"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Pedido de Produção Filhos"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Resultados do teste"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Editar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Adicionar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Cancelar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Pedido cancelado"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Cancelar este pedido"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Manter Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Colocar este pedido em espera"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Pedido colocado em espera"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Pedido de produção vencido"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Cancelar este pedido"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Problemas com o pedido"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Completar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Marcar este pedido como completo"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Pedido concluído"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Emitir Pedido"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Completar Pedido"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Ações do Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Editar pedido"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplicar pedido"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Manter ordem"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Cancelar pedido"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Ondem de Produção"
@@ -7207,7 +7327,7 @@ msgstr "Ondem de Produção"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Página Web"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Número de telefone"
@@ -7271,11 +7389,11 @@ msgstr "Moeda Padrão"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Fabricante"
@@ -7284,15 +7402,15 @@ msgstr "Fabricante"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Cliente"
@@ -7320,16 +7438,16 @@ msgstr "Peças Fabricadas"
msgid "Assigned Stock"
msgstr "Estoque Atribuído"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Editar Empresa"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Excluir Empresa"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Ações da Empresa"
@@ -7349,7 +7467,7 @@ msgstr "Link Externo"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Detalhes da Peça"
@@ -7363,28 +7481,28 @@ msgstr "Detalhes de peça do Fabricante"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Estoque Recebido"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Editar Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Adicionar Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Excluir Peça do Fabricante"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Ações de peça do Fabricante"
@@ -7401,7 +7519,7 @@ msgstr "Descrição da Peça"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
@@ -7427,28 +7545,28 @@ msgstr "Detalhes de Peça do Fornecedor"
msgid "Supplier Pricing"
msgstr "Preço do fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Ações de Peças do Fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Editar Peça do Fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Excluir Peça do Fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Adicionar Peça do Fornecedor"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Sem Estoque"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Informações do Usuário"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Usuário básico"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Sub-categorias"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Apagar items"
@@ -7577,60 +7695,64 @@ msgstr "Detalhes da categoria"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Alocações de Pedido de Produção"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Alocações do Pedido de Vendas"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Validar LDM"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Deseja validar a lista de materiais desta montagem?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validado Em"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validado Por"
@@ -7650,246 +7772,246 @@ msgstr "Validado Por"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revisão"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Local Padrão"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Localização padrão da categoria"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Unidades"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Localização padrão da categoria"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Unidades"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Palavras-chave"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "No pedido"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Necessário para Pedidos"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Alocado para Pedidos de Construção"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Alocado para Pedidos de Venda"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Estoque Mínimo"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Estoque Mínimo"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Bloqueado"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Modelo de peça"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Peça Montada"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Parte do componente"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Parte Testável"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Peça Rastreável"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Parte comprável"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Parte vendível"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Parte Virtual"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Criado em"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Criado por"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Validade Padrão"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "dias"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Faixa de Preço"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Último Número de Série"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Selecionar Revisão de Parte"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Variantes"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Alocações"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Lista de Materiais"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Usado em"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Preço de Peça"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Testar Modelos"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Peças Relacionadas"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Os parâmetros da peça não podem ser editados, pois a peça está bloqueada"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Os parâmetros da peça não podem ser editados, pois a peça está bloqueada"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Obrigatório"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Adicionar Parte"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Excluir Peça"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Excluir esta peça não é reversível"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Pedido"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Pedir estoque"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Ações da Peça"
@@ -7968,35 +8090,46 @@ msgstr "Histórico de Vendas"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Valor mínimo"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Valor máximo"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Valor máximo"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Preço Total"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Componente"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Preço Mínimo"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Preço Máximo"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Preço Unitário"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Gráfico Pizza"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Grafico de Barras"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Preço de Compra"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Última Atualização"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Editar Pedido de Compra"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Adicionar Ordem de Compra"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Itens de Linha Concluídos"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Destino"
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Detalhes do pedido"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Itens de linha"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Itens de linha extra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Emitir Pedido de Compra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Cancelar Pedido de Compra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Reter pedido de compra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Concluir Pedido de Compra"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Ações de Pedido"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Referência do Cliente"
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Editar Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Adicionar Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Emitir Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Cancelar Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Adicionar Pedido de Devolução"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Completar Pedido de Devolução"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Envios Concluídos"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Editar Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Adicionar Pedido de Vendas"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Envios"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Emitir Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Cancelar Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Adicionar Pedido de Vendas"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Concluir Pedido de Venda"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Ordem de envio"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Referência de Remessa"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Data de envio"
@@ -8464,173 +8600,167 @@ msgstr "Data de envio"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Data de Entrega"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Editar Remessa"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Cancelar Envio"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Remessa Completa"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Pendentes"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Enviado"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Entregue"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Localização Pai"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Sub-locais"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Tipo de Localização"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Local de estoque de alto nível"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Detalhes da localização"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Peças Padrão"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Editar Local de Estoque"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Excluir Local de Estoque"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Ação do Item"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Ação de itens de estoque neste local de estoque"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Editar Local de Estoque"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Excluir Local de Estoque"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Ação do Item"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Ação de itens de estoque neste local de estoque"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Ação para localizações filhas deste local"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Ações de Localização"
@@ -8703,10 +8833,6 @@ msgstr "Último Balanço"
msgid "Stock Details"
msgstr "Detalhes do Estoque"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Rastreamento de Estoque"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Itens Instalados"
msgid "Child Items"
msgstr "Itens Filhos"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Editar Item do Estoque"
@@ -8738,15 +8864,15 @@ msgstr "Editar Item do Estoque"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Excluir Item de Estoque"
@@ -8758,7 +8884,7 @@ msgstr "Excluir Item de Estoque"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Operações de Estoque"
@@ -8791,12 +8916,12 @@ msgstr "Operações de Estoque"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Ações de Estoque"
@@ -8820,17 +8945,17 @@ msgstr "Ações de Estoque"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Este item de estoque está em produção"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Este item em estoque foi reservado para um pedido"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Este item em estoque foi reservado para um cliente"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Este item em estoque foi instalado em outro item de estoque"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Este item de estoque foi consumido por um pedido de produção"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Este item de estoque expirou"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Este item de estoque está velho"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Este item de estoque está totalmente alocado"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Este item de estoque está parcialmente alocado"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nenhum estoque disponível"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Este item de estoque foi esgotado"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Informação do Estoque"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Linhas Alocadas"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Selecionar Colunas"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Possuí Código de Lote"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Mostrar itens com um código de lote"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Mostrar itens que estão em estoque"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "É Serializado"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Mostrar itens com um número de série"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Possuí Código de Lote"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Mostrar itens com um código de lote"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr ""
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Mostrar itens que estão em estoque"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "É Serializado"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Mostrar itens com um número de série"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Atribuído a mim"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Mostrar pedidos atribuídos a mim"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Pendente"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr ""
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr ""
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr ""
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr ""
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Tem código do projeto"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Incluir Variantes"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtrar por estado do pedido"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtrar por código de projeto"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtrar pelo proprietário responsável"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtrar por usuário"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Remover filtro"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Selecionar valor do filtro"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Selecionar filtro"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filtro"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filtros da Tabela"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Adicionar Filtro"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Limpar Filtros"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nenhum registro encontrado"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "O servidor retornou um tipo de dado incorreto"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "O servidor retornou um tipo de dado incorreto"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "O servidor retornou um tipo de dado incorreto"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Apagar itens selecionados"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Você tem certeza que quer apagar os itens selecionados?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Remover registros selecionados"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Atualizar dados"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
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:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informação da Peça"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Estoque externo"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Incluir estoque de substitutos"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Incluir estoque de variantes"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Produzindo"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Produzindo"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Informação do Estoque"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Item Consumível"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Estoque não disponível"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Mostrar itens testáveis"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Mostrar itens rastreáveis"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Parte ativa"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Mostrar itens montados"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Mostrar itens com estoque disponível"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Mostrar itens no pedido"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validado"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Mostrar itens validados"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Herdado"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Mostrar itens herdados"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Mostrar itens que permitem a substituição de variantes"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opcional"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Mostrar itens opcionais"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Consumível"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Mostrar itens consumíveis"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Tem Preço"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Exibir itens com preço"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Importar Data BOM"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Adicionar Item BOM"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Item BOM criado"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Editar Item BOM"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Item BOM atualizado"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Deletar Item BOM"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Item BOM deletado"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Item da LDM validado"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Falha ao validar o item LDM"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Ver BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Validar Linha BOM"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Editar substitutos"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "A lista de materiais não pode ser editada, pois está bloqueada"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Montagem"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Mostrar montagens ativas"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreável"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Mostrar montagens rastreáveis"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Alocado para saída"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Mostrar itens alocados a uma saída da compilação"
@@ -9538,17 +9754,17 @@ msgstr "Mostrar itens alocados a uma saída da compilação"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Situação do pedido"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Mostrar linhas consumíveis"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Mostrar linhas opcionais"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testável"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Monitorado"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Mostrar itens monitorados"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "Em produção"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Estoque insuficiente"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Nenhum estoque disponível"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Obtém herdados"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Quantidade Unitária"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Criar Pedido de Produção"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Alocação automática em progresso"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Estoque alocado automaticamente"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Alocar automaticamente o estoque desta compilação conforme as opções selecionadas"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Desalocar estoque"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Desalocar todo estoque não rastreado para esta ordem de compilação"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Desalocar estoque do item de linha selecionado"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "O estoque foi distribuído"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Estoque de Produção"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Adicionar saída da compilação"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Adicionar saída da compilação"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtrar por estado do estoque"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Concluir as saídas selecionadas"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Sucatear saídas selecionadas"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Cancelar saídas selecionadas"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Alocar"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Desalocar estoque da saída de produção"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Sucatear saídas selecionadas"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Cancelar saídas selecionadas"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Alocar"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Desalocar estoque da saída de produção"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Desalocar"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Desalocar estoque da saída de produção"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Concluir saída de produção"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Sucata"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Sucatear saída de produção"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Cancelar Saídas de Produção"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Linhas Alocadas"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Testes Obrigatórios"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Excluir Endereço"
msgid "Are you sure you want to delete this address?"
msgstr "Tem a certeza de que quer apagar esta endereço?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Adicionar Empresa"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Adicionar Empresa"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Mostrar empresas ativas"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Mostrar empresas que são fornecedores"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Mostrar empresas que são fabricantes"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Mostrar empresas que são clientes"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Adicionar Item de Linha"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Editar Item de Linha"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Excluir Item de Linha"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Adicionar Parâmetro"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Editar Parâmetro"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Mostrar modelos com escolhas"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Possui unidades"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Notificação"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Mensagem"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Incluir Subcategorias"
@@ -10560,136 +10800,136 @@ msgstr "Mostrar pedidos pendentes"
msgid "Show received items"
msgstr "Mostrar itens recebidos"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Estoque mínimo"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrar por peça em estado ativo"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtrar por status de peça bloqueada"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrar por atributo de montagem"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Incluir peças em subcategorias"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrar por atributo do componente"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtrar por atributo testável"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrar por atributo rastreável"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtrar por peças que têm unidades"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Tem IPN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
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:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Tem estoque"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtrar por peças que têm estoque"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrar por peças que tenham estoque baixo"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Comprável"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtrar por peças que são compráveis"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Vendível"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrar por peças que são vendíveis"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrar por peças que são virtuais"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Não é Virtual"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "É um modelo"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtrar por partes que são modelos"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "É Revisão"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtrar por partes que estão revisões"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Possui revisão"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtrar por partes que tenham revisões"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtrar por peças que tenham informações de preços"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtrar por peças que tenham estoque disponível"
@@ -10701,58 +10941,58 @@ msgstr "Filtrar por peças que tenham estoque disponível"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtrar por partes em que o usuário está inscrito"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Selecionar Categoria"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Adicionar Resultado de Teste"
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr "Nenhum resultado"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Mostrar saídas de compilação atualmente em produção"
@@ -10859,7 +11099,15 @@ msgstr "Visualizar parte pai"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Modelos de peça não podem ser editados, pois, a peça está bloqueada"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Selecionar"
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Fase"
@@ -10943,7 +11191,7 @@ msgstr "Plugin"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Obrigatório"
@@ -10973,68 +11221,68 @@ msgstr "Descrição não disponível"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Confirmar ativação do plugin"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Confirmar desativação do plugin"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "A seguinte extensão está desativada"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "A seguinte extensão será desativada"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "A seguinte extensão está desativada"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "A seguinte extensão será desativada"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Desativar"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Ativar"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Ativar"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Desinstalar"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Ativar Plugin"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Instalar Plugin"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Instalar"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Plugin instalado com sucesso"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Desinstalar extensões"
@@ -11063,23 +11311,23 @@ msgstr "Desinstalar extensões"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Confirmar desinstalação de extensão"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "A extensão selecionada será desinstalada."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Extensão desinstalada com sucesso"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Deletar extensão"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Excluindo esta configuração de extensão irá remover todas as configurações e dados associados. Tem certeza de que deseja excluir esta extensão?"
@@ -11087,11 +11335,11 @@ msgstr "Excluindo esta configuração de extensão irá remover todas as configu
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Plugins recarregados"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Plugins foram recarregados com sucesso"
@@ -11103,7 +11351,7 @@ msgstr "Plugins foram recarregados com sucesso"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Recarregar plugins"
@@ -11115,7 +11363,7 @@ msgstr "Recarregar plugins"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Detalhes da extensão"
@@ -11127,12 +11375,12 @@ msgstr "Detalhes da extensão"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Amostra"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Instalado"
@@ -11152,30 +11400,24 @@ msgstr "Instalado"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Parte ativa"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Importar Itens da Linha"
@@ -11204,15 +11446,15 @@ msgstr "Importar Itens da Linha"
msgid "Supplier Code"
msgstr "Código do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Link do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Código do Fabricante"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Receber item de linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Receber itens"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Unidade base"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Adicionar peça do fornecedor"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Adicionar peça do fornecedor"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Mostrar peças do fornecedor ativo"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Mostrar partes internas ativas"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Fornecedor Ativo"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Mostrar fornecedores ativos"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Dados Recebidos"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Mostrar itens que foram recebidos"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtrar por status do item de linha"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Receber Item"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Quantidade Disponível"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Quantidade Alocada"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Alocar números de série"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Alocar números de série"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Construir estoque"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Encomendar estoque"
@@ -11386,78 +11636,82 @@ msgstr "Encomendar estoque"
msgid "Create Shipment"
msgstr "Criar Remessa"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Itens"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Cancelar envio"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Adicionar Remessa"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Token"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "Em Uso"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Revogar"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr "Usuário atualizado com sucesso"
msgid "Error updating user"
msgstr "Erro ao atualizar o usuário."
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr "Ícone"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Este item de estoque está em produção"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Data do inventário"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Este item em estoque foi reservado para um pedido"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Mostrar estoque de peças ativas"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Este item em estoque foi reservado para um cliente"
-
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Este item em estoque foi instalado em outro item de estoque"
-
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Este item de estoque foi consumido por um pedido de produção"
-
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Este item de estoque expirou"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Mostrar itens que foram alocados"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Este item de estoque está velho"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Mostrar itens que estão disponíveis"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Este item de estoque está totalmente alocado"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Incluir Sublocais"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Este item de estoque está parcialmente alocado"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Incluir estoque em sublocais"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Este item de estoque foi esgotado"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Esgotado"
+
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Mostrar itens de estoque esgotados"
+
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Mostrar itens que estão em produção"
+
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Mostrar itens de estoque que estão instalados em outros itens"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Enviar para Cliente"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Mostrar itens enviados para um cliente"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Mostrar itens monitorados"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Tem Preço de Compra"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Mostrar itens com preço de compra"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Data do inventário"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Localização Externa"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Mostrar estoque de peças ativas"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Mostrar itens que foram alocados"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Mostrar itens que estão disponíveis"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Incluir Sublocais"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Incluir estoque em sublocais"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Esgotado"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Mostrar itens de estoque esgotados"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Mostrar itens que estão em produção"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Mostrar itens com localização externa"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Mostrar itens de estoque que estão instalados em outros itens"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Enviar para Cliente"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Mostrar itens enviados para um cliente"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Mostrar itens monitorados"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Tem Preço de Compra"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Mostrar itens com preço de compra"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Localização Externa"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Mostrar itens com localização externa"
-
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Concluído"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Editar Resultado do Teste"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Resultado do teste atualizado"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Deletar Resultado do Teste"
@@ -12327,27 +12533,27 @@ msgstr "Falha ao registrar o resultado do teste"
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Aprovado"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Adicionado"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Removido"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Nenhuma informação do usuário"
diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po
index a121585bb0..dd068cc11d 100644
--- a/src/frontend/src/locales/ro/messages.po
+++ b/src/frontend/src/locales/ro/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ro\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
@@ -22,12 +22,12 @@ msgstr ""
#: src/components/items/ActionDropdown.tsx:289
#: src/pages/Index/Scan.tsx:64
msgid "Duplicate"
-msgstr ""
+msgstr "Duplicare"
#: lib/components/RowActions.tsx:46
#: src/components/items/ActionDropdown.tsx:245
msgid "Edit"
-msgstr ""
+msgstr "Editare"
#: lib/components/RowActions.tsx:56
#: src/components/forms/ApiForm.tsx:754
@@ -35,95 +35,99 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
-msgstr ""
+msgstr "Șterge"
#: lib/components/RowActions.tsx:66
#: src/components/details/DetailsImage.tsx:83
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
-msgstr ""
+msgstr "Anulează"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
-msgstr ""
+msgstr "Acțiuni"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
-msgstr ""
+msgstr "Caută"
#: lib/components/YesNoButton.tsx:20
msgid "Pass"
-msgstr ""
+msgstr "Treceți"
#: lib/components/YesNoButton.tsx:21
msgid "Fail"
-msgstr ""
+msgstr "Eșec"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
-msgstr ""
+msgstr "Da"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
-msgstr ""
+msgstr "Nu"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
-msgstr ""
+msgstr "Piesă"
#: lib/enums/ModelInformation.tsx:30
#: lib/enums/Roles.tsx:35
@@ -134,9 +138,9 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
-msgstr ""
+msgstr "Piese"
#: lib/enums/ModelInformation.tsx:37
#: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:13
@@ -149,280 +153,283 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parametru"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
-msgstr ""
+msgstr "Parametri"
#: lib/enums/ModelInformation.tsx:45
#: src/tables/part/PartCategoryTemplateTable.tsx:87
msgid "Parameter Template"
-msgstr ""
+msgstr "Șablon de Parametru"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Șabloane de Parametru"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
-msgstr ""
+msgstr "Șablon de Testare Parte"
#: lib/enums/ModelInformation.tsx:53
msgid "Part Test Templates"
-msgstr ""
+msgstr "Șabloane de Testare Parte"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
-msgstr ""
+msgstr "Piesă Furnizor"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
-msgstr ""
+msgstr "Piese Furnizor"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
-msgstr ""
+msgstr "Piesa Producătorului"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
-msgstr ""
+msgstr "Piesele Producătorului"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
-msgstr ""
+msgstr "Categorie Piesă"
#: lib/enums/ModelInformation.tsx:80
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
-msgstr ""
+msgstr "Categorii Piese"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
-msgstr ""
+msgstr "Stochează Articol"
#: lib/enums/ModelInformation.tsx:89
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
-msgstr ""
+msgstr "Stochează Articole"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
-msgstr ""
+msgstr "Locația Stocului"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
-msgstr ""
+msgstr "Locațiile Stocului"
#: lib/enums/ModelInformation.tsx:108
msgid "Stock Location Type"
-msgstr ""
+msgstr "Tipul Locației Stocului"
#: lib/enums/ModelInformation.tsx:109
msgid "Stock Location Types"
-msgstr ""
+msgstr "Tipurile Locației Stocului"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
-msgstr ""
+msgstr "Istoric Stoc"
#: lib/enums/ModelInformation.tsx:115
msgid "Stock Histories"
-msgstr ""
+msgstr "Istoricele Stocului"
#: lib/enums/ModelInformation.tsx:120
msgid "Build"
-msgstr ""
+msgstr "Asamblează"
#: lib/enums/ModelInformation.tsx:121
msgid "Builds"
-msgstr ""
+msgstr "Asamblări"
#: lib/enums/ModelInformation.tsx:130
msgid "Build Line"
-msgstr ""
+msgstr "Linie de Asamblare"
#: lib/enums/ModelInformation.tsx:131
msgid "Build Lines"
-msgstr ""
+msgstr "Linii de Asamblare"
#: lib/enums/ModelInformation.tsx:138
msgid "Build Item"
-msgstr ""
+msgstr "Construiește Obiect"
#: lib/enums/ModelInformation.tsx:139
msgid "Build Items"
-msgstr ""
+msgstr "Construiește Obiecte"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
-msgstr ""
+msgstr "Companie"
#: lib/enums/ModelInformation.tsx:145
msgid "Companies"
-msgstr ""
+msgstr "Companii"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
-msgstr ""
+msgstr "Cod Proiect"
#: lib/enums/ModelInformation.tsx:153
#: src/pages/Index/Settings/AdminCenter/Index.tsx:172
msgid "Project Codes"
-msgstr ""
+msgstr "Coduri Proiecte"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
-msgstr ""
+msgstr "Comandă de achiziție"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
-msgstr ""
+msgstr "Comandă de achiziție"
#: lib/enums/ModelInformation.tsx:169
msgid "Purchase Order Line"
-msgstr ""
+msgstr "Linii Comandă de Cumpărare"
#: lib/enums/ModelInformation.tsx:170
msgid "Purchase Order Lines"
-msgstr ""
+msgstr "Linii Comenzi de Cumpărare"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
-msgstr ""
+msgstr "Comandă de Vânzare"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
-msgstr ""
+msgstr "Comenzi de Vânzare"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
-msgstr ""
+msgstr "Livrare Comandă de Vânzare"
#: lib/enums/ModelInformation.tsx:186
msgid "Sales Order Shipments"
-msgstr ""
+msgstr "Linie Comandă de Vânzare"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
-msgstr ""
+msgstr "Returnează Comanda"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
-msgstr ""
+msgstr "Returnează Comenzile"
#: lib/enums/ModelInformation.tsx:204
msgid "Return Order Line Item"
-msgstr ""
+msgstr "Element linie comandă de returnare"
#: lib/enums/ModelInformation.tsx:205
msgid "Return Order Line Items"
-msgstr ""
+msgstr "Element linie comandă de returnare"
#: lib/enums/ModelInformation.tsx:210
#: src/tables/company/AddressTable.tsx:52
msgid "Address"
-msgstr ""
+msgstr "Adresă"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
-msgstr ""
+msgstr "Adrese"
#: lib/enums/ModelInformation.tsx:217
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:89
@@ -431,37 +438,37 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:208
#: src/pages/sales/SalesOrderDetail.tsx:201
msgid "Contact"
-msgstr ""
+msgstr "Contact"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
-msgstr ""
+msgstr "Contacte"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
-msgstr ""
+msgstr "Proprietar"
#: lib/enums/ModelInformation.tsx:225
msgid "Owners"
-msgstr ""
+msgstr "Proprietari"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
-msgstr ""
+msgstr "Utilizator"
#: lib/enums/ModelInformation.tsx:232
#: src/components/nav/NavigationDrawer.tsx:105
@@ -469,12 +476,12 @@ msgstr ""
#: src/pages/core/CoreIndex.tsx:21
#: src/pages/core/UserDetail.tsx:226
msgid "Users"
-msgstr ""
+msgstr "Utilizatori"
#: lib/enums/ModelInformation.tsx:238
#: src/pages/core/GroupDetail.tsx:78
msgid "Group"
-msgstr ""
+msgstr "Grup"
#: lib/enums/ModelInformation.tsx:239
#: src/components/nav/NavigationDrawer.tsx:111
@@ -484,126 +491,130 @@ msgstr ""
#: src/pages/core/UserDetail.tsx:99
#: src/tables/settings/UserTable.tsx:276
msgid "Groups"
-msgstr ""
+msgstr "Grupuri"
#: lib/enums/ModelInformation.tsx:246
msgid "Import Session"
-msgstr ""
+msgstr "Import sesiune"
#: lib/enums/ModelInformation.tsx:247
msgid "Import Sessions"
-msgstr ""
+msgstr "Importă sesiuni"
#: lib/enums/ModelInformation.tsx:254
msgid "Label Template"
-msgstr ""
+msgstr "Sablon eticheta"
#: lib/enums/ModelInformation.tsx:255
#: src/pages/Index/Settings/AdminCenter/Index.tsx:209
msgid "Label Templates"
-msgstr ""
+msgstr "Șabloane de etichetare"
#: lib/enums/ModelInformation.tsx:262
msgid "Report Template"
-msgstr ""
+msgstr "Şablon de raport"
#: lib/enums/ModelInformation.tsx:263
#: src/pages/Index/Settings/AdminCenter/Index.tsx:215
msgid "Report Templates"
-msgstr ""
+msgstr "Şablon de raport"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
-msgstr ""
+msgstr "Configurarea extensiei"
#: lib/enums/ModelInformation.tsx:271
msgid "Plugin Configurations"
-msgstr ""
+msgstr "Configurarea extensiei"
#: lib/enums/ModelInformation.tsx:278
msgid "Content Type"
-msgstr ""
+msgstr "Tipul conținutului"
#: lib/enums/ModelInformation.tsx:279
msgid "Content Types"
-msgstr ""
+msgstr "Tipuri de conținut"
#: lib/enums/ModelInformation.tsx:284
msgid "Selection List"
-msgstr ""
+msgstr "Listă de selecție"
#: lib/enums/ModelInformation.tsx:285
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:21
msgid "Selection Lists"
-msgstr ""
+msgstr "Listă de selecție"
#: lib/enums/ModelInformation.tsx:291
#: src/components/barcodes/BarcodeInput.tsx:114
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
-msgstr ""
+msgstr "Erroare"
#: lib/enums/ModelInformation.tsx:292
#: src/tables/machine/MachineListTable.tsx:402
#: src/tables/machine/MachineTypeTable.tsx:297
msgid "Errors"
-msgstr ""
+msgstr "Erroare"
#: lib/enums/Roles.tsx:31
msgid "Admin"
-msgstr ""
+msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
+msgstr "Comenzi de Producție"
+
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
-
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr "Eroare la redarea componentei"
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
-msgstr ""
+msgstr "A apărut o eroare în timpul redării acestei componente. Consultați consola pentru mai multe informații."
#: src/components/DashboardItemProxy.tsx:34
#~ msgid "Title"
@@ -611,75 +622,75 @@ msgstr ""
#: src/components/barcodes/BarcodeCameraInput.tsx:103
msgid "Error while scanning"
-msgstr ""
+msgstr "Eroare la scanare"
#: src/components/barcodes/BarcodeCameraInput.tsx:117
msgid "Error while stopping"
-msgstr ""
+msgstr "Eroare la oprirea"
#: src/components/barcodes/BarcodeCameraInput.tsx:159
msgid "Start scanning by selecting a camera and pressing the play button."
-msgstr ""
+msgstr "Pornește scanarea selectând o cameră foto și apăsând butonul de redare."
#: src/components/barcodes/BarcodeCameraInput.tsx:180
msgid "Stop scanning"
-msgstr ""
+msgstr "Oprește scanarea"
#: src/components/barcodes/BarcodeCameraInput.tsx:190
msgid "Start scanning"
-msgstr ""
+msgstr "Pornește scanarea"
#: src/components/barcodes/BarcodeInput.tsx:34
#: src/tables/general/BarcodeScanTable.tsx:55
#: src/tables/settings/BarcodeScanHistoryTable.tsx:64
msgid "Barcode"
-msgstr ""
+msgstr "Cod de bare"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
-msgstr ""
+msgstr "Scanează"
#: src/components/barcodes/BarcodeInput.tsx:53
msgid "Camera Input"
-msgstr ""
+msgstr "Intrare aparat foto"
#: src/components/barcodes/BarcodeInput.tsx:63
msgid "Scanner Input"
-msgstr ""
+msgstr "Input Scanner"
#: src/components/barcodes/BarcodeInput.tsx:105
msgid "Barcode Data"
-msgstr ""
+msgstr "Date Cod de Bare"
#: src/components/barcodes/BarcodeInput.tsx:109
msgid "No barcode data"
-msgstr ""
+msgstr "Fără date de cod de bare"
#: src/components/barcodes/BarcodeInput.tsx:110
msgid "Scan or enter barcode data"
-msgstr ""
+msgstr "Scanează sau introduce datele codului de bare"
#: src/components/barcodes/BarcodeKeyboardInput.tsx:64
msgid "Enter barcode data"
-msgstr ""
+msgstr "Introduceți datele codului de bare"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
-msgstr ""
+msgstr "Scanați codul de bare"
#: src/components/barcodes/BarcodeScanDialog.tsx:121
msgid "No matching item found"
-msgstr ""
+msgstr "Niciun element găsit"
#: src/components/barcodes/BarcodeScanDialog.tsx:150
msgid "Barcode does not match the expected model type"
-msgstr ""
+msgstr "Codul de bare nu se potrivește cu tipul de model așteptat"
#: src/components/barcodes/BarcodeScanDialog.tsx:161
#: src/components/editors/NotesEditor.tsx:84
@@ -688,99 +699,99 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
-msgstr ""
+msgstr "Succes"
#: src/components/barcodes/BarcodeScanDialog.tsx:167
msgid "Failed to handle barcode"
-msgstr ""
+msgstr "Nu s-a reușit asocierea codului de bare"
#: src/components/barcodes/BarcodeScanDialog.tsx:183
#: src/pages/Index/Scan.tsx:129
msgid "Failed to scan barcode"
-msgstr ""
+msgstr "Scanarea codului de bare a eșuat"
#: src/components/barcodes/QRCode.tsx:94
msgid "Low (7%)"
-msgstr ""
+msgstr "Scăzută (7%)"
#: src/components/barcodes/QRCode.tsx:95
msgid "Medium (15%)"
-msgstr ""
+msgstr "Medie (15%)"
#: src/components/barcodes/QRCode.tsx:96
msgid "Quartile (25%)"
-msgstr ""
+msgstr "Cvartilă (25%)"
#: src/components/barcodes/QRCode.tsx:97
msgid "High (30%)"
-msgstr ""
+msgstr "Mare (30%)"
#: src/components/barcodes/QRCode.tsx:107
msgid "Custom barcode"
-msgstr ""
+msgstr "Cod de bare personalizat"
#: src/components/barcodes/QRCode.tsx:108
msgid "A custom barcode is registered for this item. The shown code is not that custom barcode."
-msgstr ""
+msgstr "Un cod de bare personalizat este înregistrat pentru acest element. Codul afișat nu este acel cod de bare personalizat."
#: src/components/barcodes/QRCode.tsx:127
msgid "Barcode Data:"
-msgstr ""
+msgstr "Date Cod de Bare:"
#: src/components/barcodes/QRCode.tsx:138
msgid "Select Error Correction Level"
-msgstr ""
+msgstr "Selectați Nivelul de Corecție a Erorilor"
#: src/components/barcodes/QRCode.tsx:170
msgid "Failed to link barcode"
-msgstr ""
+msgstr "Nu s-a reușit asocierea codului de bare"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
-msgstr ""
+msgstr "Asociază"
#: src/components/barcodes/QRCode.tsx:200
msgid "This will remove the link to the associated barcode"
-msgstr ""
+msgstr "Acest lucru va elimina asocierea către codul de bare asociat"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
-msgstr ""
+msgstr "Dezasociază Codul de Bare"
#: src/components/buttons/AdminButton.tsx:86
msgid "Open in admin interface"
-msgstr ""
+msgstr "Deschide în Interfața Administrativă"
#: src/components/buttons/CopyButton.tsx:18
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
-msgstr ""
+msgstr "Copiat"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
-msgstr ""
+msgstr "Copiază"
#: src/components/buttons/PrintingActions.tsx:56
msgid "Printing Labels"
-msgstr ""
+msgstr "Tipărire Etichete"
#: src/components/buttons/PrintingActions.tsx:61
msgid "Printing Reports"
-msgstr ""
+msgstr "Tipărire Rapoarte"
#: src/components/buttons/PrintingActions.tsx:77
#~ msgid "Printing"
@@ -798,18 +809,14 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
-msgstr ""
+msgstr "Tipărire Eticheta"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
-msgstr ""
-
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
+msgstr "Tipărire"
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
@@ -819,29 +826,29 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
-msgstr ""
+msgstr "Tipărire Raport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
-msgstr ""
+msgstr "Acțiuni de Tipărire"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
-msgstr ""
+msgstr "Tipărire Etichete"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
-msgstr ""
+msgstr "Tipărire Rapoarte"
#: src/components/buttons/RemoveRowButton.tsx:9
msgid "Remove this row"
-msgstr ""
+msgstr "Elimină acest rând"
#: src/components/buttons/SSOButton.tsx:40
msgid "You will be redirected to the provider for further actions."
-msgstr ""
+msgstr "Veți fi redirecționat către furnizor pentru acțiuni suplimentare."
#: src/components/buttons/SSOButton.tsx:44
#~ msgid "This provider is not full set up."
@@ -860,16 +867,16 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
-msgstr ""
+msgstr "Deschideți lumina"
#: src/components/buttons/StarredToggleButton.tsx:36
msgid "Subscription Updated"
-msgstr ""
+msgstr "Abonament actualizat"
#: src/components/buttons/StarredToggleButton.tsx:57
#~ msgid "Unsubscribe from part"
@@ -877,294 +884,299 @@ msgstr ""
#: src/components/buttons/StarredToggleButton.tsx:66
msgid "Unsubscribe from notifications"
-msgstr ""
+msgstr "Dezabonați-vă de la notificări"
#: src/components/buttons/StarredToggleButton.tsx:67
msgid "Subscribe to notifications"
-msgstr ""
+msgstr "Abonați-vă la notificări"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
-msgstr ""
+msgstr "Filtre Calendar"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
-msgstr ""
+msgstr "Luna trecută"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
-msgstr ""
+msgstr "Alege luna"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
-msgstr ""
+msgstr "Luna viitoare"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr ""
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Exportare date"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
-msgstr ""
+msgstr "Comandă actualizată"
#: src/components/calendar/OrderCalendar.tsx:142
msgid "Error updating order"
-msgstr ""
+msgstr "Eroare la actualizarea comenzii"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
-msgstr ""
+msgstr "Restant"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr ""
+msgstr "Eroare la încărcarea widget-urilor din panoul de bord."
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
-msgstr ""
+msgstr "Nici un Widget selectat"
#: src/components/dashboard/DashboardLayout.tsx:296
msgid "Use the menu to add widgets to the dashboard"
-msgstr ""
+msgstr "Utilizați meniul pentru a adăuga widget-uri la panoul de bord"
#: src/components/dashboard/DashboardMenu.tsx:62
#: src/components/dashboard/DashboardMenu.tsx:138
msgid "Accept Layout"
-msgstr ""
+msgstr "Acceptați Aspectul"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
-msgstr ""
+msgstr "Panou de bord"
#: src/components/dashboard/DashboardMenu.tsx:102
msgid "Edit Layout"
-msgstr ""
+msgstr "Editați Aspectul"
#: src/components/dashboard/DashboardMenu.tsx:111
msgid "Add Widget"
-msgstr ""
+msgstr "Adaugă Widget"
#: src/components/dashboard/DashboardMenu.tsx:120
msgid "Remove Widgets"
-msgstr ""
+msgstr "Șterge widget-uri"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr ""
+msgstr "Șterge toate Widget-urile"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
-msgstr ""
+msgstr "Elimină acest widget din panoul de bord"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:77
msgid "Filter dashboard widgets"
-msgstr ""
+msgstr "Filtrează widget-urile panoului de bord"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:98
msgid "Add this widget to the dashboard"
-msgstr ""
+msgstr "Adaugă acest widget în panoul de bord"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:123
msgid "No Widgets Available"
-msgstr ""
+msgstr "Nici un widget disponibil"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:124
msgid "There are no more widgets available for the dashboard"
-msgstr ""
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
-msgid "Subscribed Parts"
-msgstr ""
+msgstr "Nu mai există widget-uri disponibile pentru tabloul de bord"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
-msgid "Show the number of parts which you have subscribed to"
-msgstr ""
+msgid "Subscribed Parts"
+msgstr "Piese abonate"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
-msgid "Subscribed Categories"
-msgstr ""
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
+msgid "Show the number of parts which you have subscribed to"
+msgstr "Arată numărul de articole la care v-ați abonat"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
-msgid "Show the number of part categories which you have subscribed to"
-msgstr ""
+msgid "Subscribed Categories"
+msgstr "Categorii abonate"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
-msgid "Invalid BOMs"
-msgstr ""
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
+msgid "Show the number of part categories which you have subscribed to"
+msgstr "Arată numărul de articole la care v-ați abonat"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+msgid "Invalid BOMs"
+msgstr "BOM-uri invalide"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
-msgstr ""
+msgstr "Ansambluri care necesită validarea Bom-ului"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
-msgstr ""
+msgstr "Stoc scăzut"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr ""
+msgstr "Arată numărul de piese care sunt scăzute pe stoc"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
-msgstr ""
+msgstr "Necesar pentru Comenzi de productie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
-msgstr ""
+msgstr "Arată capitolele necesare pentru comenzile active de productie"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
-msgstr ""
+msgstr "Articole expirate în stoc"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
-msgstr ""
+msgstr "Arată numărul de articole din stoc care au expirat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
-msgstr ""
+msgstr "Articole din stoc învechite"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
-msgstr ""
+msgstr "Arată numărul de articole din stoc care sunt vechi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
-msgstr ""
+msgstr "Comenzi de producrie active"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
-msgstr ""
+msgstr "Comenzi de producție atribuite"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
-msgstr ""
+msgstr "Arată numărul comenzilor de producție care vă sunt atribuite"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:18
#: src/components/nav/MainMenu.tsx:93
msgid "Change Color Mode"
-msgstr ""
+msgstr "Schimbă modul de culoare"
#: src/components/dashboard/widgets/ColorToggleWidget.tsx:23
msgid "Change the color mode of the user interface"
@@ -1182,7 +1194,7 @@ msgstr ""
#: src/components/nav/NotificationDrawer.tsx:94
#: src/pages/Notifications.tsx:53
msgid "Mark as read"
-msgstr ""
+msgstr "Marchează ca Citit"
#: src/components/dashboard/widgets/NewsWidget.tsx:115
msgid "Requires Superuser"
@@ -1190,132 +1202,163 @@ msgstr ""
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr ""
+msgstr "Acest widget necesită permisiuni superutilizator"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
-msgstr ""
+msgstr "Nicio știre"
#: src/components/dashboard/widgets/NewsWidget.tsx:134
msgid "There are no unread news items"
+msgstr "Nu există știri necitite"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
msgstr ""
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
#: src/tables/settings/UserTable.tsx:410
msgid "Superuser"
-msgstr ""
+msgstr "Superutilizator"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
-msgstr ""
+msgstr "Personal"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
-msgstr ""
+msgstr "E-mail: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
-msgstr ""
+msgstr "Nici un nume definit"
#: src/components/details/DetailsImage.tsx:77
msgid "Remove Image"
-msgstr ""
+msgstr "Eliminați imagini"
#: src/components/details/DetailsImage.tsx:80
msgid "Remove the associated image from this item?"
-msgstr ""
+msgstr "Eliminați imaginea asociată de la acest articol?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
+msgstr "Șterge"
+
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
-msgstr ""
+msgstr "Trage și plasează pentru încărcare"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
-msgstr ""
+msgstr "Faceți clic pentru a selecta fișierul(ele)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
-msgstr ""
+msgstr "Imagine încărcată"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr ""
+msgstr "Imaginea a fost încărcată cu succes"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
-msgstr ""
-
-#: src/components/details/DetailsImage.tsx:250
-#: src/components/forms/fields/AutoFillRightSection.tsx:34
-msgid "Clear"
-msgstr ""
+msgstr "Eroare la Incarcare"
#: src/components/details/DetailsImage.tsx:256
+#: src/components/forms/fields/AutoFillRightSection.tsx:34
+msgid "Clear"
+msgstr "Sterge"
+
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
-msgstr ""
+msgstr "Aplică"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
-msgstr ""
+msgstr "Selectați din imaginile existente"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
-msgstr ""
+msgstr "Selectati Imaginea"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
-msgstr ""
+msgstr "Descarcă imaginea de la distanță"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
-msgstr ""
+msgstr "Încarcă imagine nouă"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
-msgstr ""
+msgstr "Încărcare imagine"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
-msgstr ""
+msgstr "Șterge imagine"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
-msgstr ""
+msgstr "Descarcă imagine"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr ""
+msgstr "Imagine descărcată cu succes"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1347,23 +1390,23 @@ msgstr ""
#: src/components/editors/NotesEditor.tsx:75
msgid "Image upload failed"
-msgstr ""
+msgstr "Încărcarea imaginii a eșuat"
#: src/components/editors/NotesEditor.tsx:85
msgid "Image uploaded successfully"
-msgstr ""
+msgstr "Imaginea a fost încărcată cu succes"
#: src/components/editors/NotesEditor.tsx:119
msgid "Notes saved successfully"
-msgstr ""
+msgstr "Note salvate cu succes"
#: src/components/editors/NotesEditor.tsx:130
msgid "Failed to save notes"
-msgstr ""
+msgstr "Salvarea notei a eșuat"
#: src/components/editors/NotesEditor.tsx:133
msgid "Error Saving Notes"
-msgstr ""
+msgstr "Eroare la salvarea notelor"
#: src/components/editors/NotesEditor.tsx:151
#~ msgid "Disable Editing"
@@ -1371,15 +1414,15 @@ msgstr ""
#: src/components/editors/NotesEditor.tsx:153
msgid "Save Notes"
-msgstr ""
+msgstr "Salvează note"
#: src/components/editors/NotesEditor.tsx:172
msgid "Close Editor"
-msgstr ""
+msgstr "Închide Editorul"
#: src/components/editors/NotesEditor.tsx:179
msgid "Enable Editing"
-msgstr ""
+msgstr "Activează editarea"
#: src/components/editors/NotesEditor.tsx:198
#~ msgid "Preview Notes"
@@ -1391,7 +1434,7 @@ msgstr ""
#: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9
msgid "Code"
-msgstr ""
+msgstr "Cod"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44
#~ msgid "Failed to parse error response from server."
@@ -1399,23 +1442,23 @@ msgstr ""
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr ""
+msgstr "Eroare la redarea previzualizării"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
-msgstr ""
+msgstr "Previzualizare indisponibilă, apăsați \"Reîncărcare previzualizare\"."
#: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9
msgid "PDF Preview"
-msgstr ""
+msgstr "Previzualizare PDF"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:110
msgid "Error loading template"
-msgstr ""
+msgstr "Eroare la încărcarea șablonului"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:122
msgid "Error saving template"
-msgstr ""
+msgstr "Eroare la salvarea șablonului"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151
#~ msgid "Save & Reload preview?"
@@ -1423,36 +1466,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "Could not load the template from the server."
-msgstr ""
+msgstr "Nu s-a putut încărca șablonul de la server."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:176
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:319
msgid "Save & Reload Preview"
-msgstr ""
+msgstr "Salvați și reîncărcați previzualizarea"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:181
msgid "Are you sure you want to Save & Reload the preview?"
-msgstr ""
+msgstr "Sunteţi sigur că doriţi să salvaţi şi să reîncărcaţi previzualizarea?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:183
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?"
-msgstr ""
+msgstr "Pentru a reda previzualizarea, șablonul curent trebuie să fie înlocuit pe server cu modificările dvs., care pot strica eticheta dacă este în uz activ. Vrei să continui?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:187
msgid "Save & Reload"
-msgstr ""
+msgstr "Salvați și reîncărcați"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:219
msgid "Preview updated"
-msgstr ""
+msgstr "Actualizare de previzualizare"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:220
msgid "The preview has been updated successfully."
-msgstr ""
+msgstr "Previzualizarea a fost actualizată cu succes."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:236
msgid "An unknown error occurred while rendering the preview."
-msgstr ""
+msgstr "O eroare necunoscută a apărut în timpul redării previzualizării."
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263
#~ msgid "Save & Reload preview"
@@ -1460,15 +1503,15 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:311
msgid "Reload preview"
-msgstr ""
+msgstr "Reîncărcare previzualizare"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:312
msgid "Use the currently stored template from the server"
-msgstr ""
+msgstr "Utilizați șablonul stocat în prezent de pe server"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:320
msgid "Save the current template and reload the preview"
-msgstr ""
+msgstr "Salvați șablonul curent și reîncărcați previzualizarea"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322
#~ msgid "to preview"
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,18 +1671,18 @@ msgstr "Introdu numele de utilizator"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
-msgstr ""
+msgstr "Parolă"
#: src/components/forms/AuthenticationForm.tsx:145
#: src/components/forms/AuthenticationForm.tsx:313
msgid "Your password"
-msgstr ""
+msgstr "Parola dvs"
#: src/components/forms/AuthenticationForm.tsx:164
msgid "Reset password"
-msgstr ""
+msgstr "Resetează parola"
#: src/components/forms/AuthenticationForm.tsx:173
#: src/components/forms/AuthenticationForm.tsx:303
@@ -1672,7 +1715,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:239
msgid "Passwords do not match"
-msgstr ""
+msgstr "Parolele nu se potrivesc"
#: src/components/forms/AuthenticationForm.tsx:256
msgid "Registration successful"
@@ -1696,14 +1739,14 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:318
msgid "Password repeat"
-msgstr ""
+msgstr "Repetă parola"
#: src/components/forms/AuthenticationForm.tsx:320
msgid "Repeat password"
-msgstr ""
+msgstr "Repetă parola"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1768,12 +1815,12 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:58
msgid "Select Server"
-msgstr ""
+msgstr "Selectați Server"
#: src/components/forms/InstanceOptions.tsx:68
#: src/components/forms/InstanceOptions.tsx:92
msgid "Edit host options"
-msgstr ""
+msgstr "Editează opțiunile host"
#: src/components/forms/InstanceOptions.tsx:71
#~ msgid "Edit possible host options"
@@ -1781,7 +1828,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:76
msgid "Save host selection"
-msgstr ""
+msgstr "Salvează selecția host"
#: src/components/forms/InstanceOptions.tsx:98
#~ msgid "Version: {0}"
@@ -1802,26 +1849,27 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:118
#: src/pages/Index/Settings/SystemSettings.tsx:46
msgid "Server"
-msgstr ""
+msgstr "Server"
#: src/components/forms/InstanceOptions.tsx:130
#: src/components/plugins/PluginDrawer.tsx:88
#: src/tables/plugin/PluginListTable.tsx:127
msgid "Version"
-msgstr ""
+msgstr "Verisune"
#: src/components/forms/InstanceOptions.tsx:136
#: src/components/modals/AboutInvenTreeModal.tsx:124
#: src/components/modals/ServerInfoModal.tsx:34
msgid "API Version"
-msgstr ""
+msgstr "Versiune API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
-msgstr ""
+msgstr "Plugin-uri"
#: src/components/forms/InstanceOptions.tsx:143
#: src/tables/general/ParameterTemplateTable.tsx:153
@@ -1829,50 +1877,50 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
-msgstr ""
+msgstr "Activat"
#: src/components/forms/InstanceOptions.tsx:143
msgid "Disabled"
-msgstr ""
+msgstr "Dezactivat"
#: src/components/forms/InstanceOptions.tsx:149
msgid "Worker"
-msgstr ""
+msgstr "Worker"
#: src/components/forms/InstanceOptions.tsx:150
#: src/tables/settings/FailedTasksTable.tsx:48
msgid "Stopped"
-msgstr ""
+msgstr "Oprit"
#: src/components/forms/InstanceOptions.tsx:150
msgid "Running"
-msgstr ""
+msgstr "Rulează"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
-msgstr ""
+msgstr "Selectați fișierul de încărcat"
#: src/components/forms/fields/AutoFillRightSection.tsx:47
msgid "Accept suggested value"
-msgstr ""
+msgstr "Acceptați valoarea sugerată"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
-msgstr ""
+msgstr "Selectaţi data"
#: src/components/forms/fields/IconField.tsx:83
msgid "No icon selected"
-msgstr ""
+msgstr "Nicio pictogramă selectată"
#: src/components/forms/fields/IconField.tsx:161
msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
-msgstr ""
+msgstr "Descrierea câmpului"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,16 +2309,16 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
-msgstr ""
+msgstr "Disponibil"
#: src/components/items/TransferList.tsx:162
msgid "Selected"
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2355,7 +2409,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:219
msgid "Update Available"
-msgstr ""
+msgstr "Actualizare disponibilă"
#: src/components/modals/LicenseModal.tsx:41
msgid "No license text available"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,43 +2670,43 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
-msgstr ""
+msgstr "Stoc"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
-msgstr ""
+msgstr "Producție"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
-msgstr ""
+msgstr "Achiziţie"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
-msgstr ""
+msgstr "Vânzare"
#: src/components/nav/NavigationDrawer.tsx:180
msgid "Navigation"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
-msgstr ""
+msgstr "Notițe"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,24 +2863,24 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
msgid "Description"
-msgstr ""
+msgstr "Descriere"
#: src/components/plugins/PluginDrawer.tsx:78
msgid "Author"
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
+msgstr "Activ"
+
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
-msgstr ""
+msgstr "Nici un stoc"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
-msgstr ""
+msgstr "În Producţie"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
-msgstr ""
+msgstr "Locația sursei"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
-msgstr ""
+msgstr "Selectaţi locaţia sursă pentru alocarea stocurilor"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Atribuie cod lot"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
-msgstr ""
+msgstr "Cod lot"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
-msgstr ""
+msgstr "Introduceți codul lotului pentru articolele primite"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,101 +5161,112 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
-msgstr ""
+msgstr "Parolă setată"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
-msgstr ""
+msgstr "Parola a fost setată cu succes. Acum vă puteţi autentifica cu noua parolă"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
-msgstr ""
+msgstr "Nu s-a putut modifica parola"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
-msgstr ""
+msgstr "Cele două câmpuri de parolă nu se potrivesc"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
-msgstr ""
+msgstr "Parolă schimbată"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,87 +5356,91 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
#: src/pages/Auth/ChangePassword.tsx:32
#: src/pages/Auth/Reset.tsx:14
msgid "Reset Password"
-msgstr ""
+msgstr "Resetează parola"
#: src/pages/Auth/ChangePassword.tsx:46
msgid "Current Password"
-msgstr ""
+msgstr "Parola curentă"
#: src/pages/Auth/ChangePassword.tsx:47
msgid "Enter your current password"
-msgstr ""
+msgstr "Introduceți parola curentă"
#: src/pages/Auth/ChangePassword.tsx:53
msgid "New Password"
-msgstr ""
+msgstr "Parola Nouă"
#: src/pages/Auth/ChangePassword.tsx:54
msgid "Enter your new password"
-msgstr ""
+msgstr "Introduceți parola nouă"
#: src/pages/Auth/ChangePassword.tsx:60
msgid "Confirm New Password"
-msgstr ""
+msgstr "Confirmaţi parola nouă"
#: src/pages/Auth/ChangePassword.tsx:61
msgid "Confirm your new password"
-msgstr ""
+msgstr "Confirmați noua dvs. parolă"
#: src/pages/Auth/ChangePassword.tsx:80
msgid "Confirm"
-msgstr ""
+msgstr "Confirmați"
#: src/pages/Auth/Layout.tsx:59
msgid "Log off"
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5428,11 +5533,11 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:22
#: src/pages/Auth/VerifyEmail.tsx:19
msgid "Key invalid"
-msgstr ""
+msgstr "Cheie invalidă"
#: src/pages/Auth/ResetPassword.tsx:23
msgid "You need to provide a valid key to set a new password. Check your inbox for a reset link."
-msgstr ""
+msgstr "Trebuie să furnizați o cheie validă pentru a seta o parolă nouă. Verificați-vă căsuța de e-mail pentru un link de resetare."
#: src/pages/Auth/ResetPassword.tsx:30
#~ msgid "Token invalid"
@@ -5440,7 +5545,7 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:31
msgid "Set new password"
-msgstr ""
+msgstr "Setați parola nouă"
#: src/pages/Auth/ResetPassword.tsx:31
#~ msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link."
@@ -5448,11 +5553,11 @@ msgstr ""
#: src/pages/Auth/ResetPassword.tsx:35
msgid "The desired new password"
-msgstr ""
+msgstr "Noua parola dorita"
#: src/pages/Auth/ResetPassword.tsx:44
msgid "Send Password"
-msgstr ""
+msgstr "Trimite parola"
#: src/pages/Auth/Set-Password.tsx:49
#~ msgid "No token provided"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5914,11 +6019,11 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:117
#: src/tables/settings/UserTable.tsx:322
msgid "Change Password"
-msgstr ""
+msgstr "Schimbă parola"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119
msgid "Change User Password"
-msgstr ""
+msgstr "Schimbare parolă utilizator"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131
msgid "Profile Details"
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
-msgstr ""
+msgstr "Introduceţi parola"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
-msgstr ""
+msgstr "Parole de unică folosință cu valabilitate limitată"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
-msgstr ""
+msgstr "Nu există metode MFA disponibile"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6156,53 +6261,53 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:40
msgid "One-Time Password"
-msgstr ""
+msgstr "Parolă de unică folosință"
#: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:41
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Versiunea"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
-msgstr ""
+msgstr "Emis de"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
-msgstr ""
+msgstr "Responsabil"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7395,13 +7513,13 @@ msgstr ""
#: src/pages/company/SupplierPartDetail.tsx:105
#: src/tables/part/RelatedPartTable.tsx:82
msgid "Part Description"
-msgstr ""
+msgstr "Descrierea piesei"
#: src/pages/company/SupplierPartDetail.tsx:180
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,11 +7614,11 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
-msgstr ""
+msgstr "Cale"
#: src/pages/part/CategoryDetail.tsx:119
msgid "Parent Category"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
-msgstr ""
+msgstr "Versiune Din"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
-msgstr ""
+msgstr "Stoc disponibil"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
-msgstr ""
+msgstr "Selectați versiunea componentei"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8168,7 +8304,7 @@ msgstr ""
#: src/pages/part/pricing/PricingPanel.tsx:24
msgid "No data available"
-msgstr ""
+msgstr "Nicio informație disponibilă"
#: src/pages/part/pricing/PricingPanel.tsx:65
msgid "No Data"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,19 +8945,19 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
-msgstr ""
+msgstr "Indisponibil"
#: src/states/IconState.tsx:47
#: src/states/IconState.tsx:77
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nu există stoc disponibil"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Are cod lot"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Arată articole care au un cod de lot"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtrează articole după codul de lot"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr ""
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr ""
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr ""
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr ""
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr ""
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr ""
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr ""
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr ""
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr ""
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr ""
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr ""
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr ""
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr ""
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
-msgstr ""
+msgstr "Filtrează după titularul responsabil"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
-msgstr ""
+msgstr "Filtrează după utilizatorul care a emis comanda"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
-msgstr ""
+msgstr "Nu există stoc disponibil"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
-msgstr ""
+msgstr "Arată articolele cu stocul disponibil"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr "Arată articole cu stoc disponibil suficient"
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10380,7 +10620,7 @@ msgstr ""
#: src/tables/machine/MachineTypeTable.tsx:192
msgid "Available Drivers"
-msgstr ""
+msgstr "Driver-uri disponibile"
#: src/tables/machine/MachineTypeTable.tsx:232
msgid "Machine driver not found."
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,138 +10800,138 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
-msgid "Is Revision"
-msgstr ""
-
#: src/tables/part/PartTable.tsx:304
-msgid "Filter by parts which are revisions"
-msgstr ""
+msgid "Is Revision"
+msgstr "Este versiune"
-#: src/tables/part/PartTable.tsx:308
-msgid "Has Revisions"
-msgstr ""
+#: src/tables/part/PartTable.tsx:305
+msgid "Filter by parts which are revisions"
+msgstr "Filtrează după piesele care sunt versiuni"
#: src/tables/part/PartTable.tsx:309
-msgid "Filter by parts which have revisions"
-msgstr ""
+msgid "Has Revisions"
+msgstr "Are Versiuni"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:310
+msgid "Filter by parts which have revisions"
+msgstr "Filtrează după piesele care au versiuni"
+
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
-msgstr ""
+msgstr "Filtrează după piesele care au stoc disponibil"
#: src/tables/part/PartTable.tsx:322
#~ msgid "Has Stocktake"
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10953,7 +11201,7 @@ msgstr ""
#: src/tables/plugin/PluginListTable.tsx:120
msgid "Description not available"
-msgstr ""
+msgstr "Descrierea nu este disponibilă"
#: src/tables/plugin/PluginListTable.tsx:122
#~ msgid "Plugin information"
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
-msgstr ""
+msgstr "Cantitate disponibilă"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11614,11 +11868,11 @@ msgstr ""
#: src/tables/settings/ErrorTable.tsx:103
msgid "When"
-msgstr ""
+msgstr "Când"
#: src/tables/settings/ErrorTable.tsx:113
msgid "Error Information"
-msgstr ""
+msgstr "Informații eroare"
#: src/tables/settings/ErrorTable.tsx:123
msgid "Delete Error Report"
@@ -11675,7 +11929,7 @@ msgstr ""
#: src/tables/settings/FailedTasksTable.tsx:93
msgid "No error details are available for this task"
-msgstr ""
+msgstr "Nu sunt disponibile detalii de eroare pentru această sarcină"
#: src/tables/settings/GroupTable.tsx:71
msgid "Group with id {id} not found"
@@ -11944,11 +12198,11 @@ msgstr ""
#: src/tables/settings/UserTable.tsx:372
msgid "Set Password"
-msgstr ""
+msgstr "Setare parolă"
#: src/tables/settings/UserTable.tsx:377
msgid "Password updated"
-msgstr ""
+msgstr "Parolă actualizată"
#: src/tables/settings/UserTable.tsx:388
msgid "Add user"
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12313,7 +12519,7 @@ msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:331
msgid "Test Passed"
-msgstr ""
+msgstr "Test trecut"
#: src/tables/stock/StockItemTestResultTable.tsx:332
msgid "Test result has been recorded"
@@ -12325,29 +12531,29 @@ msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:356
msgid "Pass Test"
-msgstr ""
+msgstr "Test trecut"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
-msgid "Passed"
-msgstr ""
-
#: src/tables/stock/StockItemTestResultTable.tsx:415
-msgid "Show only passed tests"
-msgstr ""
+msgid "Passed"
+msgstr "A trecut"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:416
+msgid "Show only passed tests"
+msgstr "Afișează doar testele trecute"
+
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po
index d4f75fbf5b..ee18d310b9 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\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"
@@ -35,7 +35,7 @@ msgstr "Редактировать"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Удалить"
@@ -44,36 +44,36 @@ msgstr "Удалить"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Отменить"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Действия"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Поиск"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Сбой"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Да"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Нет"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Деталь"
@@ -134,7 +138,7 @@ msgstr "Деталь"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Детали"
@@ -149,14 +153,14 @@ msgstr "Детали"
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Параметр"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Параметры"
@@ -168,7 +172,7 @@ msgstr "Шаблон параметра"
#: lib/enums/ModelInformation.tsx:46
#: src/pages/Index/Settings/AdminCenter/ParameterPanel.tsx:13
msgid "Parameter Templates"
-msgstr ""
+msgstr "Шаблоны параметров"
#: lib/enums/ModelInformation.tsx:52
msgid "Part Test Template"
@@ -180,37 +184,37 @@ msgstr "Шаблоны тестов детали"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Деталь поставщика"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Детали поставщиков"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Деталь производителя"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Детали производителей"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Категория детали"
@@ -218,19 +222,22 @@ msgstr "Категория детали"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Категории деталей"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Складская позиция"
@@ -238,22 +245,22 @@ msgstr "Складская позиция"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Складские позиции"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Место хранения"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Места хранения"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Типы места хранения"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "История склада"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Товары производства"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Компании"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Код проекта"
@@ -330,21 +337,21 @@ msgstr "Коды проекта"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Заказ на закупку"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Позиции заказа на закупку"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Заказ на продажу"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Заказы на продажу"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Отправка заказа на продажу"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Отгрузка заказа на продажу"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Заказ на возврат"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Заказы на возврат"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Адрес"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Адреса"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Контакт"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Контакты"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Владелец"
@@ -451,15 +458,15 @@ msgstr "Владельцы"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Пользователь"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Шаблоны отчётов"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Настройка плагина"
@@ -543,31 +550,31 @@ msgstr "Списки выбора"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Администрирование пользователей"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Заказы на сборку"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "Не удалось выполнить процесс"
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "Процесс успешно завершён"
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Ошибка при отображении компонента"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Произошла ошибка при отрисовки этого компонента. Обратитесь к консоли для получения дополнительной информации."
@@ -637,7 +648,7 @@ msgstr "Штрихкод"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Сканировать"
@@ -668,8 +679,8 @@ msgstr "Введите данные штрихкода"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Сканировать штрихкод"
@@ -688,7 +699,7 @@ msgstr "Штрихкод не соответствует ожидаемому т
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Успешно"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Не удалось привязать штрихкод"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Ссылка"
@@ -754,7 +765,7 @@ msgstr "Это удалит ссылку на связанный штрих-ко
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Отвязать штрихкод"
@@ -766,11 +777,11 @@ msgstr "Открыть в панели администратора"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Скопировано"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Копировать"
@@ -798,19 +809,15 @@ msgstr "Печать отчётов"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Печать этикеток"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Печать"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Печать"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Печать отчета"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Действия печати"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Печать этикеток"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Печать отчётов"
@@ -860,8 +867,8 @@ msgstr "Вы будете перенаправлены на сайт поста
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Открыть сканер штрих-кодов"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Отписаться от уведомлений"
msgid "Subscribe to notifications"
msgstr "Подписаться на уведомления"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Фильтр календаря"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Предыдущий месяц"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Выбрать месяц"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Следующий месяц"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Загрузить данные"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr "Экспорт данных"
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr "Ошибка обновления заказа"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Просроченный"
@@ -937,7 +949,7 @@ msgstr "Сохранить макет"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Нет доступных виджетов"
msgid "There are no more widgets available for the dashboard"
msgstr "Больше нет виджетов, доступных для вывода на панель"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Отслеживаемые детали"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Количество деталей, на которые вы подписаны"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Отслеживаемые категории"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Количество категорий деталей, на которые вы подписаны"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Неутверждённые спецификации"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr "Сборки, для которых требуется утвердить спецификацию"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Низкий запас"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Количество деталей с низким запасом"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Требуется для заказов на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Детали, необходимые для запущенных заказов на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Просроченные запасы"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Количество просроченных запасов"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Залежавшиеся запасы"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Количество залежавшихся запасов"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Активные заказы на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Количество активных заказов на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Просроченные заказы на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Количество просроченных заказов на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Назначенные заказы на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Количество назначенных на вас заказов на сборку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Активные сбытовые заказы"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Количество активных сбытовых заказов"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Просроченные заказы на продажу"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Количество просроченных заказов на продажу"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Назначенные сбытовые заказы"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Количество назначенных вам заказов на продажу"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Ожидающие отгрузки"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Показать количество необработанных отгрузок по заказам на продажу"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Активные заказы на поставку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Количество активных заказов на поставку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Просроченные заказы на закупку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Количество просроченных заказов на поставку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Назначенные заказы на поставку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Количество назначенных на вас заказов на поставку"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Активные заказы на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Количество активных заказов на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Просроченные заказы на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Количество просроченных заказов на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Назначенные заказы на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Количество назначенных на вас заказов на возврат"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Начать работу"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Начало работы с InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Новости"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Свежие новости от InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Новостей нет"
msgid "There are no unread news items"
msgstr "Нет непрочитанных новостей"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr "Отчёт инвентаризации создаётся"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr "Создать отчёт инвентаризации"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr "Создать"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr "Инвентаризация"
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr "Создать новый отчёт инвентаризации"
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Нет непрочитанных новостей"
msgid "Superuser"
msgstr "Суперпользователь"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Сотрудник"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "Электронная почта: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Имя не определено"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Удалить связанное изображение?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Удалить"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Перетащите для загрузки"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Нажмите, чтобы выбрать файл(ы)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Изображение загружено"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Изображение успешно загружено"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Ошибка загрузки"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Очистить"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Подтвердить"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Выбрать из существующих изображений"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Выбрать изображение"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Скачать изображение из удаленного источника"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Загрузить новое изображение"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Загрузить изображение"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Удалить изображение"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Скачать изображение"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Изображение успешно скачано"
@@ -1546,7 +1589,7 @@ msgstr "Существуют ошибки для одного или неско
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Обновить"
@@ -1579,21 +1622,21 @@ msgstr "Вы успешно вошли в систему"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Ошибка входа"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Проверьте введенные данные и повторите попытку."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Отправка почты прошла успешно"
@@ -1628,7 +1671,7 @@ msgstr "Логин"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Пароль"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Введите пароль еще раз"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Регистрация"
@@ -1720,6 +1763,10 @@ msgstr "Регистрация не активна"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Причина может быть в не верной конфигурации настроек почты или это было сделано намеренно."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr "Выберите дату и время"
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Узел"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "Версия API"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Плагины"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Включено"
@@ -1850,7 +1898,7 @@ msgstr "Остановлен"
msgid "Running"
msgstr "Работает"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Выберите файл для загрузки"
@@ -1858,7 +1906,7 @@ msgstr "Выберите файл для загрузки"
msgid "Accept suggested value"
msgstr "Принять предложенное значение"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Выберите дату"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Без категории"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Поиск..."
@@ -1890,13 +1938,13 @@ msgstr "Выбрать набор"
msgid "{0} icons"
msgstr "{0} значков"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Загрузка"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Ничего не найдено"
@@ -1940,49 +1988,49 @@ msgstr "Изменить данные"
msgid "Delete Row"
msgstr "Удалить строку"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Строка"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Строка содержит ошибки"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Принять"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Верно"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Фильтр по статусу проверки строк"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Готово"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Фильтровать по статусу завершения строк"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Импорт выделенных строк"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Обработка данных"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Произошла ошибка"
@@ -2002,31 +2050,31 @@ msgstr "Выберите столбец, или оставьте пустым,
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Игнорировать это поле"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Сопоставление столбцов данных с полями базы данных"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Принять сопоставление колонок"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Поле базы данных"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Описание поля"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Импортированный столбец"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Значение по умолчанию"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Сопоставить столбцы"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Импорт данных"
+msgid "Import Rows"
+msgstr "Импортированные строки"
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Данные успешно импортированы"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Закрыть"
@@ -2104,8 +2152,8 @@ msgstr "Опции"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Действия со штрихкодом"
@@ -2177,10 +2225,15 @@ msgstr "Неизвестная ошибка"
msgid "None"
msgstr "None"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "Логотип InvenTree"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Сменить язык"
@@ -2208,9 +2261,10 @@ msgstr "Обновление ролей группы"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Обновлено"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Роль"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Просмотр"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Редактировать"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Добавить"
@@ -2255,14 +2309,14 @@ msgstr "Нет элементов"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Доступно"
@@ -2320,7 +2374,7 @@ msgstr "Ссылки"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Документация"
@@ -2479,7 +2533,7 @@ msgstr "Предупреждения"
#: src/components/nav/Alerts.tsx:97
msgid "No issues detected"
-msgstr ""
+msgstr "Проблем не обнаружено"
#: src/components/nav/Alerts.tsx:122
msgid "The server is running in debug mode."
@@ -2523,7 +2577,7 @@ msgstr "Подробнее о {code}"
msgid "Notifications"
msgstr "Уведомления"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Ничего не найдено..."
@@ -2547,7 +2601,7 @@ msgstr "Настройки"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Пользовательские настройки"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Системные настройки"
@@ -2578,14 +2632,14 @@ msgstr "Системные настройки"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Админ центр"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Выход"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Склад"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Производство"
@@ -2636,21 +2690,21 @@ msgstr "Производство"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Закупки"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Продажи"
@@ -2705,7 +2759,7 @@ msgstr "Удалить группу из поиска"
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Поставщики"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Производители"
@@ -2768,21 +2822,21 @@ msgstr "Нет доступных результатов для поисково
msgid "Attachments"
msgstr "Вложения"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Заметки"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr "Плагин предоставлен"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr "Свернуть панели"
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr "Развернуть панели"
@@ -2809,19 +2863,19 @@ msgstr "Информация о плагине"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Автор"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Дата"
@@ -2845,48 +2899,54 @@ msgstr "Дата"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Активно"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Веб-сайт"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Название пакета"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Путь установки"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Встроенный"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Пакет"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Настройки плагинов"
@@ -2969,65 +3029,65 @@ msgstr "Неизвестная модель: {model_name}"
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Отгрузка"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Неактивный"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Виртуальная"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Нет склада"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "В заказе"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "В производстве"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Сведения"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Категория"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Расположение"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Серийный номер"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Количество"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Партия"
@@ -3193,45 +3251,53 @@ msgstr "Добавить пользовательский статус"
msgid "Create a new custom state for your workflow"
msgstr "Создайте новый пользовательский статус для вашего рабочего процесса"
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr "Вы действительно хотите изменить эту настройку?"
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr "Этот параметр требует подтверждения"
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Редактирование настроек"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr "Значение {key} успешно обновлено"
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Настройки обновлены"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Настройки {0} успешно обновлены"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Ошибка при редактировании настроек"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr "Ошибка загрузки настроек"
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Настройки отсутствуют"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr "Нет доступных настраиваемых параметров"
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Настройки не указаны"
@@ -3608,19 +3674,19 @@ msgstr "Уже импортировано"
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Поставщик"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Загрузка..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr "Далее"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Редактировать деталь"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr "Требования продаж"
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "На складе"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Требуемое количество"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Создать деталь поставщика"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Деталь поставщика создана"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Исправьте ошибки в выбранных деталях"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Закупить детали"
@@ -4038,77 +4104,89 @@ msgstr "Закупить детали"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Перейти к панели InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Посетите документацию, чтобы узнать больше о InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "О программе InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Информация о сервере"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "Об этом сервере InvenTree"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Информация о лицензии"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Лицензии на зависимостей сервиса"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Открыть панель навигации"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Открыть главное меню навигации"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Сканировать штрихкод или QR-код"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr "Перейти к настройкам пользователя"
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr "Импортировать данные"
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr "Импортировать данные из файла"
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr "Перейти к заказам на закупку"
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr "Перейти к заказам на продажу"
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr "Перейти к заказам на возврат"
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Сканировать штрихкод или QR-код"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr "Перейти к заказам на сборку"
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr "Перейти к системным настройкам"
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Перейти в админ центр"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr "Управление плагинами InvenTree"
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "О проекте InvenTree"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr "Детали для замены"
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr "Редактировать варианты замены позиции спецификации"
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr "Создать замену"
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr "Замена создана"
@@ -4374,53 +4452,53 @@ msgstr "Замена создана"
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Продукция"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr "Количество для завершения"
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Статус"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Завершить производство"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Производство завершено"
@@ -4428,143 +4506,133 @@ msgstr "Производство завершено"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr "Количество для списания"
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Списать Продукцию"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr "Выбранная продукция будет завершена, но помечена списанной"
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr "Зарезервированные складские позиции будут израсходованы"
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Продукция списана"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Продукция списана"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Отменить продукцию"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr "Выбранная продукция будет удалена"
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr "Зарезервированные складские позиции будут возвращены на склад"
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Производство отменено"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "Внутренний артикул"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Зарезервировано"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Место хранения комплектующих"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Выберите исходное расположение для распределения запасов"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Зарезервировать остатки"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Запасы назначены"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr "Израсходовать запасы"
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr "Складские позиции, запланированные к расходованию"
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr "Израсходовать запасы"
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr "Полностью израсходовано"
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Израсходовано"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr "Выберите код проекта для этой позиции"
@@ -4572,16 +4640,16 @@ msgstr "Выберите код проекта для этой позиции"
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Получать уведомления"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Подписаться на уведомления для этой детали"
@@ -4593,11 +4661,11 @@ msgstr "Подписаться на уведомления для этой де
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Родительская категория"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Подписаться на уведомления для этой категории"
@@ -4605,67 +4673,71 @@ msgstr "Подписаться на уведомления для этой ка
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Назначить код партии и серийные номера"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Назначить код партии"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Выберите место хранения"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Пункт назначения товара выбран"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Выбрано расположение категории по умолчанию"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Выбрано место получения запасов"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Выбрано местоположение по умолчанию"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Задать место хранения"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Назначить код партии"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr "Назначить серийный номер"
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr "Задать срок годности"
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Настройка упаковки"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Настройка упаковки"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Изменить статус"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Добавить заметку"
@@ -4673,56 +4745,56 @@ msgstr "Добавить заметку"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Использовать место хранения по умолчанию"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr "Использовать место хранения позиции заказа "
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Использовать место хранения уже полученных запасов"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Код партии"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Введите код партии для полученных запасов"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Серийные номера"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Введите серийные номера для полученных запасов"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Срок годности"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr "Введите дату истечения срока годности полученных элементов"
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr "Введите дату истечения срока годности
msgid "Packaging"
msgstr "Упаковка"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Заметка"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Артикул поставщика"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Получено"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Получить позиции"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr "Элементы получены"
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Возврат позиций"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Товар получен на складе"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr "Цена на основе детали и количества отличается{0}"
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr "Проверить отправку"
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr "Отметка отправления как проверенного означает, что вы проверили корректность всех предметов, включённых в эту отправку"
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr "Отправление отмечено как проверенное"
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr "Снять отметку проверки с отправки"
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr "Отметка отправления как непроверенного означает, что требуется дополнительная проверка"
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr "Отправление отмечено как непроверенное"
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Завершить отправку"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr "Оставьте поле пустым, чтобы использовать адрес заказа"
@@ -4806,193 +4896,202 @@ msgstr "Оставьте поле пустым, чтобы использова
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Ввести количество упаковок вместо количества отдельных элементов"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Введите начальное количество этой детали на складе"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Введите серийные номера для нового склада (или оставьте пустым)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Состояние складской позиции"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Создать складскую позицию"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Выберите часть для установки"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Подтвердить перемещение запаса"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Переместить в местоположение по умолчанию"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Переместить"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Возврат"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Количество"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Увеличить склад"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Запас добавлен"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr "Увеличить количество выбранных складских позиций на указанную величину."
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Уменьшить склад"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Запас удален"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr "Уменьшить количество выбранных складских позиций на указанную величину."
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Переместить склад"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Запас перемещен"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr "Переместить выбранные позиции в указанное место хранения."
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr "Возврат запасов"
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr "Запасы возвращены"
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr "Вернуть выбранные позиции на склад, в указанное место хранения."
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Подсчёт склада"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Запас посчитан"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr "Произвести инвентаризацию выбранных складских позиций и скорректировать количество соответствующим образом."
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Изменить статус запасов"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Состояние запаса изменено"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr "Изменить статус выбранных складских позиций."
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Объединить склад"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Запасы объединены"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr "Объединить складские позиции"
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr "Операция объединения не может быть отменена"
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr "При объединении позиций информация об отслеживании может быть потеряна"
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr "При объединении может быть потеряна информация о поставщиках"
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Передать запас клиенту"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Запас передан клиенту"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Удалить складскую позицию"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Запас удален"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr "Эта операция необратимо удалит выбранные складские позиции."
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Расположение основного склада"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr "Поиск по серийному номеру"
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr "Нет подходящих элементов"
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr "Несколько подходящих элементов"
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr "Неверный ответ сервера"
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Список вариантов для выбора"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Внутренняя ошибка сервера"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Вход уже выполнен"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr "На сервере есть конфликтующие сессии для данного браузера. Пожалуйста, выйдите из системы."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Выход"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
-msgstr "Нет ответа от сервера."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
+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 "No response from server."
+msgstr "Нет ответа от сервера."
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr "Успешный вход с помощью МФА"
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr "Данные МФА автоматически переданы в браузер"
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Выход"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Успешный выход из системы"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr "Язык изменён"
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr "Язык изменён на заданный в вашем профиле"
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Тема изменена"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr "Тема интерфейса изменена на заданную в профиле"
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Сброс не удался"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Вход уже выполнен"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr "На сервере есть конфликтующие сессии для данного браузера. Пожалуйста, выйдите из системы."
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Войти в систему"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Вход выполнен успешно"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr "Не удалось настроить МФА"
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr "Многофакторная аутентификация настроена успешно"
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr "Многофакторная аутентификация через TOTP настроена успешно; вам нужно авторизоваться повторно."
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Пароль установлен"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Пароль был установлен успешно. Теперь вы можете войти в систему с новым паролем"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Пароль не может быть изменён"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr "Пароли не совпадают"
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Пароль изменен"
@@ -5210,23 +5320,14 @@ msgstr "Превышено время выполнения запроса"
msgid "Exporting Data"
msgstr "Экспортирование данных"
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Экспорт данных"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Экспорт"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr "Не удалось выполнить процесс"
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr "Процесс успешно завершён"
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Элемент создан"
@@ -5255,52 +5356,56 @@ msgstr "Вы уверены, что хотите удалить этот эле
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr "Подсчёт выбранных складских позиций"
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr "Увеличить выбранные складские позиции"
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr "Уменьшить выбранные складские позиции"
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr "Переместить выбранные складские позиции"
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr "Объединить выбранные складские позиции"
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr "Изменить статус выбранных складских позиций"
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr "Передать склад"
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr "Передать складские позиции клиенту"
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr "Вернуть выбранные товары на склад"
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr "Удалить склад"
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr "Удалить выбранные складские позиции"
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Действия со складом"
@@ -5357,15 +5462,15 @@ msgstr "Ничего не выбрано"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Войти"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr "Вход в систему"
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Нет аккаунта?"
@@ -5383,12 +5488,12 @@ msgstr "Нет аккаунта?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr "Многофакторная аутентификация"
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "Код TOTP"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr "Должность"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Тип"
@@ -5933,220 +6038,220 @@ msgstr "Редактировать профиль"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr "Повторная аутентификация прошла успешно"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr "Вы успешно повторно прошли аутентификацию."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr "Ошибка при повторной аутентификации"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr "Повторная аутентификация не удалась"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr "Не удалось повторно пройти аутентификацию"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr "Пройти повторную аутентификацию"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr "Для продолжения необходима повторная аутентификация."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr "Введите пароль"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr "Введите один из ваших кодов TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr "Учётные данные WebAuthn удалены"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr "Учётные данные WebAuthn успешно удалены."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr "Ошибка при удалении учётных данных WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr "Удалить учётные данные WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr "Подтвердить удаление"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr "Подтвердите удаление учётных данных WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr "Код TOTP удалён"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr "Токен TOTP успешно удалён."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr "Ошибка при удалении токена TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr "Удалить токен TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr "Подтвердите удаление кода TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr "TOTP уже зарегистрирован"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr "Для этой учётной записи уже зарегистрирован токен TOTP."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr "Ошибка при получении регистрации TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr "Произошла непредвиденная ошибка при получении данных регистрации TOTP."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr "TOTP зарегистрирован"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr "Токен TOTP успешно зарегистрирован."
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr "Ошибка регистрации токена TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr "Зарегестрировать токен TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr "Ошибка при получении резервных кодов"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr "Коды восстановления"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr "Доступны следующие одноразовые резервные коды"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr "Скопировать резервные коды в буфер обмена"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr "Нет неиспользованных кодов"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr "Доступных резервных кодов нет"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr "WebAuthn зарегистрирован"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr "Учётные данные WebAuthn успешно зарегистрированы"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr "Ошибка при регистрации учётных данных WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr "Регистрация WebAuthn не удалась"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr "Не удалось зарегистрировать учётные данные WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr "Ошибка при получении регистрации WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr "Алгоритм одноразового пароля на основе времени"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr "Коды восстановления доступа используя TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr "WebAuthn"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr "Web-аутентификация (WebAuthn) — это веб-стандарт для безопасной аутентификации"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Последнее использование"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Создан"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Не настроен"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr "Токены многофакторной аутентификации для данного аккаунта не настроены"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr "Зарегистрировать метод аутентификации"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr "Нет доступных методов MFA"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr "Нет доступных методов MFA для настройки"
@@ -6162,47 +6267,47 @@ msgstr "Одноразовый пароль"
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr "Введите код TOTP, чтобы убедиться, что он зарегистрирован правильно"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "Адреса электронной почты"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "Адреса электронной почты"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr "Технология единого входа (SSO)"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Не включен"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr "Технология единого входа (SSO) не включена на данном сервере"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Не включен"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr "Технология единого входа (SSO) не включена на данном сервере"
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr "Токены доступа"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr "Информация о сессии"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr "Информация о сессии"
msgid "Timestamp"
msgstr "Метка времени"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Метод"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr "Ошибка обновления электронной почты"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr "В настоящее время не зарегистрирован ни один адрес электронной почты."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "С вашей учетной записью связаны следующие адреса электронной почты:"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Основной"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Проверено"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Непроверенный"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Сделать основным"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Отправить подтверждение повторно"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Добавить адрес электронной почты"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "Электронная почта"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Адрес электронной почты"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr "Ошибка добавления электронной почты"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Добавить адрес электронной почты"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "Электронная почта"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Адрес электронной почты"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr "Ошибка добавления электронной почты"
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Добавить Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr "Ошибка добавления электронной почты"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Добавить Email"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr "Нет провайдеров, подключенных к этой учетной записи."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr "Вы можете войти в свою учётную запись, используя любой из следующих провайдеров"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr "Удалить ссылку провайдера"
@@ -6420,7 +6526,7 @@ msgstr "Точки"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Валюта"
@@ -6462,7 +6568,7 @@ msgstr "Сообщения электронной почты"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:36
msgid "System Status"
-msgstr ""
+msgstr "Состояние системы"
#: src/pages/Index/Settings/AdminCenter/HomePanel.tsx:47
msgid "Admin Center Information"
@@ -6685,30 +6791,34 @@ msgstr "Прикрепить к модели"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Фоновый процесс не запущен"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Служба управления фоновыми задачами не запущена. Обратитесь к системному администратору."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Фоновый процесс не запущен"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Служба управления фоновыми задачами не запущена. Обратитесь к системному администратору."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Ожидающие задачи"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Запланированные задачи"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Невыполненные задачи"
@@ -6805,6 +6915,16 @@ msgstr "Цены"
msgid "Labels"
msgstr "Метки"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Движение остатков"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr "У собираемой детали возможно не задана
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Ревизия"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Ревизия"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Ревизия"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Ревизия"
msgid "Custom Status"
msgstr "Пользовательский статус"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Сторонний"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Ссылка"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Родительский заказ"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Количество производимых деталей"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Можно произвести"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Завершённая продукция"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Создал"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Ответственный"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Любое расположение"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Место назначения"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Создано"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Начальная дата"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Целевая дата"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Место назначения"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Создано"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Начальная дата"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Целевая дата"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Завершено"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Сведения о заказе"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr "Необходимые детали"
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Зарезервированные остатки"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Израсходованные остатки"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Незавершённая продукция"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr "Сторонние заказы"
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Дочерние заказы на сборку"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Результаты тестов"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Редактировать заказ на производство"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Создать заказ на сборку"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Отменить заказ для производства"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Заказ отменён"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Отменить заказ"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Отложить заказ на сборку"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Отложите этот заказ"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Заказ отложен"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Оформить заказ на сборку"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Оформить данный заказ"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Заказ оформлен"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Завершить заказ на сборку"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Отметить данный заказ как завершённый"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Заказ завершён"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Оформить заказ"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Завершить заказ"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Действия с заказом на сборку"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Редактировать заказ"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Дублировать заказ"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Отложить заказ"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Отменить заказ"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Заказ на сборку"
@@ -7207,7 +7327,7 @@ msgstr "Заказ на сборку"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr "Показать сторонние заказы на сборку"
@@ -7219,12 +7339,13 @@ msgstr "Показать сторонние заказы на сборку"
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "В виде таблицы"
@@ -7238,19 +7359,16 @@ msgstr "В виде календаря"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
-msgstr ""
-
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Веб-сайт"
+msgstr "Параметрическое представление"
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
@@ -7271,11 +7389,11 @@ msgstr "Валюта по умолчанию"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Производитель"
@@ -7284,15 +7402,15 @@ msgstr "Производитель"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Покупатель"
@@ -7320,16 +7438,16 @@ msgstr "Детали производителя"
msgid "Assigned Stock"
msgstr "Назначенный запас"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Редактирование компании"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Удалить компанию"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Действия с компанией"
@@ -7349,7 +7467,7 @@ msgstr "Внешняя ссылка"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Сведения о детали"
@@ -7363,28 +7481,28 @@ msgstr "Сведения о детали производителя"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Полученные позиции"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Редактировать делать производителя"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Создать деталь производителя"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Удалить деталь производителя"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Действия с деталью производителя"
@@ -7401,7 +7519,7 @@ msgstr "Описание детали"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Количество в упаковке"
@@ -7427,28 +7545,28 @@ msgstr "Сведения о детали поставщика"
msgid "Supplier Pricing"
msgstr "Цены закупок"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Действия с деталью поставщика"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Редактировать деталь поставщика"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Удалить деталь поставщика"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Создать деталь поставщика"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Нет на складе"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Роли группы"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr "Информация о пользователе"
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr "Базовый пользователь"
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Подкатегории"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Перенести элементы в родительскую категорию"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Удалить товар"
@@ -7577,60 +7695,64 @@ msgstr "Сведения о категории"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Резервирование в заказах на сборку"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Резервирование в заказах на продажу"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Утвердить спецификацию"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Вы хотите утвердить спецификацию для данной сборочной детали?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr "Спецификация запланирована для проверки"
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr "Спецификация утверждена"
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr "Спецификация этой детали утверждена"
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr "Спецификация не утверждена"
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr "Спецификация для этой детали ранее была проверена, но требует повторной проверки"
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr "Спецификация для этой детали не утверждена"
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Дата утверждения"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Утвердил"
@@ -7650,246 +7772,246 @@ msgstr "Утвердил"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Разновидность детали"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Ревизия"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Расположение по умолчанию"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Размещение категории по умолчанию"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Единица измерения"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Размещение категории по умолчанию"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Единица измерения"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Ключевые слова"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Доступно"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "В заказе"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Требуется для заказов"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Зарезервировано в заказах на сборку"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Зарезервировано в заказах на продажу"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Минимальный запас"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Минимальный запас"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Заблокировано"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Шаблон детали"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Сборная деталь"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Компонент для сборки"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Тестируемая деталь"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Отслеживаемая деталь"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Можно закупать"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Можно продавать"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Виртуальная деталь"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Дата создания"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Создал"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Поставщик по умолчанию"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr "Срок годности по умолчанию"
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "дней"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Ценовой диапазон"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Последний серийный номер"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Выберите ревизию детали"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Разновидности"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Резервирование"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Спецификация"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Используется в"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Цены на деталь"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Шаблоны тестов"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Связанные детали"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Деталь заблокирована"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Параметры детали нельзя редактировать, поскольку деталь заблокирована"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Деталь заблокирована"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Параметры детали нельзя редактировать, поскольку деталь заблокирована"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Требуется"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
-msgstr ""
+msgstr "Дефицит"
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Создать деталь"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Удалить деталь"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Удаление этой детали нельзя отменить"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Закупить"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Закупить на склад"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr "Поиск по серийному номеру"
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Действия с деталью"
@@ -7968,35 +8090,46 @@ msgstr "История продаж"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Редактировать запись инвентаризации"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Удалить запись инвентаризации"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr "Отчёт инвентаризации поставлен в очередь создания"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr "Количество на складе"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Стоимость склада"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr "Создать запись инвентаризации"
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Минимальное значение"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Максимальное значение"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr "Записи инвентаризации"
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Максимальное значение"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Общая стоимость"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Компонент"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Минимальная цена"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Максимальная цена"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Цена за единицу"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Круговая диаграмма"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Гистограмма"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Закупочные цены"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Последнее обновление"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Редактирование заказа на закупку"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Создать заказ на закупку"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Завершенные позиции"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Место хранения"
@@ -8275,60 +8411,60 @@ msgstr "Дата оформления"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Дата завершения"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Сведения о заказе"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Позиции"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Дополнительные позиции"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Оформить заказ на закупку"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Отмена заказа на закупку"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Отложить заказ на закупку"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Завершить заказ на закупку"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Действия с заказом"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Номер у клиента"
@@ -8338,7 +8474,7 @@ msgstr "Обратный адрес"
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr "Не указано"
@@ -8346,29 +8482,29 @@ msgstr "Не указано"
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Редактировать заказ на возврат"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Создать заказ на возврат"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Оформить заказ на возврат"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Отменить заказ на возврат"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Отложить заказ на возврат"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Завершить заказ на возврат"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Доставлено"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr "Адрес доставки"
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Редактировать заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Создать заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Доставка"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Оформить заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Отменить заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Отложить заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Отгрузить заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Отгрузить этот заказ?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Заказ отгружен"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Завершить заказ на продажу"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Отгрузить заказ"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Референс отправления"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Номер отслеживания"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Номер счета"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Выбранные запасы"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Проверил"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr "Не проверено"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Дата отгрузки"
@@ -8464,173 +8600,167 @@ msgstr "Дата отгрузки"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Дата доставки"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Данные отгрузки"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Редактировать отправку"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Отменить отгрузку"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Завершить отправку"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "В обработке"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr "Проверено"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr "Не проверено"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Отгружено"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Доставлено"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Отправить отгрузку"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Действия с отгрузкой"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr "Проверить"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr "Отметить отправку как проверенную"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr "Снять отметку"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr "Отметить отправку как непроверенную"
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Родительское местоположение"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Дочерние местоположения"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Тип места хранения"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Место хранения верхнего уровня"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Сведения о месте"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Детали по умолчанию"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Редактировать место хранения"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Переместить элементы в родительское местоположение"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Удалить место хранения"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Действия с элементами"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Действия для складских элементов в этом месте"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Редактировать место хранения"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Переместить элементы в родительское местоположение"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Удалить место хранения"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Действия с элементами"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Действия для складских элементов в этом месте"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr "Действия с местоположениями"
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Действия для дочерних местоположений в этом месте"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr "Сканировать складской элемент"
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr "Сканированный элемент помещён в местоположение"
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr "Ошибка при сканировании складского элемента"
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr "Сканировать место хранения"
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr "Сканированное место хранения помещено в местоположение"
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr "Ошибка при сканировании места хранения"
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Действия с местом хранения"
@@ -8703,10 +8833,6 @@ msgstr "Последняя инвентаризация"
msgid "Stock Details"
msgstr "Сведения о складе"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Движение остатков"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Установленные элементы"
msgid "Child Items"
msgstr "Дочерние элементы"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Редактировать складскую позицию"
@@ -8738,15 +8864,15 @@ msgstr "Редактировать складскую позицию"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr "Созданные элементы"
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr "Создано {n} складских позиций"
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Удалить складскую позицию"
@@ -8758,7 +8884,7 @@ msgstr "Удалить складскую позицию"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Присвоить запасу серийный номер"
@@ -8766,24 +8892,23 @@ msgstr "Присвоить запасу серийный номер"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Запасу присвоен серийный номер"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr "Сканировать в местоположение"
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr "Сканировать в местоположение"
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr "Отсканируйте этот элемент для помещения в местоположение"
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Действия со складом"
@@ -8791,12 +8916,12 @@ msgstr "Действия со складом"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Сериализовать"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Сериализовать запас"
@@ -8804,7 +8929,7 @@ msgstr "Сериализовать запас"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Действия со складским элементом"
@@ -8820,17 +8945,17 @@ msgstr "Действия со складским элементом"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Залежалый"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Просрочен"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Недоступно"
@@ -8855,6 +8980,72 @@ msgstr "Вы подписаны на получение уведомлений
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Складская позиция в процессе производства"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Складская позиция зарезервирована в заказе на продажу"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Складская позиция передана клиенту"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Складская позиция установлена в другой складской позиции"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Складская позиция израсходована в заказе на сборку"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Этот складской элемент недоступен"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Этот складской элемент просрочен"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Этот складской элемент устарел"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr "Нехватает единиц товара на складе"
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Складская позиция полностью зарезервирована"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Складская позиция частично зарезервирована"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Нет на складе"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Этот складской элемент был израсходован"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Информация о складе"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Зарезервированные позиции"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Выбрать столбцы"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Есть код партии"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Показать элементы, которым присвоен код партии"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Фильтр по коду партии"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Показать элементы, которые в наличии"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Есть серийный номер"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Показать элементы, которым присвоен серийный номер"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Есть код партии"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Показать элементы, которым присвоен код партии"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Фильтр по коду партии"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Показать элементы, которые в наличии"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Есть серийный номер"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Показать элементы, которым присвоен серийный номер"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr "Серийный номер"
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Фильтр по серийному номеру"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr "Серийный номер меньше"
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Показать элементы, у которых серийный номер меньше или равен заданному значению"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr "Серийный номер больше"
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Показать элементы, у которых серийный номер больше или равен заданному значению"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Назначено мне"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Показать заказы, назначенные мне"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Незавершено"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Показать незавершённые элементы"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Показать просроченные элементы"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Минимальная дата"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Показать элементы после указанной даты"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Максимальная дата"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Показать элементы до указанной даты"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Созданы до"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Показать заказы, созданные до указанной даты"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Созданы после"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Показать заказы, созданные после указанной даты"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr "Начальная дата до"
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr "Показать элементы, начальная дата которых раньше указанной"
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr "Начальная дата после"
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr "Показать элементы, начальная дата которых после указанной"
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Целевая дата до"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Показать элементы, целевая дата которых раньше указанной"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Целевая дата после"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Показать элементы, целевая дата которых после указанной"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Завершен до"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Показать заказы, завершенные до указанной даты"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Завершен после"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Показать заказы, завершенные после указанной даты"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Обновлены позже"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Обновлены раньше"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Указан код проекта"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Показать заказы с указанным кодом проекта"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Включая разновидности"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr "Включить результаты для вариантов деталей"
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Фильтр по статусу заказа"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Фильтр по коду проекта"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Фильтр по ответственному"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Фильтр по пользователю"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr "Фильтр по производителю"
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr "Фильтр по поставщику"
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Фильтр по пользователю, который создал заказ"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr "Фильтр по пользователю, создавшему заказ"
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr "Фильтр по категории"
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr "Фильтр по месту хранения"
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Убрать фильтрацию"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Выберите значение фильтра"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Введите значение фильтра"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Выберите дату"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Выбрать фильтр"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Отфильтровать"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Фильтр таблицы"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Добавить фильтр"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Очистить фильтр"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Записи не найдены"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr "Ошибка загрузки параметров таблицы"
@@ -9156,10 +9366,6 @@ msgstr "Ошибка загрузки параметров таблицы"
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Сервер вернул неверный тип данных"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Сервер вернул неверный тип данных"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Сервер вернул неверный тип данных"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr "Ошибка загрузки данных таблицы"
@@ -9190,57 +9400,57 @@ msgstr "Ошибка загрузки данных таблицы"
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Показать сведения"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr "Просмотреть {model}"
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Показать сведения"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr "Просмотреть {model}"
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Удалить выбранные элементы"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Вы уверены, что хотите удалить выбранные элементы?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Это действие нельзя будет отменить"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr "Элементы удалены"
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr "Не удалось удалить элементы"
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Используется пользовательский фильтр таблицы"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Удалить выбранные записи"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Обновить данные"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Активные фильтры"
@@ -9252,71 +9462,71 @@ msgstr "Активные фильтры"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Эта позиция в спецификации унаследована от родительской детали"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Информация о детали"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr "Эта позиция в спецификации не утверждена"
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr "Замены"
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Виртуальная деталь"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Виртуальная деталь"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Сторонний склад"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Включает запас заменителей"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Включает запас вариантов"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Сборка"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Сборка"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Информация о складе"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Расходный материал"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Нет на складе"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Показать тестируемые элементы"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Показать отслеживаемые позиции"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Активная деталь"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr "Показать активные"
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Показать сборные детали"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr "Показать виртуальные элементы"
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Показать элементы, которые есть в наличии на складе"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Показать элементы, которые находятся в заказе"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Утверждено"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Показать утверждённые элементы"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Унаследовано"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Показать элементы, которые унаследованы"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Показать элементы, в которых разрешено использовать разновидности для замены"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Необязательно"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Показать необязательные элементы"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Расходник"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Показать элементы, которые являются расходниками"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Есть цена"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Показать позиции с ценой"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Импортировать данные спецификации"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Создать позицию в спецификации"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Создана позиция в спецификации"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Редактировать позицию спецификации"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Позиция в спецификации обновлена"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Удалить позицию в спецификации"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Позиция в спецификации удалена"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Позиция в спецификации утверждена"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "При утверждении позиции в спецификации произошла ошибка"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Показать спецификацию"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Утвердить позицию в спецификации"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Редактировать варианты замены"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr "Добавить позиции спецификации"
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr "Добавить одну позицию спецификации"
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Импорт из файла"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr "Импорт спецификации из файла"
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Невозможно отредактировать спецификацию, поскольку деталь заблокирована"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Сборная деталь"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Показать активные сборки"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Отслеживаемая"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Показать отслеживаемые сборки"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Зарезервировано"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Показать позиции, зарезервированные для продукции"
@@ -9538,17 +9754,17 @@ msgstr "Показать позиции, зарезервированные дл
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Статус заказа"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Редактировать распределение запаса"
@@ -9561,8 +9777,8 @@ msgstr "Редактировать распределение запаса"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr "Удалить распределённый запас"
@@ -9572,18 +9788,28 @@ msgstr "Удалить распределённый запас"
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr "Вы уверены, что хотите удалить этот распределённый запас из заказа?"
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Израсходовать"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr "Удалить распределённый запас"
@@ -9591,141 +9817,151 @@ msgstr "Удалить распределённый запас"
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Показать складскую позицию"
-#: src/tables/build/BuildLineTable.tsx:184
+#: src/tables/build/BuildLineTable.tsx:189
msgid "Show fully allocated lines"
msgstr "Показать полностью распределённые строки"
-#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
-msgstr "Показать полностью израсходованные строки"
-
#: src/tables/build/BuildLineTable.tsx:189
#~ msgid "Show allocated lines"
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
+msgid "Show fully consumed lines"
+msgstr "Показать полностью израсходованные строки"
+
+#: src/tables/build/BuildLineTable.tsx:199
msgid "Show items with sufficient available stock"
msgstr "Показать элементы с достаточным доступным запасом"
-#: src/tables/build/BuildLineTable.tsx:199
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Показать строки расходных материалов"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Показать необязательные строки"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Тестируемая"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Отслеживаемый"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Показать отслеживаемые строки"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr "Показать элементы с запасом в заказе"
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "В производстве"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Недостаточно запаса"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Нет на складе"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Наследуется"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Количество единиц"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr "Количество для настройки"
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr "Потери"
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr "Кратность округления"
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr "Информация о спецификации"
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr "Полностью распределено"
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Создать заказ на сборку"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Выполняется автоматическое распределение"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Автоматическое резервирование остатков"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Автоматически выделять запасы на эту сборку в соответствии с выбранными параметрами"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Отменить резервирование остатков"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Начислить все неотслеживаемые запасы для этого заказа на сборку"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Отменить резервирование остатков для выбранной позиции"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Склад был распродан"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Собрать"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Показать деталь"
@@ -9756,31 +9992,31 @@ msgstr "Показать деталь"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr "Есть целевая дата"
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr "Показать заказы с указанной целевой датой"
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr "Есть начальная дата"
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr "Показать заказы с указанной начальной датой"
@@ -9788,7 +10024,7 @@ msgstr "Показать заказы с указанной начальной
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Резервирование складских позиций для продукции"
@@ -9796,103 +10032,107 @@ msgstr "Резервирование складских позиций для п
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Создать продукцию"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
-msgstr "Продукция создана"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
+msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Создать продукцию"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr "Продукция создана"
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Редактировать продукцию"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Это действие отменит резервирование всех складских позиций для выбранной продукции"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr "Сериализовать продукцию"
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Фильтр по статусу склада"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Завершить выбранную продукцию"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Списать выбранную продукцию"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Отменить выбранную продукцию"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Зарезервировать"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Зарезервировать остатки для выбранной продукции"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Списать выбранную продукцию"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Отменить выбранную продукцию"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Зарезервировать"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Зарезервировать остатки для выбранной продукции"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Отменить резервирование"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Отменить резервирование остатков для выбранной продукции"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr "Сериализовать продукцию"
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Завершить продукцию"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Списать"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Списать продукцию"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Отменить продукцию"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Зарезервированные позиции"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Обязательные тесты"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr "Сторонняя сборка"
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr "Этот заказ на сборку выполнен внешними заказами на закупку"
@@ -9917,28 +10157,28 @@ msgstr "Удалить адрес"
msgid "Are you sure you want to delete this address?"
msgstr "Вы уверены, что хотите удалить этот адрес?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Создать компанию"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Создать компанию"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Показать активные компании"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Показать компании, которые являются поставщиками"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Показать компании, которые являются производителями"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Показать компании, которые являются клиентами"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Показать элемент"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Создать позицию"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Редактировать позицию"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Удалить позицию"
@@ -10086,7 +10326,7 @@ msgstr "Кем обновлено"
#: src/tables/general/ParameterTable.tsx:118
msgid "Show parameters for enabled templates"
-msgstr ""
+msgstr "Показывать параметры для включённых шаблонов"
#: src/tables/general/ParameterTable.tsx:124
msgid "Filter by user who last updated the parameter"
@@ -10094,17 +10334,17 @@ msgstr "Фильтр по пользователю, который послед
#: src/tables/general/ParameterTable.tsx:154
msgid "Import Parameters"
-msgstr ""
+msgstr "Импортировать параметры"
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Создать параметр"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Редактировать параметр"
@@ -10115,19 +10355,19 @@ msgstr "Удалить параметр"
#: src/tables/general/ParameterTable.tsx:191
msgid "Add Parameters"
-msgstr ""
+msgstr "Добавить параметры"
#: src/tables/general/ParameterTable.tsx:197
msgid "Create Parameter"
-msgstr ""
+msgstr "Создать параметр"
#: src/tables/general/ParameterTable.tsx:199
msgid "Create a new parameter"
-msgstr ""
+msgstr "Создайте новый параметр"
#: src/tables/general/ParameterTable.tsx:208
msgid "Import parameters from a file"
-msgstr ""
+msgstr "Импортировать параметры из файла"
#: src/tables/general/ParameterTemplateTable.tsx:48
#: src/tables/general/ParameterTemplateTable.tsx:197
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Показать шаблоны с вариантами"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Имеет единицу измерения"
@@ -10173,7 +10413,7 @@ msgstr "Показать шаблоны с единицами измерения
#: src/tables/general/ParameterTemplateTable.tsx:154
msgid "Show enabled templates"
-msgstr ""
+msgstr "Показывать включённые шаблоны"
#: src/tables/general/ParameterTemplateTable.tsx:158
#: src/tables/settings/ImportSessionTable.tsx:111
@@ -10183,7 +10423,7 @@ msgstr "Тип модели"
#: src/tables/general/ParameterTemplateTable.tsx:159
msgid "Filter by model type"
-msgstr ""
+msgstr "Фильтровать по типу модели"
#: src/tables/general/ParametricDataTable.tsx:79
msgid "Click to edit"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Уведомление"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Сообщение"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Требуемый запас"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Показать заказ на сборку"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Вы подписаны на получение уведомлений для этой категории"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Включая подкатегории"
@@ -10560,136 +10800,136 @@ msgstr "Показать ожидающие заказы"
msgid "Show received items"
msgstr "Показать полученные элементы"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Показать заказ на продажу"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Минимальный запас"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Показать детали с активным статусом"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Показать детали с заблокированным статусом"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Показать сборные детали"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr "Спецификация действительна"
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr "Фильтр по деталям с действительной спецификацией"
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Включить детали в подкатегориях"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Показать детали, которые могут быть компонентом для сборки"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Показать тестируемые детали"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Фильтр по отслеживаемому атрибуту"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Фильтр по деталям, в которых задана единица измерения"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Есть внутренний артикул"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Показать детали с заданным внутренним артикулом"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Есть запас"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Фильтр по деталям, имеющим запас"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Показать детали с низким складским запасом"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Можно закупать"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Показать детали, которые можно закупать"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Можно продавать"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Показать детали, которые можно продавать"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Показать виртуальные детали"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Не виртуальная"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Шаблон"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Показать шаблоны деталей"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Разновидности"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr "Показать детали, которые являются разновидностями"
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Является ревизией"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Фильтр по деталям, которые являются ревизиями"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Есть ревизии"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Фильтр по деталям, которые имеют ревизии"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Фильтр по деталям, которые имеют ценовую информацию"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Фильтр по деталям, которые имеют доступный запас"
@@ -10701,58 +10941,58 @@ msgstr "Фильтр по деталям, которые имеют доступ
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Показать детали, на которые пользователь подписан"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Импортировать детали"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr "Выбрать категорию"
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr "Выбрать категорию для выбранных деталей"
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Закупить выбранные детали"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Добавить детали"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Создать деталь"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Создать новую деталь"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr "Иморт деталей из файла"
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr "Импорт от поставщика"
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr "Импортировать детали из плагина поставщика"
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Добавить результат тестирования"
@@ -10774,7 +11014,7 @@ msgstr "Результаты теста добавлены"
msgid "No Result"
msgstr "Нет результатов"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Показать продукцию, находящуюся в производстве"
@@ -10859,7 +11099,15 @@ msgstr "Показать родительскую деталь"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Шаблоны нельзя редактировать, поскольку деталь заблокирована"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Выбрать"
@@ -10913,7 +11161,7 @@ msgstr "Редактировать список выбора"
msgid "Delete Selection List"
msgstr "Удалить список выбора"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Этап"
@@ -10943,7 +11191,7 @@ msgstr "Плагин"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Обязательно"
@@ -10973,68 +11221,68 @@ msgstr "Описание недоступно"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Подтвердите активацию плагина"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Подтвердите деактивацию плагина"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Выбранный плагин будет активирован"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Выбранный плагин будет деактивирован"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Выбранный плагин будет активирован"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Выбранный плагин будет деактивирован"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Деактивировать"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Активировать"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Активировать выбранный плагин"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Активировать"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Активировать выбранный плагин"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Обновить выбранный плагин"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Удалить"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Удалить выбранный плагин"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Удалить конфигурацию выбранного плагина"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Активировать плагин"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Плагин был активирован"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Плагин был деактивирован"
@@ -11042,20 +11290,20 @@ msgstr "Плагин был деактивирован"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Установить плагин"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Установить"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Плагин успешно установлен"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Удалить плагин"
@@ -11063,23 +11311,23 @@ msgstr "Удалить плагин"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Подтвердите удаление плагина"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Выбранный плагин будет удалён."
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Плагин успешно удалён"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Удалить плагин"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Удаление этого плагина приведет к удалению всех связанных настроек и данных. Вы уверены, что хотите удалить этот плагин?"
@@ -11087,11 +11335,11 @@ msgstr "Удаление этого плагина приведет к удал
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Плагины перезагружены"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Плагины были успешно перезагружены"
@@ -11103,7 +11351,7 @@ msgstr "Плагины были успешно перезагружены"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Перезагрузить плагины"
@@ -11115,7 +11363,7 @@ msgstr "Перезагрузить плагины"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Сведения о плагине"
@@ -11127,12 +11375,12 @@ msgstr "Сведения о плагине"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Пример"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Установлено"
@@ -11152,30 +11400,24 @@ msgstr "Установлено"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "Артикул производителя"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Активная деталь"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr "Показать части производителя для активных внутренних деталей."
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr "Активный производитель"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr "Показать части производителя для активных производителей."
@@ -11196,7 +11438,7 @@ msgstr "Показать части производителя для актив
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Импортировать позиции"
@@ -11204,15 +11446,15 @@ msgstr "Импортировать позиции"
msgid "Supplier Code"
msgstr "Код поставщика"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Ссылка поставщика"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Код производителя"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Показать полученные позиции"
@@ -11222,30 +11464,22 @@ msgstr "Показать полученные позиции"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Получить позицию"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Получить позиции"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Базовая единица измерения"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Создать деталь поставщика"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr "Импортировать деталь поставщика"
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr "Импортировать деталь поставщика"
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Создать деталь поставщика"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr "Импортировать деталь поставщика"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Показать активные детали поставщиков"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Показать активные детали"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Активный поставщик"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Показать активных поставщиков"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Показать детали поставщиков в наличии"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Дата получения"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Показать полученные элементы"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Фильтр по статусу строки"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Получить выбранные элементы"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Принять элемент"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Показать ожидающие распределения"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Назначить на доставку"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Показать распределения, назначенные отправке"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Доступное количество"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Зарезервированное количество"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Нет отправки"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Не отправлено"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Редактировать резервирование"
@@ -11333,16 +11579,16 @@ msgstr "Редактировать резервирование"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Показать доставку"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr "Назначить на доставку"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr "Назначить на доставку"
@@ -11350,31 +11596,35 @@ msgstr "Назначить на доставку"
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Выделить серийные номера"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Выделить серийные номера"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Показать строки, которые полностью распределены"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Показать завершённые строки"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Распределить серийные номера"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Собрать запас"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Заказать запас"
@@ -11386,78 +11636,82 @@ msgstr "Заказать запас"
msgid "Create Shipment"
msgstr "Создать отправку"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Элементы"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Редактировать отправку"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Отменить отправку"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Создать доставку"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr "Показать отправки, которые были проверены"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Показать отправки, которые были отправлены"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Показать отправки, которые были доставлены"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr "Создать токен"
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr "Токен создан"
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr "Отменен"
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr "Токен"
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr "В использовании"
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr "Последнее использование"
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr "Истекает"
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr "Показать отменённые токены"
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Отменить"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr "Ошибка при отмене токена"
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr "Токены показываются только один раз - обязательно запишите его."
@@ -11990,24 +12244,24 @@ msgstr "Пользователь успешно обновлён"
msgid "Error updating user"
msgstr "Ошибка обновления пользователя"
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Установить элемент"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Элемент установлен"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Удалить элемент"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Элемент удалён"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Удалить складской элемент"
@@ -12028,207 +12282,159 @@ msgstr "Удалить тип места хранения"
msgid "Icon"
msgstr "Значок"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Складская позиция в процессе производства"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Дата инвентаризации"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Складская позиция зарезервирована в заказе на продажу"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Показать запасы для активных деталей"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Складская позиция передана клиенту"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Показать запасы для собранных частей"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Складская позиция установлена в другой складской позиции"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Показать элементы, которые были распределены"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Складская позиция израсходована в заказе на сборку"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Показать доступные элементы"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Этот складской элемент недоступен"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Включая вложенные склады"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Этот складской элемент просрочен"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Включить запасы в подместоположениях"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Этот складской элемент устарел"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Исчерпан"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Складская позиция полностью зарезервирована"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Показать исчерпанные складские элементы"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Складская позиция частично зарезервирована"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Показать элементы, которые в производстве"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Этот складской элемент был израсходован"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Показать элементы, которые были израсходованы в заказе на сборку"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Показать складские элементы, установленные в другие элементы"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Отправлены покупателю"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Показать элементы, которые были отправлены покупателю"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Показать отслеживаемые элементы"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Есть цена закупки"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Показать элементы, у которых есть цена закупки"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Показать просроченные элементы"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Показать устаревшие элементы"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Срок годности раньше"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Показать элементы, срок годности которых истекает раньше указанной даты"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Срок годности позже"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Показать элементы, срок годности которых истекает позже указанной даты"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Показать элементы, которые обновлены раньше указанной даты"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Показать элементы, которые обновлены позже указанной даты"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Инвентаризация раньше"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Показать позиции с проведенной инвентаризацией раньше указанной даты"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Инвентаризация позже"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Показать позиции с проведенной инвентаризацией позже указанной даты"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Дата инвентаризации"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Сторонний склад"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Показать запасы для активных деталей"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Показать запасы для собранных частей"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Показать элементы, которые были распределены"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Показать доступные элементы"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Включая вложенные склады"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Включить запасы в подместоположениях"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Исчерпан"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Показать исчерпанные складские элементы"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Показать элементы, которые в производстве"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Показать элементы со стороннего склада"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Показать элементы, которые были израсходованы в заказе на сборку"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Показать складские элементы, установленные в другие элементы"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Отправлены покупателю"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Показать элементы, которые были отправлены покупателю"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Показать отслеживаемые элементы"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Есть цена закупки"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Показать элементы, у которых есть цена закупки"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Показать просроченные элементы"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Показать устаревшие элементы"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Срок годности раньше"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Показать элементы, срок годности которых истекает раньше указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Срок годности позже"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Показать элементы, срок годности которых истекает позже указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Обновлены раньше"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Показать элементы, которые обновлены раньше указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Обновлены позже"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Показать элементы, которые обновлены позже указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Инвентаризация раньше"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Показать позиции с проведенной инвентаризацией раньше указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Инвентаризация позже"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Показать позиции с проведенной инвентаризацией позже указанной даты"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Сторонний склад"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Показать элементы со стороннего склада"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr "Закупить детали"
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr "Закупить детали"
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Завершён"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Редактировать результаты теста"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Результаты теста обновлены"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Удалить результат теста"
@@ -12327,27 +12533,27 @@ msgstr "Не удалось записать результат теста"
msgid "Pass Test"
msgstr "Тест пройден"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Показать результаты обязательных тестов"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Включить установленные"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Показать результаты для установленных складских элементов"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Пройден"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Показать только пройденные тесты"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Показать результаты активных тестов"
@@ -12392,15 +12598,23 @@ msgstr "Задать вышестоящий склад"
msgid "Set parent location for the selected items"
msgstr "Задать вышестоящий склад для выбранных элементов"
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr "Старый статус"
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Добавлено"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Удалено"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr "Складская позиция не существует"
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Нет информации о пользователе"
diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po
index 30ad5c805c..c24eef18df 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po
index 2f6d4f9a98..c23203fdb8 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -22,12 +22,12 @@ msgstr ""
#: src/components/items/ActionDropdown.tsx:289
#: src/pages/Index/Scan.tsx:64
msgid "Duplicate"
-msgstr ""
+msgstr "Podvojeni"
#: lib/components/RowActions.tsx:46
#: src/components/items/ActionDropdown.tsx:245
msgid "Edit"
-msgstr ""
+msgstr "Uredi"
#: lib/components/RowActions.tsx:56
#: src/components/forms/ApiForm.tsx:754
@@ -35,95 +35,99 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
-msgstr ""
+msgstr "Izbriši"
#: lib/components/RowActions.tsx:66
#: src/components/details/DetailsImage.tsx:83
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
-msgstr ""
+msgstr "Prekliči"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
-msgstr ""
+msgstr "Dejanja"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
-msgstr ""
+msgstr "Išči"
#: lib/components/YesNoButton.tsx:20
msgid "Pass"
-msgstr ""
+msgstr "Uspešno"
#: lib/components/YesNoButton.tsx:21
msgid "Fail"
-msgstr ""
+msgstr "Neuspešno"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
-msgstr ""
+msgstr "Da"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
-msgstr ""
+msgstr "Del"
#: lib/enums/ModelInformation.tsx:30
#: lib/enums/Roles.tsx:35
@@ -134,9 +138,9 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
-msgstr ""
+msgstr "Deli"
#: lib/enums/ModelInformation.tsx:37
#: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:13
@@ -149,16 +153,16 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:39
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
-msgstr ""
+msgstr "Parametri"
#: lib/enums/ModelInformation.tsx:45
#: src/tables/part/PartCategoryTemplateTable.tsx:87
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
-msgstr ""
+msgstr "Kos dobavitelja"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
-msgstr ""
+msgstr "Kosi dobavitelja"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr "Odpri v nadzorni plošči"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopirano"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopiraj"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Printaj nalepko"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Printaj"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Printaj"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Tiskaj poročilo"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Dejanja tiskanja"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Tiskanje nalepk"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Tiskanje poročil"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po
index 0ddf451aee..fff644836f 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\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"
@@ -35,7 +35,7 @@ msgstr "Izmeni"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Obriši"
@@ -44,36 +44,36 @@ msgstr "Obriši"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Poništi"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Akcije"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Pretraga"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Neuspešno"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Da"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Ne"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Deo"
@@ -134,7 +138,7 @@ msgstr "Deo"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Delovi"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametri"
@@ -180,37 +184,37 @@ msgstr "Šabloni testiranja dela"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Deo nabavljača"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Delovi nabavljača"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Deo proizvođača"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Delovi proizvođača"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Kategorija delova"
@@ -218,19 +222,22 @@ msgstr "Kategorija delova"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Kategorije delova"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Stavka zalihe"
@@ -238,22 +245,22 @@ msgstr "Stavka zalihe"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Stavke zaliha"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Lokacija zaliha"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Lokacije zaliha"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Tipovi lokacija zaliha"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Istorija zaliha"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Stavke izgradnje"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Kompanije"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Kod projketa"
@@ -330,21 +337,21 @@ msgstr "Kodovi projekta"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Narudžbenica"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Narudžbenice"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Linije narudžbenica"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Nalog za prodaju"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Naloti za prodaju"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Pošiljka"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Pošiljke"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Nalog za povrat"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Nalozi za povrat"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adresa"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adrese"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakti"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Vlasnik"
@@ -451,15 +458,15 @@ msgstr "Vlasnici"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Korisnik"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Šabloni za izveštaje"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Konfigurisanje ekstenzija"
@@ -543,31 +550,31 @@ msgstr "Liste selekcija"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Nalozi za izradu"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Greška u renderovanju komponente"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Desila se greška prilikom renderovanja ovde komponente. Pogledajte konzolu za više informacija"
@@ -637,7 +648,7 @@ msgstr "Barkod"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Skeniraj"
@@ -668,8 +679,8 @@ msgstr "Unesi podatke bar koda"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Skeniraj barkod"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Uspešno"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr "Greška pri povezivanju bar koda"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Linkuj"
@@ -754,7 +765,7 @@ msgstr "Ovo će ukloniti link sa povezanim barkodom"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Prekini vezu Barkoda"
@@ -766,11 +777,11 @@ msgstr "Otvori u administratorskom interfejsu"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Iskopirano"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopiraj"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Štampaj naziv"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Štampaj"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Štampaj"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Greška u štampanju"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Opcije štampanja"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Štampaj nazive"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Štampaj izveštaje"
@@ -860,8 +867,8 @@ msgstr "Bićete preusmereni provajderu za dodatne akcije"
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Otvori barkod skener"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Kasni"
@@ -937,7 +949,7 @@ msgstr "Prihvati izgled plana"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr "Vidžeti nisu dostupni"
msgid "There are no more widgets available for the dashboard"
msgstr "Više nema dostupnih vidžeta za kontrolnu tablu"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Pretplaćeni delovi"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr "Prikaži broj delova koji ste pretplatili"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Pretplaćene kategorije"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr "Prikaži broj kategorija koji ste pretplatili"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Niske zalihe"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr "Prikaži broj delova kojih ima malo u zalihama"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Potrebno za narudžbine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr "Prikaži delove koji su potrebni za aktivne narudžbine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr "Predmeti sa isteklim zalihama"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr "Prikaži broj predmeta u zalihama koji su istekli"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr "Predmeti sa ustajalim zalihama"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr "Prikaži broj predmeta u zalihama koji su ustajali"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Aktivne narudžbine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr "Prikaži broj narudžbina koje su trenutno aktivne"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Istekle narudžbine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr "Prikaži broj narudžbina koje su istekle"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Dodeljene narudžbine"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr "Prikaži broj narudžbina koje su vama dodeljene"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Aktivni nalozi za prodaju"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr "Prikaži broj trenutno aktivnih naloga za prodaju"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Istekli nalozi za prodaju"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr "Prikaži broj naloga za prodaju koji su istekli"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr "Dodeljeni nalozi za prodaju"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr "Prikaži broj naloga za prodaju koji su vama dodeljeni"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr "Aktivne narudžbenice"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Prikaži broj aktivnih narudžbenica"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Istekle narudžbenice"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr "Prikaži broj isteklih narudžbenica"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr "Dodeljene narudžbenice"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Prikaži broj dodeljenih narudžbenica"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr "Aktivni nalozi za povrat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr "Prikaži broj aktivnih naloga za povrat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Istekli nalozi za povrat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr "Prikaži broj isteklih naloga za povrat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr "Dodeljeni nalozi za povrat"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr "Prikaži broj naloga za povrat koji su dodeljeni vama"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Početak"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Početak sa InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Novosti"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "Najnovije vesti sa InvenTree"
@@ -1200,11 +1212,34 @@ msgstr "Nema novosti"
msgid "There are no unread news items"
msgstr "Nema nepročitanih novosti"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr "Nema nepročitanih novosti"
msgid "Superuser"
msgstr "Superkorisnik"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Osoblje"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Nije definisano ime"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Ukloniti sliku sa ovog predmeta?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Ukloni"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Prevuci i otpusti da bi se učitalo"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klikni za odabir fajlova"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Slika dodata"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr "Slika je uspešno dodata"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Greška prilikom dodavanja"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Obriši"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Podnesi"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Izaberi od postojećih slika"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Izaberi sliku"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr "Preuzmi sliku sa druge lokacije"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Učitaj novu sliku"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Učitaj sliku"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Obriši sliku"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Preuzmi sliku"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr "Slika preuzeta uspešno"
@@ -1546,7 +1589,7 @@ msgstr "Postoje greške na jednom ili više polja na obrascu"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Obnovi"
@@ -1579,21 +1622,21 @@ msgstr "Uspešno prijavljivanje"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Neuspešna prijava"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Proverite svoj unos i pokušajte ponovno."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "Isporuka pošte uspešna"
@@ -1628,7 +1671,7 @@ msgstr "Vaše korisničko ime"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Lozinka"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Ponovite lozinku"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registruj"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Host"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API Verzija"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Ekstenzije"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Omogućeno"
@@ -1850,7 +1898,7 @@ msgstr "Zaustavljeno"
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Nepoznato"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Pretraži…"
@@ -1890,13 +1938,13 @@ msgstr "Izaberi pakovanje"
msgid "{0} icons"
msgstr "{0} ikone"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Učitavanje"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Nema pronađenih rezultata"
@@ -1940,49 +1988,49 @@ msgstr "Izmeni podatke"
msgid "Delete Row"
msgstr "Izbriši red"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Red"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Red ima greške"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Prihvati"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Validiraj"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtriraj prema validacionom statusu reda"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Završi"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtriraj prema validacionom statusu reda"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Učitaj izabrane redove"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Obrađivanje podataka"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Desila se greška"
@@ -2002,31 +2050,31 @@ msgstr "Izaberi kolonu, ili ostavi prazno da se polje ne koristi"
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignoriši ovo polje"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mapiranje kolona podataka u polja baze podataka"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Prihvati mapiranje kolona"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Polje baze podataka"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Opis polja"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Uvežena kolona"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Podrazmevana vrednost"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mapiraj kolone"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Učitaj podatke"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Podaci su učitani uspešno"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Zatvori"
@@ -2104,8 +2152,8 @@ msgstr "Opcije"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Akcije Barkoda"
@@ -2177,10 +2225,15 @@ msgstr "Nepoznata greška"
msgid "None"
msgstr "Nema"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree Logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Ažurirano"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Dodaj"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Dostupno"
@@ -2320,7 +2374,7 @@ msgstr "Linkovi"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentacija"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Obaveštenja"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Ništa nije pronađeno….."
@@ -2547,7 +2601,7 @@ msgstr "Podešavanje"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Korisnička podešavanja"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Sistemska podešavanja"
@@ -2578,14 +2632,14 @@ msgstr "Sistemska podešavanja"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Administratorski centar"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Odjavljivanje"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Zalihe"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr "Proizvodnja"
@@ -2636,21 +2690,21 @@ msgstr "Proizvodnja"
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Kupovina"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Prodaja"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Dobavljači"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Proizvođači"
@@ -2768,21 +2822,21 @@ msgstr "Željena pretraga nema rezultata"
msgid "Attachments"
msgstr "Prilozi"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Beleške"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr "Informacije o ekstenziji"
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr "Autor"
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Datum"
@@ -2845,48 +2899,54 @@ msgstr "Datum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktivno"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Web sajt"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Ime paketa"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr "Putanja instalacije"
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Već ugrađeno"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paket"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr "Podešavanje ekstenzija"
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Pošiljka"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Neaktivno"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtualan"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Nema zalihe"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "Na nalogu"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "U produkciji"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detalji"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategorija"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Lokacija"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Serijski broj"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Količina"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr "Serija"
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Izmeni podešavanja"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Podešavanje ažurirano"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Podešavanje {0} uspešno ažurirano"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Greška prilikom izmene podešavanja"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Podešavanje nije izabrano"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Dobavljač"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Učitavanje"
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Izmeni deo"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr "U zalihama"
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr "Potrebna količina"
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr "Novi deo dobavljača"
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr "Deo dobavljača kreiran"
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr "Molimo ispravite greške u izabranim delovima"
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr "Naruči delove"
@@ -4038,77 +4104,89 @@ msgstr "Naruči delove"
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Idi na InvenTree kontrolnu tablu"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Posetite stranicu sa dokumentacijom da saznate više o InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "O InvenTree organizaciji"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Informacije o serveru"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr "O ovoj InvenTree instanci"
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Informacije o licenci"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licence za servise"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Otvori stranicu za navigaciju"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Otvori glavni navigacioni meni"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr "Skeniraj bar kod ili QR kod"
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr "Skeniraj bar kod ili QR kod"
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr "Idi na administratorski centar"
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr "O InvenTree Projektu"
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr "Izlazna kompilacija"
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Kompletiraj izlaznu kompilaciju"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Izlazne kompilacije kompletirane"
@@ -4428,143 +4506,133 @@ msgstr "Izlazne kompilacije kompletirane"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Izbrišii izlaznu kompilaciju"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Izlazna kompilacija izbriši"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Izlazna kompilacija izbriši"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Poništi izlazne kompilacije"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Izlazne kompilacije poništene"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "Identifikacioni broj dela"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Alocirano"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr "Lokacija izvora"
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr "Izaberi lokaciju izvora radi alokacije zaliha"
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr "Alociraj zalihe"
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr "Stavke zaliha alocirane"
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr "Iskorišćeno"
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr "Pretplaćeni"
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr "Pretplati se za obaveštenja o ovom delu"
@@ -4593,11 +4661,11 @@ msgstr "Pretplati se za obaveštenja o ovom delu"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Kategorija sa delovima veće kategorije"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr "Pretplati se za obaveštenja za ovu kategoriju"
@@ -4605,67 +4673,71 @@ msgstr "Pretplati se za obaveštenja za ovu kategoriju"
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr "Dodeli kod serije i serijski broj"
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Dodeli kod serije"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Izaberi lokaciju"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr "Destinacije stavke odabrana"
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr "Podrazmevana lokacija kategorije dela izabrana"
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr "Primljena lokacija zaliha selektovana"
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr "Podrazumevana lokacija izabrana"
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr "Podesi lokaciju"
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Dodeli kod serije"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr "Doradi pakovanje"
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr "Doradi pakovanje"
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Promeni status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Dodaj belešku"
@@ -4673,56 +4745,56 @@ msgstr "Dodaj belešku"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr "Prodavnica na podrazumevanoj lokaciji"
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr "Prodavnica sa već primeljenom zalihom"
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Kod serije"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr "Unesi kod serije za primljene stavke"
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Serijski brojevi"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr "Unesi serijske brojeve za primljene stavke"
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr "Datum isteka"
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr "Pakovanje"
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr "Beleška"
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "Jedinica za praćenje zaliha"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr "Primljeno"
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr "Primi linijske stavke"
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr "Primi stavke"
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr "Stavka primljena u zalihe"
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr "Završi isporuku"
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr "Dodaj primljenu količinu kao pakovanje umesto kao individualnu stavku"
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr "Unesi početnu količinu za ovu stavku zalihe"
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Unesi serijske brojeve za novu zalihu (ili ostavi nepopunjeno)"
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr "Status zalihe"
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr "Dodaj stavku zalihe"
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr "Izaberi deo za instalaciju"
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr "Potvrdi transfer zalihe"
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr "Premesti na podrazumevanu lokaciju"
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Premesti"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr "Vrati"
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr "Računaj"
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr "Dodaj zalihu"
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr "Zaliha dodata"
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr "Ukloni zalihu"
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr "Zaliha uklonjena"
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr "Prebaci zalihu"
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr "Zaliha prebačena"
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr "Prebroj zalihe"
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr "Zaliha prebrojena"
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr "Promeni status zalihe"
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr "Status zalihe izmenjen"
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Spoji zalihe"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr "Zalihe spojene"
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr "Dodeli zalihu mušteriji"
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr "Zaliha dodeljena mušteriji"
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Izbriši stavku zalihe"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr "Zaliha izbrisana"
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Lokacija roditeljske zalihe"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr "Lista unosa koje možete izabrati"
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr "Interna serverska greška"
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Odjavljen"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Odjavljen"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Uspešno ste odjavljeni"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Proverite u primljenoj pošti da li imate link za resetovanje. Proverite i u spamu"
-#: src/functions/auth.tsx:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Resetovanje neuspešno"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Ulogovani ste"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Uspešno ste se ulogovali"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Lozinka podešena"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Lozinka je uspešno podešena. Sada se možete prijaviti sa novom lozinkom"
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr "Lozinku nije bilo moguće promeniti"
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Lozinka promenjena"
@@ -5210,23 +5320,14 @@ msgstr "Isteklo je vreme zahteva"
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Stavka kreirana"
@@ -5255,52 +5356,56 @@ msgstr "Da li ste sigurni da želite da izbrišete ovu stavku"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Akcije zaliha"
@@ -5357,15 +5462,15 @@ msgstr "Nema selekcije"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Prijavljivanje"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Da li imate otvoren korisnički nalog?"
@@ -5383,12 +5488,12 @@ msgstr "Da li imate otvoren korisnički nalog?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Nije omogućeno"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Nije omogućeno"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "Vremenska oznaka"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr "Sledeća adresa elektronske pošte povezana sa vašim nalogom"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primarni"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr "Verifikovan"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr "Nije verifikovan"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Učini ga primarnim"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr "Ponovo pošalji verifikaciju"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "dodaj adresu elektronske pošte"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E pošta"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "Adresa elektronske pošte"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "dodaj adresu elektronske pošte"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E pošta"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "Adresa elektronske pošte"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Dodaj adresu elektronske pošte"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Dodaj adresu elektronske pošte"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr "Tačkasto"
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuta"
@@ -6685,30 +6791,34 @@ msgstr "Dodaj modelu"
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Pozadinski proces ne radi"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
-msgstr "Servis za upravljanje pozadinskim zadacima nije aktivan. Kontaktirajte sistem administratora."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
+msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
#~ msgid "Background Worker Not Running"
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Pozadinski proces ne radi"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr "Servis za upravljanje pozadinskim zadacima nije aktivan. Kontaktirajte sistem administratora."
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr "Zadaci koji treba da se izvrše"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr "Zakazani zadaci"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Neuspeli zadaci"
@@ -6805,6 +6915,16 @@ msgstr "Cene"
msgid "Labels"
msgstr "Oznake"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr "Praćenje zaliha"
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr "Revizija"
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr "Revizija"
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr "Revizija"
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr "Revizija"
msgid "Custom Status"
msgstr "Prilagođeni status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Spoljno"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referenca"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Nadređeni nalog"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Količina naloga"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Može da se sastavi"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Završeni nalozi"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Izdat od strane"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Odgovoran"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Bilo koja lokacija"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Destinaciona lokacija"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Kreirano"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Ciljani datum"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Destinaciona lokacija"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Kreirano"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Ciljani datum"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Završeno"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Detalji naloga"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Alocirano zaliha"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Potrošeno zaliha"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Nepotpuni nalozi"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Pod-nalozi za izradu"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Rezultati testa"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Izmeni nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Dodaj nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Otkaži nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Nalog otkazan"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Otkaži ovaj nalog"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr "Zadrži nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Stavi ovaj nalog na čekanje"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Nalog stavljen na čekanje"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Izdaj nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Izdaj ovaj nalog"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Nalog izdat"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Završi nalog za izradu"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Označi ovaj nalog kao završen"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Nalog završen"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Izdaj nalog"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Završi nalog"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Akcije naloga za izradu"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Izmeni nalog"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Dupliraj nalog"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Zadrži nalog"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Otkaži nalog"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr "Nalog za izradu"
@@ -7207,7 +7327,7 @@ msgstr "Nalog za izradu"
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Web sajt"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Broj telefona"
@@ -7271,11 +7389,11 @@ msgstr "Podrazumevana valuta"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Proizvođač"
@@ -7284,15 +7402,15 @@ msgstr "Proizvođač"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Mušterija"
@@ -7320,16 +7438,16 @@ msgstr "Proizvedeni delovi"
msgid "Assigned Stock"
msgstr "Dodeljene zalihe"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Izmeni firmu"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Obriši firmu"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr "Akcije firme"
@@ -7349,7 +7467,7 @@ msgstr "Spoljni link"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Detalji dela"
@@ -7363,28 +7481,28 @@ msgstr "Detalji dela proizvođača"
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr "Primljene zalihe"
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr "Izmeni deo proizvođača"
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr "Dodaj deo proizvođača"
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr "Obriši deo proizvođača"
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr "Akcija dela proizvođača"
@@ -7401,7 +7519,7 @@ msgstr "Opis dela"
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr "Količina pakovanja"
@@ -7427,28 +7545,28 @@ msgstr "Detalji dela dobavljača"
msgid "Supplier Pricing"
msgstr "Cene dobavljača"
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr "Akcije dela dobavljača"
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr "Izmeni deo dobavljača"
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr "Obriši deo dobavljača"
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr "Dodaj deo dobavljača"
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Nema zaliha"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Podkategorije"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr "Premesti stavke u nadređenu kategoriju"
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Obriši stavke"
@@ -7577,60 +7695,64 @@ msgstr "Detalji kategorije"
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Dodela naloga za izradu"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Dodela prodajnih naloga"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr "Validiraj spisak materijala"
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr "Da li želite da validirate spisak materijala za ovaj sklop?"
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Varijanta od"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr "Revizija od"
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr "Podrazumevana lokacija"
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr "Podrazumevana lokacija kategorije"
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Merne jedinice"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr "Podrazumevana lokacija kategorije"
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Merne jedinice"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Ključne reči"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Dostupne zalihe"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "Na nalogu"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr "Potrebno za naloge"
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr "Dodeljeno nalozima za izradu"
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr "Dodeljeno prodajnim nalozima"
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr "Minimum zaliha"
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr "Minimum zaliha"
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Zaključano"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Šablonski de"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Sastavljeni deo"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Komponenta"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Deo može da se testira"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Deo može da se prati"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Deo može da se kupi"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Deo može da se proda"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtualni deo"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Datum kreiranja"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Kreirano od strane"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Podrazumevani dobavljač"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Raspon cena"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr "Najnoviji serijski broj"
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Izaberite reviziju dela"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varijante"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Alokacije"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Spisak materijala"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Korišćeno u"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Cena dela"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Test šabloni"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Povezani delovi"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr "Deo je zaključan"
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr "Parametri dela ne mogu da se izmene, deo je zaključan"
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr "Deo je zaključan"
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr "Parametri dela ne mogu da se izmene, deo je zaključan"
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr "Neophodno"
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Dodaj deo"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Obriši deo"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Brisanje ovog dela se ne može poništiti"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr "Nalog"
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr "Naruči zalihe"
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Akcije dela"
@@ -7968,35 +8090,46 @@ msgstr "Istorija prodaje"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr "Izmeni unos popisa zaliha"
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr "Obriši unos popisa zaliha"
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr "Vrednost zaliha"
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr "Minimalna vrednost"
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr "Maksimalna vrednost"
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr "Maksimalna vrednost"
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Ukupna cena"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponenta"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr "Minimalna cena"
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr "Maksimalna cena"
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr "Cena po jedinici"
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Pie dijagram"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Bar grafikon"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr "Cena nabavke"
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Poslednji put ažurirano"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr "Izmeni nalog za kupovinu"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr "Dodaj nalog za kupovinu"
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr "Završene stavke narudžbine"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr "Odredište"
@@ -8275,60 +8411,60 @@ msgstr "Datum izdavanja"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr "Datum završetka"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr "Detalji narudžbine"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Stavke"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr "Dodatne stavke"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr "Izdaj nalog za kupovinu"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr "Otkaži nalog za kupovinu"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr "Zadrži nalog za kupovinu"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr "Završi nalog za kupovinu"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr "Akcije narudžbine"
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr "Referenca mušterije"
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr "Izmeni reklamaciju"
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr "Dodaj reklamaciju"
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr "Izdaj reklamaciju"
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr "Otkaži reklamaciju"
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr "Zadrži reklamaciju"
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Završi reklamaciju"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Završene isporuke"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Izmeni prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Dodaj prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Isporuke"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr "Izdaj prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Otkaži prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Zadrži prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr "Isporuči nalog za prodaju"
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr "Isporuči ovaj nalog?"
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr "Nalog isporučen"
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Završi prodajnu narudžbinu"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Naruči pošiljku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr "Referenca pošiljke"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr "Broj za praćenje"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Broj narudžbenice"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr "Alocirane stavke"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Datum isporuke"
@@ -8464,173 +8600,167 @@ msgstr "Datum isporuke"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Datum dostave"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr "Detalji isporukue"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr "Izmeni isporuku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr "Otkaži isporuku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr "Završi isporuku"
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Na čekanju"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr "Poslato"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Isporučeno"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr "Pošalji isporuku"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr "Akcije isporuke"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Nadređena lokacija"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Podlokacije"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Tip lokacije"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Lokacija zaliha najvišeg nivoa"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Detalji lokacije"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Podrazumevani delovi"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Izmeni lokaciju zaliha"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr "Pomeri stavku na roditeljsku lokaciju"
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Obriši lokaciju zaliha"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr "Akcija stavki"
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr "Akcija za stavke na ovoj lokaciji"
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Izmeni lokaciju zaliha"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr "Pomeri stavku na roditeljsku lokaciju"
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Obriši lokaciju zaliha"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr "Akcija stavki"
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
+msgstr "Akcija za stavke na ovoj lokaciji"
+
+#: src/pages/stock/LocationDetail.tsx:280
msgid "Locations Action"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
+#: src/pages/stock/LocationDetail.tsx:282
msgid "Action for child locations in this location"
msgstr "Akcija za lokacije podređene ovoj"
-#: src/pages/stock/LocationDetail.tsx:280
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Akcije lokacija"
@@ -8703,10 +8833,6 @@ msgstr "Poslednji popis"
msgid "Stock Details"
msgstr "Detalji zaliha"
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr "Praćenje zaliha"
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr "Instalirane stavke"
msgid "Child Items"
msgstr "Podstavke"
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr "Izmeni stavku"
@@ -8738,15 +8864,15 @@ msgstr "Izmeni stavku"
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr "Obriši stavku"
@@ -8758,7 +8884,7 @@ msgstr "Obriši stavku"
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr "Serijalizuj stavku"
@@ -8766,24 +8892,23 @@ msgstr "Serijalizuj stavku"
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr "Stavka serijalizovana"
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr "Operacije nad zalihama"
@@ -8791,12 +8916,12 @@ msgstr "Operacije nad zalihama"
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr "Serijalizuj"
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr "Serijalizuj zalihe"
@@ -8804,7 +8929,7 @@ msgstr "Serijalizuj zalihe"
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr "Akcije stavki"
@@ -8820,17 +8945,17 @@ msgstr "Akcije stavki"
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr "Zastarelo"
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr "Isteklo"
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Nedostupno"
@@ -8855,6 +8980,72 @@ msgstr "Pretplaćeni ste na obaveštenja vezano za ovaj deo"
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr "Ova stavka je u produkciji"
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr "Ova stavka je dodeljena narudžbenici"
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr "Ova stavka je dodeljena mušteriji"
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr "Ova stavka je instalirana u drugu stavku"
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr "Ova stavka je iskorišćena od strane proizvodnog naloga"
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr "Ova stavka nije na stanju"
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr "Ovoj stavki je istekao rok trajanja"
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr "Ova stavka je zastarela"
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr "Ova stavka je potpuno alocirana"
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr "Ova stavka je delimično alocirana"
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr "Nema dostupnih zaliha"
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr "Ova stavka je potrošena"
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr "Informacije o zalihama"
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr "Alocirane linije"
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Izaberi kolone"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr "Ima šifru serije"
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr "Prikaži stavke koje imaju serijski broj"
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr "Filtriraj stavke prema šifri serije"
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr "Prikaži stavke koje su na zalihama"
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr "Serijski"
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr "Prikaži stavke koje imaju serijski broj"
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
+#: src/tables/Filter.tsx:117
+msgid "Has Batch Code"
+msgstr "Ima šifru serije"
+
+#: src/tables/Filter.tsx:118
+msgid "Show items which have a batch code"
+msgstr "Prikaži stavke koje imaju serijski broj"
+
+#: src/tables/Filter.tsx:126
+msgid "Filter items by batch code"
+msgstr "Filtriraj stavke prema šifri serije"
+
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
+msgstr "Prikaži stavke koje su na zalihama"
+
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
+msgstr "Serijski"
+
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
+msgstr "Prikaži stavke koje imaju serijski broj"
+
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:109
+#: src/tables/Filter.tsx:151
msgid "Filter items by serial number"
msgstr "Filtriraj stavke po serijskom broju"
-#: src/tables/Filter.tsx:117
+#: src/tables/Filter.tsx:159
msgid "Serial Below"
msgstr ""
-#: src/tables/Filter.tsx:118
+#: src/tables/Filter.tsx:160
msgid "Show items with serial numbers less than or equal to a given value"
msgstr "Prikaži stavke sa serijskim brojem manjim ili jednakim od zadate vrednosti"
-#: src/tables/Filter.tsx:126
+#: src/tables/Filter.tsx:168
msgid "Serial Above"
msgstr ""
-#: src/tables/Filter.tsx:127
+#: src/tables/Filter.tsx:169
msgid "Show items with serial numbers greater than or equal to a given value"
msgstr "Prikaži stavke sa serijskim brojem većim ili jednakim od zadate vrednosti"
-#: src/tables/Filter.tsx:136
+#: src/tables/Filter.tsx:178
msgid "Assigned to me"
msgstr "Dodeljeno meni"
-#: src/tables/Filter.tsx:137
+#: src/tables/Filter.tsx:179
msgid "Show orders assigned to me"
msgstr "Prikaži naloge dodeljene meni"
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
msgid "Outstanding"
msgstr "Neizvršeno"
-#: src/tables/Filter.tsx:145
+#: src/tables/Filter.tsx:187
msgid "Show outstanding items"
msgstr "Prikaži neizvršene stavke"
-#: src/tables/Filter.tsx:153
+#: src/tables/Filter.tsx:195
msgid "Show overdue items"
msgstr "Prikaži stavke koje kasne"
-#: src/tables/Filter.tsx:160
+#: src/tables/Filter.tsx:202
msgid "Minimum Date"
msgstr "Minimalni datum"
-#: src/tables/Filter.tsx:161
+#: src/tables/Filter.tsx:203
msgid "Show items after this date"
msgstr "Prikaži stavke nakon ovog datuma"
-#: src/tables/Filter.tsx:169
+#: src/tables/Filter.tsx:211
msgid "Maximum Date"
msgstr "Maksimalni datum"
-#: src/tables/Filter.tsx:170
+#: src/tables/Filter.tsx:212
msgid "Show items before this date"
msgstr "Prikaži stavke pre ovog datuma"
-#: src/tables/Filter.tsx:178
+#: src/tables/Filter.tsx:220
msgid "Created Before"
msgstr "Kreirano pre"
-#: src/tables/Filter.tsx:179
+#: src/tables/Filter.tsx:221
msgid "Show items created before this date"
msgstr "Prikaži stavke kreirane pre ovog datuma"
-#: src/tables/Filter.tsx:187
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Kreirano nakon"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr "Prikaži stavke kreirane nakon ovog datuma"
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr "Krajnji datum pre"
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr "Prikaži stavke sa krajnjim datum pre ovog datuma"
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr "Krajnji datum nakon"
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr "Prikaži stavke sa krajnjim datumom nakon ovog datuma"
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr "Završeno pre"
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr "Prikaži stavke završene pre ovog datuma"
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr "Završeno nakon"
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr "Prikaži stavke završene nakon ovog datuma"
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr "Ažurirano nakon"
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Ažurirano pre"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr "Ima šifru projekta"
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr "Prikaži narudžbine sa dodeljenom šifrom projekta"
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr "Uključi varijante"
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr "Filtriraj po statusu narudžbine"
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr "Filtriraj po šifri projekta"
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr "Filtriraj po odgovornom vlasniku"
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtriraj po korisniku"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr "Filtriraj po korisniku koji je kreirao nalog"
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Ukloni filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Izaberi vrednost za fliter"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr "Unesi vrednost filtera"
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Izaberi vrednost datuma"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Izaberi filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr "Filteri tabele"
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Dodaj filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Očisti filtere"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Nema pronađenih zapisa"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr "Server je vratio neispravan tip podataka"
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr "Server je vratio neispravan tip podataka"
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr "Server je vratio neispravan tip podataka"
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr "Obriši izabrane stavke"
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr "Da li ste sigurni da želite da obrišete ove izabrane stavke?"
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr "Ova akcija se ne može poništiti"
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr "Prilagođeni filteri tabele su aktivni"
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr "Obriši izabrane zapise"
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Osveži podatke"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr "Ova stavka sa spiska materijala je definisana za drugu roditeljsku komponentu"
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr "Informacije o delu"
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr "Spoljne zalihe"
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr "Uključuje zamenske zalihe"
#: src/tables/bom/BomTable.tsx:331
-#~ msgid "Edit Bom Item"
-#~ msgstr "Edit Bom Item"
-
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
msgid "Includes variant stock"
msgstr "Uključuje zalihe varijanti"
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Izgradnja"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Izgradnja"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr "Informacije o zalihama"
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr "Potrošna stavka"
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr "Nema dostupnih zaliha"
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr "Prikaži stavke koje mogu da se testiraju"
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr "Prikaži stavke koje mogu da se prate"
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktivan deo"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr "Prikaži sklopljene stavke"
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr "Prikaži stavke sa dostupnim zalihama"
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr "Prikaži stavke na nalogu"
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validirano"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr "Prikaži validirane stavke"
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Nasleđeno"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr "Prikaži nasleđene stavke"
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Dozvoli varijante"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr "Prikaži stavke koje dozvoljavaju zamenu varijanti"
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr "Opciono"
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr "Prikaži opcione stavke"
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr "Potrošno"
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr "Prikaži potrošne stavke"
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr "Ima cenu"
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr "Prikaži stavke sa cenama"
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr "Uvezi spisak materijala"
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr "Dodaj stavku na spisak materijala"
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr "Stavka sa spiska materijala kreirana"
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr "Izmeni stavku sa spiska materijala"
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr "Stavka sa spiska materijala ažurirana"
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr "Obriši stavku sa spiska materijala"
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr "Stavka sa spiska materijala obrisana"
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr "Stavka sa spiska materijala validirana"
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr "Greška pri validaciji stavke sa spiska materijala"
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Pogledaj spisak materijala"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr "Validiraj stavku sa spiska materijala"
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr "Izmeni zamene"
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr "Spisak materijala ne može da se menja, deo je zaključan"
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Sklop"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr "Prikaži aktivne sklopove"
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Može da se prati"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr "Prikaži sklopove koji mogu da se prate"
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr "Alocirano za izlaz"
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr "Prikaži stavke alocirane nalogu za izradu"
@@ -9538,17 +9754,17 @@ msgstr "Prikaži stavke alocirane nalogu za izradu"
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr "Status narudžbenice"
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr "Izmeni alokaciju zaliha"
@@ -9561,8 +9777,8 @@ msgstr "Izmeni alokaciju zaliha"
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr "Pogledaj stavku"
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
+msgid "Show items with sufficient available stock"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:204
msgid "Show consumable lines"
msgstr "Prikaži potrošne stavke"
-#: src/tables/build/BuildLineTable.tsx:204
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr "Prikaži opcione stavke"
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Moguće testirate"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr "Praćeno"
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr "Prikaži praćene stavke"
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr "U produkciji"
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr "Nedovoljno zaliha"
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr "Nema dostupnih zaliha"
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr "Biva nasleđeno"
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr "Količina po jedinici"
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr "Kreiraj nalog za izradu"
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
-msgstr "Automatska alokacija u toku"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr "Automatski alociraj zalihe"
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
-msgstr "Automatski alociraj zalihe ovom nalogu prema izabranim opcijama"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
+msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr "Dealociraj zalihe"
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr "Dealociraj sve nepraćene zalihe sa ovog naloga za izradu"
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr "Dealociraj zalihe sa odabrane stavke"
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr "Zalihe su dealocirane"
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr "Kreiraj zalihe"
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Pogledaj deo"
@@ -9756,31 +9992,31 @@ msgstr "Pogledaj deo"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr "Alokacija zaliha na nalog za izradu"
@@ -9796,103 +10032,107 @@ msgstr "Alokacija zaliha na nalog za izradu"
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr "Dodaj nalog za izradu"
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr "Dodaj nalog za izradu"
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr "Izmeni nalog za izradu"
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr "Ova akcija će dealocirate sve zalihe sa izabranog naloga za izradu"
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr "Filtriraj po statusu zaliha"
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Kompletiraj izabrane naloge"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Odbaci izabrane naloge"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Otkaži izabrane naloge"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Alociraj"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr "Alociraj zalihe na nalog za izradu"
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Odbaci izabrane naloge"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Otkaži izabrane naloge"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Alociraj"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr "Alociraj zalihe na nalog za izradu"
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr "Dealociraj"
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr "Dealokacija zaliha sa naloga za izradu"
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr "Završi nalog za izradu"
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr "Odbaci"
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr "Odbaci nalog za izradu"
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr "Otkaži nalog za izradu"
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr "Alocirane linije"
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr "Potrebni testovi"
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Obriši adresu"
msgid "Are you sure you want to delete this address?"
msgstr "Da li ste sigurni da želite da obrišete ovu adresu?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Dodaj firmu"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Dodaj firmu"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr "Prikaži aktivne firme"
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr "Prikaži firme koje su dobavljači"
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr "Prikaži firme koje su proizvođači"
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr "Prikaži firme koje su mušterije"
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr "Pogledaj stavku"
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr "Dodaj stavku"
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr "Izmeni stavku"
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr "Obriši stavku"
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Dodaj parametar"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Izmeni parametar"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr "Prikaži šablone sa izborima"
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Ima merne jedinice"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Obaveštenje"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Poruka"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr "Potrebne zalihe"
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr "Prikaži nalog za izradu"
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr "Pretplaćen si na obaveštenja za ovu kategoriju"
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Uključi podkategorije"
@@ -10560,136 +10800,136 @@ msgstr "Prikaži neobrađene narudžbine"
msgid "Show received items"
msgstr "Prikaži primljene stavke"
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr "Prikaži narudžbenicu"
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr "Minimalne zalihe"
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtriraj po statusu aktivnog dela"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr "Filtriraj po statusu zaključavanja dela"
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtriraj po atributu sklopa"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Uključi delove u podkategorije"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtriraj po atributu komponente"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr "Filtriraj po atributu koji može da se testira"
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtriraj po atributu za praćenje"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtriraj delove koji imaju merne jedinice"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Ima interni broj dela"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtriraj delove koji imaju interni broj dela"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "Ima zalihe"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtriraj delove koji imaju zalihe"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtriraj delove koji imaju niske zalihe"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Može da se kupi"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtriraj delove koji mogu da se kupe"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Može da se proda"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtriraj delove koji mogu da se prodaju"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtriraj delove koji su virtualni"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Nije virtualni"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Je šablon"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr "Filtriraj delove koji su šabloni"
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr "Je revizija"
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr "Filtriraj delove koji su revizije"
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr "Ima revizije"
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr "Filtriraj delove koji imaju revizije"
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr "Filtriraj delove koji imaju informaciju o ceni"
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr "Filtriraj delove koji imaju dostupne zalihe"
@@ -10701,58 +10941,58 @@ msgstr "Filtriraj delove koji imaju dostupne zalihe"
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr "Filtriraj delove na koje je korisnik pretplaćen"
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr "Naruči izabrane delove"
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr "Dodaj test rezultat"
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr "Nema rezultata"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Prikaži naloge za izradu koji su u produkciji"
@@ -10859,7 +11099,15 @@ msgstr "Prikaži nadređeni deo"
msgid "Part templates cannot be edited, as the part is locked"
msgstr "Šabloni delova ne mogu biti izmenjeni, deo je zaključan"
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr "Izaberi"
@@ -10913,7 +11161,7 @@ msgstr "Izmeni listu odabira"
msgid "Delete Selection List"
msgstr "Obriši listu odabira"
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr "Faza"
@@ -10943,7 +11191,7 @@ msgstr "Dodatak"
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr "Opis nije dostupan"
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr "Potvrdi aktivaciju dodatka"
-#: src/tables/plugin/PluginListTable.tsx:154
+#: src/tables/plugin/PluginListTable.tsx:160
msgid "Confirm plugin deactivation"
msgstr "Potvrdi deaktivaciju dodatka"
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr "Izabrani dodatak će biti aktiviran"
-
-#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
-msgstr "Izabrani dodatak će biti deaktiviran"
-
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr "Izabrani dodatak će biti aktiviran"
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr "Izabrani dodatak će biti deaktiviran"
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr "Deaktiviraj"
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktiviraj"
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr "Aktiviraj izabrani dodatak"
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktiviraj"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr "Aktiviraj izabrani dodatak"
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr "Ažuriraj izabrane dodatke"
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Obriši"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr "Obriši izabrani dodatak"
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr "Obriši izabranu konfiguraciju dodatka"
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr "Aktiviraj dodatak"
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr "Dodatak je aktiviran"
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr "Dodatak je deaktiviran"
@@ -11042,20 +11290,20 @@ msgstr "Dodatak je deaktiviran"
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr "Instaliraj dodatak"
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Instaliraj"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr "Dodatak uspešno instaliran"
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr "Obriši dodatak"
@@ -11063,23 +11311,23 @@ msgstr "Obriši dodatak"
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr "Potvrdi brisanje dodatka"
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr "Izabrani dodatak će biti obrisan"
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr "Dodatak uspešno obrisan"
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr "Obriši dodatak"
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr "Brisanjem ove konfiguracije dodatka ukloniće se sva povezana podešavanja i podaci. Da li ste sigurni da želite da obrišete ovaj dodatak?"
@@ -11087,11 +11335,11 @@ msgstr "Brisanjem ove konfiguracije dodatka ukloniće se sva povezana podešavan
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr "Dodaci ponovo učitani"
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr "Dodaci uspešno ponovo učitani"
@@ -11103,7 +11351,7 @@ msgstr "Dodaci uspešno ponovo učitani"
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr "Ponovo učitaj dodatke"
@@ -11115,7 +11363,7 @@ msgstr "Ponovo učitaj dodatke"
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr "Detalji dodatka"
@@ -11127,12 +11375,12 @@ msgstr "Detalji dodatka"
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr "Uzorak"
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Instalirano"
@@ -11152,30 +11400,24 @@ msgstr "Instalirano"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "Broj dela proizvođača"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Aktivan deo"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr "Uvezi stavke"
@@ -11204,15 +11446,15 @@ msgstr "Uvezi stavke"
msgid "Supplier Code"
msgstr "Kod dobavljača"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr "Link dobavljača"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr "Kod proizvođača"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr "Prikaži stavke koje su primljene"
@@ -11222,30 +11464,22 @@ msgstr "Prikaži stavke koje su primljene"
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr "Primi stavku"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr "Primi stavke"
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr "Osnovne jedinice"
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr "Dodaj deo dobavljača"
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr "Dodaj deo dobavljača"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr "Prikaži aktivne delove dobavljača"
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr "Prikaži aktivne interne delove"
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr "Aktivni dobavljač"
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr "Prikaži aktivne dobavljače"
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr "Prikaži delove dobavljača sa zalihama"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr "Datum prijema"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr "Prikaži stavke koje su primljene"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr "Filtriraj po statusu stavke"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr "Primi izabrane stavke"
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr "Primi stavku"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr "Prikaži nepodmirene alokacije"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr "Dodeljeno isporuci"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr "Prikaži raspodele dodeljene isporuci"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr "Dostupna količina"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr "Alocirana količina"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr "Nema isporuke"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr "Nije isporučeno"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr "Izmeni alokaciju"
@@ -11333,16 +11579,16 @@ msgstr "Izmeni alokaciju"
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr "Pogledaj isporuku"
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr "Alociraj serijske brojeve"
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
-msgstr "Alociraj serijske brojeve"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
+msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr "Prikaži linije koje su potpuno alocirane"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr "Prikaži linije koje su završene"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr "Dodeli serijske brojeve"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr "Izgradi zalihe"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr "Naruči zalihe"
@@ -11386,78 +11636,82 @@ msgstr "Naruči zalihe"
msgid "Create Shipment"
msgstr "Kreiraj isporuku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr "Stavke"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr "Izmeni isporuku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr "Otkaži isporuku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr "Dodaj isporuku"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr "Pokaži isporuke koje su isporučene"
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr "Pokaži isporuke koje su dostavljene"
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Opozovi"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr "Instaliraj stavku"
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr "Stavka instalirana"
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr "Ukloni stavku"
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr "Stavka uklonjena"
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr "Ukloni stavku iz zaliha"
@@ -12028,207 +12282,159 @@ msgstr "Obriši tip lokacije"
msgid "Icon"
msgstr "Ikona"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
-msgstr "Ova stavka je u produkciji"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
+msgstr "Datum inventure"
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
-msgstr "Ova stavka je dodeljena narudžbenici"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
+msgstr "Prikaži zalihe za aktivne delove"
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
-msgstr "Ova stavka je dodeljena mušteriji"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
+msgstr "Prikaži zalihe za sklopljene delove"
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
-msgstr "Ova stavka je instalirana u drugu stavku"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
+msgstr "Prikaži stavke koje su alocirane"
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
-msgstr "Ova stavka je iskorišćena od strane proizvodnog naloga"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
+msgstr "Prikaži stavke koje su dostupne"
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
-msgstr "Ova stavka nije na stanju"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
+msgstr "Uključi podlokacije"
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
-msgstr "Ovoj stavki je istekao rok trajanja"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
+msgstr "Uključi zalihe u podlokacijama"
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
-msgstr "Ova stavka je zastarela"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
+msgstr "Potrošeno"
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
-msgstr "Ova stavka je potpuno alocirana"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
+msgstr "Prikaži potrošene stavke"
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
-msgstr "Ova stavka je delimično alocirana"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
+msgstr "Prikaži stavke koje su u produkciji"
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
-msgstr "Ova stavka je potrošena"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr "Prikaz stavki koje su iskorišćene proizvodnim nalogom"
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr "Prikaz stavki koje su instalirane u drugim stavkama"
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr "Pošalji mušteriji"
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr "Prikaži stavke koje su poslate mušteriji"
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr "Prikaži praćene stavke"
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr "Ima nabavnu cenu"
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr "Prikaži stavke koje imaju nabavnu cenu"
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr "Prikaži stavke čiji rok je istekao"
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr "Prikaži stavke koje su zastarele"
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr "Ističe pre"
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr "Prikaži stavke koje ističu pre ovog datuma"
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr "Ističe nakon"
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr "Prikaži stavke koje ističu nakon ovog datuma"
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr "Prikaži stavke ažurirane pre ovog datuma"
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr "Prikaži stavke ažurirane nakon ovog datuma"
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr "Inventar pre"
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr "Prikaži stavke prebrojane pre ovog datuma"
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr "Inventar nakon"
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
+msgstr "Prikaži stavke prebrojane nakon ovog datuma"
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
-msgstr "Datum inventure"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
+msgstr "Eksterne lokacije"
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr "Prikaži zalihe za aktivne delove"
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr "Prikaži zalihe za sklopljene delove"
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr "Prikaži stavke koje su alocirane"
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr "Prikaži stavke koje su dostupne"
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr "Uključi podlokacije"
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr "Uključi zalihe u podlokacijama"
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr "Potrošeno"
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr "Prikaži potrošene stavke"
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
-msgstr "Prikaži stavke koje su u produkciji"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
+msgstr "Prikaži stavke na eksternim lokacijama"
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr "Prikaz stavki koje su iskorišćene proizvodnim nalogom"
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr "Prikaz stavki koje su instalirane u drugim stavkama"
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr "Pošalji mušteriji"
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr "Prikaži stavke koje su poslate mušteriji"
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr "Prikaži praćene stavke"
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr "Ima nabavnu cenu"
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr "Prikaži stavke koje imaju nabavnu cenu"
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr "Prikaži stavke čiji rok je istekao"
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
-msgstr "Prikaži stavke koje su zastarele"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
+msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr "Ističe pre"
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr "Prikaži stavke koje ističu pre ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr "Ističe nakon"
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr "Prikaži stavke koje ističu nakon ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Ažurirano pre"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr "Prikaži stavke ažurirane pre ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr "Ažurirano nakon"
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr "Prikaži stavke ažurirane nakon ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr "Inventar pre"
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr "Prikaži stavke prebrojane pre ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr "Inventar nakon"
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr "Prikaži stavke prebrojane nakon ovog datuma"
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr "Eksterne lokacije"
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
-msgstr "Prikaži stavke na eksternim lokacijama"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
+msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr "Završeno"
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr "Izmeni test rezultat"
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr "Test rezultat ažuriran"
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr "Obriši test rezultat"
@@ -12327,27 +12533,27 @@ msgstr "Neuspešno dodavanje test rezultata"
msgid "Pass Test"
msgstr "Uspešan test"
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr "Prikaži rezultate neophodnih testova"
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr "Uključi instalirane"
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr "Prikaži rezultate za instalirane stavke"
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr "Uspešno"
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr "Pokaži samo uspešne testove"
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr "Prikaži rezultate za omogućene testove"
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr "Dodato"
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Uklonjeno"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr "Nema informacije o korisniku"
diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po
index 80fc2a7d63..428a1914f3 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Redigera"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Radera"
@@ -44,36 +44,36 @@ msgstr "Radera"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Avbryt"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Åtgärder"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Sök"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Misslyckades"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Ja"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Nej"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Artkel"
@@ -134,7 +138,7 @@ msgstr "Artkel"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Artiklar"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametrar"
@@ -180,37 +184,37 @@ msgstr "Testmall för artiklar"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr "Leverantörsartikel"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Leverantörsartikel"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Tillverkarens artiklar"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Tillverkarens artiklar"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr "Artikel Kategori"
@@ -218,19 +222,22 @@ msgstr "Artikel Kategori"
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Artikelkategorier"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr "Lager artikel"
@@ -238,22 +245,22 @@ msgstr "Lager artikel"
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Artikel i lager"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Lagerplats"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Lagerplats"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Lagerplatstyper"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Lagerhistorik"
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr "Tillverknings artiklar"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Företag"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Projektkod"
@@ -330,21 +337,21 @@ msgstr "Projektkoder"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Inköpsorder"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr "Inköpsorder"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Inköpsorderrader"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Försäljningsorder"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr "Försäljningsorder"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Försäljningsorder leverans"
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr "Försäljningsorder leveranser"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "Returorder"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr "Returorder"
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adress"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresser"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Kontakt"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Kontakter"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Ägare"
@@ -451,15 +458,15 @@ msgstr "Ägare"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Användare"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Rapportmallar"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Plugin-konfiguration"
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr "Admin"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr "Byggordrar"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr ""
+
+#: src/components/Boundary.tsx:14
msgid "Error rendering component"
msgstr "Fel vid rendering av komponent"
-#: src/components/Boundary.tsx:14
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr "Ett fel inträffade vid rendering av denna komponent. Se konsolen för mer information."
@@ -637,7 +648,7 @@ msgstr "Streckkod"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Skanna streckkod"
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Lyckades"
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Länk"
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Ta bort länk för streckkod"
@@ -766,11 +777,11 @@ msgstr "Öppna i administratörsgränssnittet"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopierad"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopiera"
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Skriv ut etikett"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Skriv ut"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Skriv ut"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Skriv ut Rapport"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Utskriftsalternativ"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Skriv ut etiketter"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Skriv ut rapporter"
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Föregående månad"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Välj månad"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Nästa månad"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Ladda ned data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr "Prenumererade artiklar"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr "Prenumererade kategorier"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Få i lager"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr "Krävs för byggorder"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr "Försenade byggorder"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Försenade försäljningsorder"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Förfallna inköpsorder"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Kom igång"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "Komma igång med InvenTree"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr "Inga nyheter"
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr "Superanvändare"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "E-post: "
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Inget namn definierat"
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr "Vill du ta bort den associerade bilden från denna artikel?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Ta bort"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Dra och släpp för att ladda upp"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Klicka för att välja fil(er)"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr "Bild uppladdad"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Uppladdningsfel"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Rensa"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Skicka"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr "Välj från befintliga bilder"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr "Välj bild"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr "Ladda upp ny bild"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr "Ladda upp bild"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr "Radera bild"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr "Ladda ner bild"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr "Fel finns för ett eller flera formulärfält"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Uppdatera"
@@ -1579,21 +1622,21 @@ msgstr "Inloggningen lyckades"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Inloggningen misslyckades"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Kontrollera din inmatning och försök igen."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "E-postleverans lyckad"
@@ -1628,7 +1671,7 @@ msgstr "Ditt användarnamn"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Lösenord"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Upprepa lösenord"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Registrera"
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Värd"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API Version"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Plugins"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Aktiverad"
@@ -1850,7 +1898,7 @@ msgstr "Stoppad"
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Välj datum"
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr "Okategoriserade"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Sök..."
@@ -1890,13 +1938,13 @@ msgstr "Välj paket"
msgid "{0} icons"
msgstr "{0} ikoner"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Laddar"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Inga resultat hittades"
@@ -1940,49 +1988,49 @@ msgstr "Redigera data"
msgid "Delete Row"
msgstr "Radera rad"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Rad"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Rad innehåller fel"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Acceptera"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Giltig"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Filtrera efter radvalideringsstatus"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Slutförd"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Filtrera efter radvalideringsstatus"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Importera markerade rader"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Bearbetar data"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Ett fel inträffade"
@@ -2002,31 +2050,31 @@ msgstr "Välj kolumn eller lämna tomt för att ignorera detta fält."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Ignorera det här fältet"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Mappning av datakolumner till databasfält"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Godkänn kolumnmappning"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Databasfält"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Fältbeskrivning"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "Importerad kolumn"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Standardvärde"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Mappa Kolumner"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Importera data"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Data har importerats framgångsrikt"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Stäng"
@@ -2104,8 +2152,8 @@ msgstr "Alternativ"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Streckkods åtgärder"
@@ -2177,10 +2225,15 @@ msgstr "Okänt fel"
msgid "None"
msgstr "Ingen"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree Logotyp"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Uppdaterad"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Roll"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Visa"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Ändra"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Lägg till"
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr "Tillgänglig"
@@ -2320,7 +2374,7 @@ msgstr "Länkar"
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr "Dokumentation"
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr "Notifikationer"
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr "Ingenting hittades..."
@@ -2547,7 +2601,7 @@ msgstr "Inställningar"
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr "Användarinställningar"
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr "Systeminställningar"
@@ -2578,14 +2632,14 @@ msgstr "Systeminställningar"
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr "Admin-center"
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr "Logga ut"
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr "Lagersaldo"
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr "Inköp"
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr "Försäljning"
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr "Leverantörer"
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr "Tillverkare"
@@ -2768,21 +2822,21 @@ msgstr "Inga resultat tillgängliga för sökfrågan"
msgid "Attachments"
msgstr "Bilagor"
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr "Anteckningar"
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr "Datum"
@@ -2845,48 +2899,54 @@ msgstr "Datum"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr "Aktiv"
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr "Webbplats"
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr "Paketnamn"
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr "Inbyggt"
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr "Paket"
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr "Frakt"
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr "Inaktiv"
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr "Inget på lager"
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr "På order"
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr "Under produktion"
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr "Detaljer"
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr "Kategori"
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr "Plats"
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr "Serienummer"
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr "Antal"
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr "Redigera inställning"
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr "Inställning uppdaterad"
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr "Inställning {0} har uppdaterats"
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr "Fel vid ändring av inställning"
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr "Inga inställningar"
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr "Inga inställningar angivna"
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr "Leverantör"
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr "Laddar..."
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr "Nästa"
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr "Redigera artikel"
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr "Gå till instrumentpanelen för InvenTree"
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr "Besök dokumentationen för att läsa mer om InvenTree"
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr "Om InvenTree org"
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr "Serverinformation"
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr "Licensinformation"
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr "Licenser för beroenden av tjänsten"
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr "Öppna navigering"
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr "Öppna huvudnavigeringsmenyn"
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr "Status"
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr "Slutförd produktion"
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr "Produktion som har slutförts"
@@ -4428,143 +4506,133 @@ msgstr "Produktion som har slutförts"
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr "Skrota tillverkad produktion"
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr "Tillverkad produktion har skrotats"
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr "Tillverkad produktion har skrotats"
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr "Avbryt produktion"
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr "Tillverkade produkter har raderats"
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr "IAN"
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr "Allokerad"
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr "Överordnad kategori"
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr "Tilldela streckkod"
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr "Välj plats"
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr "Tilldela streckkod"
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr "Ändra status"
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr "Lägg till anteckning"
@@ -4673,56 +4745,56 @@ msgstr "Lägg till anteckning"
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr "Batchkod"
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr "Serienummer"
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr "SKU"
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr "Flytta"
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr "Sammanfoga lager"
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr "Ta bort lagerartikel"
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr "Överordnad lagerplats"
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr "Redan inloggad"
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
-msgstr ""
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
+msgstr "Utloggad"
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr "Utloggad"
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr "Utloggningen lyckades"
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr "Tema ändrat"
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr "Återställningen misslyckades"
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr "Redan inloggad"
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr "Inloggad"
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr "Inloggning lyckades"
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr "Lösenord sparat!"
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr "Ditt lösenord har sparats. Du kan nu logga in med ditt nya lösenord."
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr "Lösenord ändrat"
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr "Exportera data"
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr "Exportera"
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr "Artikel skapad"
@@ -5255,52 +5356,56 @@ msgstr "Är du säker på att du vill ta bort den här posten?"
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr "Lager åtgärder"
@@ -5357,15 +5462,15 @@ msgstr "Inget val"
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr "Logga in"
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr "Har du inget konto?"
@@ -5383,12 +5488,12 @@ msgstr "Har du inget konto?"
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr "TOTP-kod"
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr "Typ"
@@ -5933,220 +6038,220 @@ msgstr "Redigera profil"
msgid "{0}"
msgstr "{0}"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr "TOTP borttagen"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr "TOTP"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr "Senast använd den"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr "Skapad den"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr "Inte konfigurerad"
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr "E-postadresser"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
+msgstr "E-postadresser"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
msgid "Single Sign On"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
-msgstr "Inte aktiverad"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr "Inte aktiverad"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,61 +6315,58 @@ msgstr ""
msgid "Timestamp"
msgstr "Tidsstämpel"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr "Metod"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr "Primär"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr "Gör primär"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
msgid "Re-send Verification"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr "Lägg till e-postadress"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr "E-post"
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
-msgstr "E-postadress"
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
-msgstr ""
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr "Lägg till e-postadress"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr "E-post"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
+msgstr "E-postadress"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
#~ msgid "Not configured"
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
-msgstr "Lägg till e-post"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
+msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr "Lägg till e-post"
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr "Valuta"
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr "Bakgrundsarbetare körs inte"
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr "Bakgrundsarbetare körs inte"
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr "Misslyckade uppgifter"
@@ -6805,6 +6915,16 @@ msgstr "Prissättning"
msgid "Labels"
msgstr "Etiketter"
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr "Anpassad status"
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr "Extern"
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr "Referens"
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr "Föregående tillverkning"
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr "Tillverkat antal"
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr "Kan tillverkas"
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr "Slutförd produktion"
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr "Utfärdad av"
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr "Ansvarig"
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr "Alla platser"
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr "Destinationsplats"
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr "Skapad"
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr "Startdatum"
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
-msgstr "Färdigdatum"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
+msgstr "Destinationsplats"
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr "Skapad"
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr "Startdatum"
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr "Färdigdatum"
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr "Slutförd"
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr "Tillverknings Detaljer"
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr "Allokerat lager"
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr "Förbrukat lager"
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr "Ofullständig produktion"
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr "Underordnad tillverknings order"
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr "Test resultat"
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr "Redigera Tillverknings order"
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr "Lägg till Tillverknings order"
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr "Avbryt Tillverknings order"
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr "Order avbruten"
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr "Avbryt denna order"
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr "Pausa denna order"
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr "Ordern är pausad"
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr "Utfärda tillverknings order"
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr "Utfärda denna order"
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr "Order utfärdad"
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr "Slutför tillverknings order"
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr "Markera denna order som slutförd"
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr "Order slutförd"
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr "Utfärda Order"
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr "Slutför Order"
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr "Åtgärder Tillverknings order"
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr "Redigera order"
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr "Duplicera order"
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr "Pausa order"
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr "Avbryt order"
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr "Tabellvy"
@@ -7238,20 +7359,17 @@ msgstr "Kalendervy"
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr "Webbplats"
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr "Telefonnummer"
@@ -7271,11 +7389,11 @@ msgstr "Standardvaluta"
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr "Tillverkare"
@@ -7284,15 +7402,15 @@ msgstr "Tillverkare"
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr "Kund"
@@ -7320,16 +7438,16 @@ msgstr "Tillverkarens artiklar"
msgid "Assigned Stock"
msgstr "Tilldelad Lager"
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr "Redigera företag"
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr "Radera företag"
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr "Extern länk"
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr "Artikel Detaljer"
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr "Inget på lager"
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr "Grupproller"
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr "Underkategorier"
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr "Radera objekt"
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr "Tillverknings orderallokeringar"
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr "Försäljningsorder allokeringar"
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr "Validerad den"
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr "Validerad av"
@@ -7650,246 +7772,246 @@ msgstr "Validerad av"
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr "Variant av"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr "Enheter"
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr "Enheter"
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr "Nyckelord"
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr "Tillgängligt lager"
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr "På order"
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr "Låst"
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr "Mall artikel"
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr "Sammansatt artikel"
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr "Komponent artikel"
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr "Testbar artikel"
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr "Spårbar artikel"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr "Köpartikel"
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr "Försäljningsbar artikel"
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr "Virtuell artikel"
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr "Skapad Datum"
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr "Skapad av"
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr "Standardleverantör"
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr "dagar"
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr "Prisintervall"
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr "Välj artikel revision"
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr "Varianter"
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr "Allokeringar"
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr "Stycklista"
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr "Används i"
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr "Prissättning för artikel"
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr "Testmall"
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr "Relaterade artiklar"
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr "Lägg till artikel"
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr "Ta bort artikel"
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr "Borttagning av denna artikel kan inte återställas"
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr "Artikel åtgärder"
@@ -7968,35 +8090,46 @@ msgstr "Försäljningshistorik"
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr "Totalpris"
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr "Komponent"
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr "Tårtdiagram"
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr "Stapeldiagram"
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr "Senast uppdaterad"
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr "Radartiklar"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr "Slutför returorder"
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr "Slutförda leveranser"
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr "Redigera försäljningsorder"
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr "Ny försäljningsorder"
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr "Leveranser"
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr "Avbryt försäljningsorder"
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr "Pausa försäljningsorder"
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr "Slutför försäljningsorder"
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr "Leveransorder"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr "Fakturanummer"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr "Kontrollerad av"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr "Leveransdatum"
@@ -8464,173 +8600,167 @@ msgstr "Leveransdatum"
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr "Leveransdatum"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr "Väntande"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr "Levererat"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr "Föregående Plats"
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr "Underplaceringar"
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr "Typ av plats"
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr "Högsta nivå lagerplats"
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr "Platsuppgifter"
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr "Standard artiklar"
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr "Redigera lagerplats"
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr "Radera lagerplats"
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
+msgstr "Redigera lagerplats"
+
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr "Radera lagerplats"
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr "Platsåtgärder"
@@ -8703,10 +8833,6 @@ msgstr "Senaste inventering"
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr "Ej tillgänglig"
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr "Välj kolumner"
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
-msgstr "Skapad före"
+msgid "Assigned to me"
+msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr "Skapad före"
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr "Skapad efter"
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr "Uppdaterad före"
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr "Filtrera efter användare"
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr "Ta bort filter"
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr "Välj filtervärde"
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr "Välj datumvärde"
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr "Välj filter"
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr "Filter"
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr "Lägg till filter"
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr "Rensa filter"
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr "Inga resultat hittades"
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr "Visa detaljer"
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr "Visa detaljer"
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr "Uppdatera data"
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr "Aktiva filter"
@@ -9252,71 +9462,71 @@ msgstr "Aktiva filter"
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr "Virtuell del"
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr "Virtuell del"
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr "Under tillverkning"
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr "Under tillverkning"
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr "Aktiv del"
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr "Validerad"
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr "Ärvd"
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr "Tillåt varianter"
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr "Visa BOM"
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr "Importera från fil"
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr "Montering"
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Spårbart objekt"
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr "Konsumera"
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr "Testbar"
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr "Visa del"
@@ -9756,31 +9992,31 @@ msgstr "Visa del"
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr "Slutför valda produkter"
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr "Skrot valda produkter"
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr "Avbryt valda produkter"
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr "Allokera"
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr "Skrot valda produkter"
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr "Avbryt valda produkter"
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr "Allokera"
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr "Radera adress"
msgid "Are you sure you want to delete this address?"
msgstr "Är du säker på att du vill radera denna adress?"
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr "Lägg till företag"
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr "Lägg till företag"
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr "Lägg till parameter"
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr "Redigera parameter"
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr "Har enheter"
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr "Avisering"
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr "Meddelande"
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr "Inkludera underkategorier"
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr "Filtrera på aktiv artiklestatus"
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr "Filtrera efter monteringsattribut"
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr "Inkludera artiklar från underkategorier"
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr "Filtrera efter komponentattribut"
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr "Filtrera på spårbart attribut"
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr "Har IAN"
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr "Filtrera efter artiklar som har ett internt artikelnummer"
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr "I lager"
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr "Filtrera på ariklar som har lågt saldo"
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr "Kan köpas"
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr "Filtrera på artiklar som kan köpas"
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr "Försäljningsbar"
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr "Filtrera på artiklar som kan säljas"
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr "Filtrera efter artiklar som är virtuella"
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr "Inte virtuell"
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr "Är mall"
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr "Är variant"
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr "Importera delar"
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr "Lägg till delar"
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr "Skapa del"
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr "Skapa en ny del"
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr "Inga resultat"
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr "Visa tillverkat antal som är i produktion"
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr "Obligatorisk"
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
-msgid "Deactivate"
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr "Aktivera"
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
+#: src/tables/plugin/PluginListTable.tsx:184
+msgid "Deactivate"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr "Aktivera"
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr "Avinstallera"
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr "Installera"
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr "Installerad"
@@ -11152,30 +11400,24 @@ msgstr "Installerad"
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr "Aktiv del"
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr "Återkalla"
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr "Ikon"
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr "Uppdaterad före"
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr "Borttagen"
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po
index df2d1a9669..7043cea107 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-19 06:00\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -35,7 +35,7 @@ msgstr ""
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr ""
@@ -44,36 +44,36 @@ msgstr ""
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr ""
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr ""
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr ""
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr ""
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr ""
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr ""
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr ""
@@ -134,7 +138,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr ""
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr ""
@@ -180,37 +184,37 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr ""
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr ""
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
msgstr ""
@@ -218,19 +222,22 @@ msgstr ""
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr ""
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
msgstr ""
@@ -238,22 +245,22 @@ msgstr ""
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr ""
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr ""
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr ""
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr ""
@@ -300,8 +307,8 @@ msgid "Build Items"
msgstr ""
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr ""
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr ""
@@ -330,21 +337,21 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
msgstr ""
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr ""
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
msgstr ""
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr ""
@@ -391,17 +398,17 @@ msgid "Sales Order Shipments"
msgstr ""
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr ""
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
msgstr ""
@@ -420,7 +427,7 @@ msgid "Address"
msgstr ""
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr ""
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr ""
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr ""
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr ""
@@ -451,15 +458,15 @@ msgstr ""
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr ""
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr ""
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr ""
@@ -543,31 +550,31 @@ msgstr ""
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,24 +591,28 @@ msgid "Admin"
msgstr ""
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
msgstr ""
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr ""
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
msgstr ""
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr ""
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
msgstr ""
@@ -637,7 +648,7 @@ msgstr ""
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr ""
@@ -668,8 +679,8 @@ msgstr ""
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr ""
@@ -688,7 +699,7 @@ msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr ""
@@ -739,11 +750,11 @@ msgid "Failed to link barcode"
msgstr ""
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr ""
@@ -754,7 +765,7 @@ msgstr ""
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr ""
@@ -766,11 +777,11 @@ msgstr ""
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr ""
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr ""
@@ -798,19 +809,15 @@ msgstr ""
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr ""
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr ""
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr ""
@@ -860,8 +867,8 @@ msgstr ""
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr ""
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,26 +890,31 @@ msgstr ""
msgid "Subscribe to notifications"
msgstr ""
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr ""
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr ""
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr ""
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
@@ -914,7 +926,7 @@ msgid "Error updating order"
msgstr ""
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr ""
@@ -937,7 +949,7 @@ msgstr ""
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
@@ -979,185 +991,185 @@ msgstr ""
msgid "There are no more widgets available for the dashboard"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
msgid "Subscribed Parts"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
msgid "Show the number of parts which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
msgid "Subscribed Categories"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
msgid "Show the number of part categories which you have subscribed to"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr ""
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr ""
@@ -1200,11 +1212,34 @@ msgstr ""
msgid "There are no unread news items"
msgstr ""
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,18 +1247,18 @@ msgstr ""
msgid "Superuser"
msgstr ""
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr ""
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr ""
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr ""
@@ -1236,84 +1271,92 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr ""
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr ""
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr ""
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
msgstr ""
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
msgstr ""
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr ""
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr ""
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr ""
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
msgstr ""
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
msgstr ""
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
msgstr ""
@@ -1546,7 +1589,7 @@ msgstr ""
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr ""
@@ -1579,21 +1622,21 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr ""
@@ -1628,7 +1671,7 @@ msgstr ""
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr ""
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr ""
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr ""
@@ -1720,6 +1763,10 @@ msgstr ""
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr ""
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr ""
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr ""
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr ""
@@ -1850,7 +1898,7 @@ msgstr ""
msgid "Running"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr ""
@@ -1858,7 +1906,7 @@ msgstr ""
msgid "Accept suggested value"
msgstr ""
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr ""
@@ -1871,8 +1919,8 @@ msgid "Uncategorized"
msgstr ""
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr ""
@@ -1890,13 +1938,13 @@ msgstr ""
msgid "{0} icons"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr ""
@@ -1940,49 +1988,49 @@ msgstr ""
msgid "Delete Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr ""
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr ""
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr ""
@@ -2002,31 +2050,31 @@ msgstr ""
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr ""
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr ""
@@ -2039,7 +2087,7 @@ msgid "Map Columns"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
+msgid "Import Rows"
msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
@@ -2070,8 +2118,8 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr ""
@@ -2104,8 +2152,8 @@ msgstr ""
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr ""
@@ -2177,10 +2225,15 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr ""
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr ""
@@ -2208,9 +2261,10 @@ msgstr ""
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr ""
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr ""
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr ""
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr ""
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr ""
@@ -2255,14 +2309,14 @@ msgstr ""
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLineTable.tsx:193
-#: src/tables/part/PartTable.tsx:137
-#: src/tables/stock/StockItemTable.tsx:182
-#: src/tables/stock/StockItemTable.tsx:343
+#: src/pages/stock/StockDetail.tsx:944
+#: src/tables/ColumnRenderers.tsx:243
+#: src/tables/build/BuildAllocatedStockTable.tsx:125
+#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/part/PartTable.tsx:138
+#: src/tables/stock/StockItemTable.tsx:197
msgid "Available"
msgstr ""
@@ -2320,7 +2374,7 @@ msgstr ""
#: src/components/modals/AboutInvenTreeModal.tsx:180
#: src/components/nav/NavigationDrawer.tsx:208
-#: src/defaults/actions.tsx:48
+#: src/defaults/actions.tsx:49
msgid "Documentation"
msgstr ""
@@ -2523,7 +2577,7 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: src/components/nav/Layout.tsx:141
+#: src/components/nav/Layout.tsx:142
msgid "Nothing found..."
msgstr ""
@@ -2547,7 +2601,7 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:61
#: src/components/nav/NavigationDrawer.tsx:140
#: src/components/nav/SettingsHeader.tsx:40
-#: src/defaults/actions.tsx:92
+#: src/defaults/actions.tsx:86
#: src/pages/Index/Settings/UserSettings.tsx:142
#: src/pages/Index/Settings/UserSettings.tsx:146
msgid "User Settings"
@@ -2565,9 +2619,9 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:69
#: src/components/nav/NavigationDrawer.tsx:146
#: src/components/nav/SettingsHeader.tsx:41
-#: src/defaults/actions.tsx:144
-#: src/pages/Index/Settings/SystemSettings.tsx:354
-#: src/pages/Index/Settings/SystemSettings.tsx:359
+#: src/defaults/actions.tsx:155
+#: src/pages/Index/Settings/SystemSettings.tsx:366
+#: src/pages/Index/Settings/SystemSettings.tsx:371
msgid "System Settings"
msgstr ""
@@ -2578,14 +2632,14 @@ msgstr ""
#: src/components/nav/MainMenu.tsx:78
#: src/components/nav/NavigationDrawer.tsx:153
#: src/components/nav/SettingsHeader.tsx:42
-#: src/defaults/actions.tsx:153
+#: src/defaults/actions.tsx:164
#: src/pages/Index/Settings/AdminCenter/Index.tsx:293
#: src/pages/Index/Settings/AdminCenter/Index.tsx:298
msgid "Admin Center"
msgstr ""
#: src/components/nav/MainMenu.tsx:99
-#: src/defaults/actions.tsx:57
+#: src/defaults/actions.tsx:58
#: src/defaults/links.tsx:140
#: src/defaults/links.tsx:186
msgid "About InvenTree"
@@ -2616,19 +2670,19 @@ msgstr ""
#: src/components/render/Part.tsx:36
#: src/components/wizards/ImportPartWizard.tsx:808
#: src/defaults/links.tsx:42
-#: src/forms/StockForms.tsx:794
-#: src/pages/Index/Settings/SystemSettings.tsx:230
-#: src/pages/part/PartDetail.tsx:793
-#: src/pages/stock/LocationDetail.tsx:390
-#: src/pages/stock/LocationDetail.tsx:420
-#: src/pages/stock/StockDetail.tsx:642
-#: src/tables/stock/StockItemTable.tsx:85
+#: src/forms/StockForms.tsx:802
+#: src/pages/Index/Settings/SystemSettings.tsx:231
+#: src/pages/part/PartDetail.tsx:803
+#: src/pages/stock/LocationDetail.tsx:427
+#: src/pages/stock/LocationDetail.tsx:457
+#: src/pages/stock/StockDetail.tsx:643
+#: src/tables/stock/StockItemTable.tsx:75
msgid "Stock"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:84
#: src/defaults/links.tsx:48
-#: src/pages/build/BuildDetail.tsx:753
+#: src/pages/build/BuildDetail.tsx:775
#: src/pages/build/BuildIndex.tsx:101
msgid "Manufacturing"
msgstr ""
@@ -2636,21 +2690,21 @@ msgstr ""
#: src/components/nav/NavigationDrawer.tsx:91
#: src/defaults/links.tsx:54
#: src/pages/company/ManufacturerDetail.tsx:9
-#: src/pages/company/ManufacturerPartDetail.tsx:267
+#: src/pages/company/ManufacturerPartDetail.tsx:268
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:365
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:558
-#: src/pages/purchasing/PurchasingIndex.tsx:212
+#: src/pages/company/SupplierPartDetail.tsx:366
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:568
+#: src/pages/purchasing/PurchasingIndex.tsx:214
msgid "Purchasing"
msgstr ""
#: src/components/nav/NavigationDrawer.tsx:98
#: src/defaults/links.tsx:60
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:559
-#: src/pages/sales/SalesIndex.tsx:168
-#: src/pages/sales/SalesOrderDetail.tsx:624
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:448
+#: src/pages/sales/ReturnOrderDetail.tsx:569
+#: src/pages/sales/SalesIndex.tsx:169
+#: src/pages/sales/SalesOrderDetail.tsx:634
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:437
msgid "Sales"
msgstr ""
@@ -2705,7 +2759,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:288
#: src/pages/company/ManufacturerPartDetail.tsx:179
-#: src/pages/part/PartDetail.tsx:851
+#: src/pages/part/PartDetail.tsx:861
#: src/pages/part/PartSupplierDetail.tsx:15
#: src/pages/purchasing/PurchasingIndex.tsx:100
msgid "Suppliers"
@@ -2713,7 +2767,7 @@ msgstr ""
#: src/components/nav/SearchDrawer.tsx:298
#: src/pages/part/PartSupplierDetail.tsx:23
-#: src/pages/purchasing/PurchasingIndex.tsx:149
+#: src/pages/purchasing/PurchasingIndex.tsx:150
msgid "Manufacturers"
msgstr ""
@@ -2768,21 +2822,21 @@ msgstr ""
msgid "Attachments"
msgstr ""
-#: src/components/panels/NotesPanel.tsx:23
+#: src/components/panels/NotesPanel.tsx:25
#: src/tables/part/PartTestResultTable.tsx:214
-#: src/tables/stock/StockTrackingTable.tsx:212
+#: src/tables/stock/StockTrackingTable.tsx:267
msgid "Notes"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:158
+#: src/components/panels/PanelGroup.tsx:159
msgid "Plugin Provided"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Collapse panels"
msgstr ""
-#: src/components/panels/PanelGroup.tsx:280
+#: src/components/panels/PanelGroup.tsx:293
msgid "Expand panels"
msgstr ""
@@ -2809,19 +2863,19 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:73
#: src/forms/selectionListFields.tsx:102
-#: src/pages/build/BuildDetail.tsx:251
+#: src/pages/build/BuildDetail.tsx:269
#: src/pages/company/CompanyDetail.tsx:94
#: src/pages/company/ManufacturerPartDetail.tsx:92
#: src/pages/company/ManufacturerPartDetail.tsx:119
#: src/pages/company/SupplierPartDetail.tsx:146
#: src/pages/part/CategoryDetail.tsx:111
-#: src/pages/part/PartDetail.tsx:460
+#: src/pages/part/PartDetail.tsx:477
#: src/pages/purchasing/PurchaseOrderDetail.tsx:163
#: src/pages/sales/ReturnOrderDetail.tsx:130
#: src/pages/sales/SalesOrderDetail.tsx:120
-#: src/pages/stock/LocationDetail.tsx:102
-#: src/tables/ColumnRenderers.tsx:278
-#: src/tables/build/BuildAllocatedStockTable.tsx:88
+#: src/pages/stock/LocationDetail.tsx:111
+#: src/tables/ColumnRenderers.tsx:459
+#: src/tables/build/BuildAllocatedStockTable.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:159
#: src/tables/machine/MachineTypeTable.tsx:255
#: src/tables/plugin/PluginListTable.tsx:110
@@ -2835,7 +2889,7 @@ msgstr ""
#: src/components/plugins/PluginDrawer.tsx:83
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
-#: src/tables/ColumnRenderers.tsx:473
+#: src/tables/ColumnRenderers.tsx:677
#: src/tables/part/PartTestResultTable.tsx:222
msgid "Date"
msgstr ""
@@ -2845,48 +2899,54 @@ msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:68
#: src/pages/core/UserDetail.tsx:81
#: src/pages/core/UserDetail.tsx:209
-#: src/pages/part/PartDetail.tsx:615
-#: src/tables/bom/UsedInTable.tsx:90
-#: src/tables/company/CompanyTable.tsx:57
-#: src/tables/company/CompanyTable.tsx:91
+#: src/pages/part/PartDetail.tsx:632
+#: src/tables/bom/UsedInTable.tsx:95
+#: src/tables/company/CompanyTable.tsx:66
+#: src/tables/company/CompanyTable.tsx:100
#: src/tables/machine/MachineListTable.tsx:384
#: src/tables/machine/MachineListTable.tsx:799
#: src/tables/part/ParametricPartTable.tsx:19
-#: src/tables/part/PartTable.tsx:197
+#: src/tables/part/PartTable.tsx:198
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:96
-#: src/tables/plugin/PluginListTable.tsx:412
-#: src/tables/purchasing/SupplierPartTable.tsx:104
-#: src/tables/purchasing/SupplierPartTable.tsx:215
-#: src/tables/settings/ApiTokenTable.tsx:62
+#: src/tables/plugin/PluginListTable.tsx:418
+#: src/tables/purchasing/SupplierPartTable.tsx:135
+#: src/tables/purchasing/SupplierPartTable.tsx:248
+#: src/tables/settings/ApiTokenTable.tsx:63
#: src/tables/settings/UserTable.tsx:400
-#: src/tables/stock/StockItemTable.tsx:322
+#: src/tables/stock/StockItemTable.tsx:176
msgid "Active"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:105
+#: src/components/plugins/PluginDrawer.tsx:99
+#: src/pages/company/CompanyDetail.tsx:100
+#: src/tables/plugin/PluginListTable.tsx:140
+msgid "Website"
+msgstr ""
+
+#: src/components/plugins/PluginDrawer.tsx:113
msgid "Package Name"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:111
+#: src/components/plugins/PluginDrawer.tsx:119
msgid "Installation Path"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:116
+#: src/components/plugins/PluginDrawer.tsx:124
#: src/tables/machine/MachineTypeTable.tsx:182
#: src/tables/machine/MachineTypeTable.tsx:291
#: src/tables/plugin/PluginListTable.tsx:101
-#: src/tables/plugin/PluginListTable.tsx:417
+#: src/tables/plugin/PluginListTable.tsx:423
msgid "Builtin"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:121
+#: src/components/plugins/PluginDrawer.tsx:129
msgid "Package"
msgstr ""
-#: src/components/plugins/PluginDrawer.tsx:133
+#: src/components/plugins/PluginDrawer.tsx:141
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:55
-#: src/pages/Index/Settings/SystemSettings.tsx:337
+#: src/pages/Index/Settings/SystemSettings.tsx:349
#: src/pages/Index/Settings/UserSettings.tsx:129
msgid "Plugin Settings"
msgstr ""
@@ -2969,65 +3029,65 @@ msgstr ""
#~ msgstr "Unknown Models"
#: src/components/render/Order.tsx:122
-#: src/tables/sales/SalesOrderAllocationTable.tsx:173
+#: src/tables/sales/SalesOrderAllocationTable.tsx:172
msgid "Shipment"
msgstr ""
#: src/components/render/Part.tsx:28
#: src/components/render/Plugin.tsx:17
#: src/components/render/User.tsx:37
-#: src/pages/company/CompanyDetail.tsx:328
-#: src/pages/company/SupplierPartDetail.tsx:378
+#: src/pages/company/CompanyDetail.tsx:330
+#: src/pages/company/SupplierPartDetail.tsx:379
#: src/pages/core/UserDetail.tsx:211
-#: src/pages/part/PartDetail.tsx:1048
-#: src/tables/ColumnRenderers.tsx:410
+#: src/pages/part/PartDetail.tsx:1059
+#: src/tables/ColumnRenderers.tsx:614
msgid "Inactive"
msgstr ""
#: src/components/render/Part.tsx:31
-#: src/tables/part/PartTable.tsx:281
-#: src/tables/part/PartTable.tsx:285
+#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:286
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
#: src/components/render/Part.tsx:34
-#: src/tables/bom/BomTable.tsx:307
-#: src/tables/part/PartTable.tsx:152
+#: src/tables/bom/BomTable.tsx:306
+#: src/tables/part/PartTable.tsx:153
msgid "No stock"
msgstr ""
#: src/components/render/Part.tsx:47
#: src/components/wizards/OrderPartsWizard.tsx:135
#: src/pages/company/SupplierPartDetail.tsx:198
-#: src/pages/company/SupplierPartDetail.tsx:399
-#: src/pages/part/PartDetail.tsx:1030
-#: src/tables/bom/BomTable.tsx:444
-#: src/tables/build/BuildLineTable.tsx:223
-#: src/tables/part/PartTable.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:400
+#: src/pages/part/PartDetail.tsx:1041
+#: src/tables/bom/BomTable.tsx:448
+#: src/tables/build/BuildLineTable.tsx:228
+#: src/tables/part/PartTable.tsx:109
msgid "On Order"
msgstr ""
#: src/components/render/Part.tsx:55
#: src/components/wizards/OrderPartsWizard.tsx:141
-#: src/pages/part/PartDetail.tsx:587
-#: src/pages/part/PartDetail.tsx:1036
-#: src/pages/stock/StockDetail.tsx:925
-#: src/tables/part/PartTestResultTable.tsx:305
-#: src/tables/stock/StockItemTable.tsx:359
+#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:1047
+#: src/pages/stock/StockDetail.tsx:927
+#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/stock/StockItemTable.tsx:213
msgid "In Production"
msgstr ""
#: src/components/render/Part.tsx:74
-#: src/tables/stock/StockTrackingTable.tsx:206
+#: src/tables/stock/StockTrackingTable.tsx:261
msgid "Details"
msgstr ""
#: src/components/render/Part.tsx:112
#: src/components/wizards/ImportPartWizard.tsx:807
-#: src/pages/part/PartDetail.tsx:487
-#: src/tables/ColumnRenderers.tsx:233
-#: src/tables/ColumnRenderers.tsx:242
+#: src/pages/part/PartDetail.tsx:504
+#: src/tables/ColumnRenderers.tsx:414
+#: src/tables/ColumnRenderers.tsx:423
#: src/tables/notifications/NotificationTable.tsx:32
#: src/tables/part/PartCategoryTemplateTable.tsx:78
msgid "Category"
@@ -3036,78 +3096,76 @@ msgstr ""
#: src/components/render/Stock.tsx:36
#: src/components/render/Stock.tsx:114
#: src/components/render/Stock.tsx:132
-#: src/forms/BuildForms.tsx:795
-#: src/forms/PurchaseOrderForms.tsx:647
-#: src/forms/StockForms.tsx:792
-#: src/forms/StockForms.tsx:839
-#: src/forms/StockForms.tsx:892
-#: src/forms/StockForms.tsx:938
-#: src/forms/StockForms.tsx:976
-#: src/forms/StockForms.tsx:1019
-#: src/forms/StockForms.tsx:1063
-#: src/forms/StockForms.tsx:1111
-#: src/forms/StockForms.tsx:1155
+#: src/forms/BuildForms.tsx:834
+#: src/forms/PurchaseOrderForms.tsx:645
+#: src/forms/StockForms.tsx:800
+#: src/forms/StockForms.tsx:847
+#: src/forms/StockForms.tsx:900
+#: src/forms/StockForms.tsx:946
+#: src/forms/StockForms.tsx:984
+#: src/forms/StockForms.tsx:1027
+#: src/forms/StockForms.tsx:1095
+#: src/forms/StockForms.tsx:1143
+#: src/forms/StockForms.tsx:1187
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88
#: src/pages/core/UserDetail.tsx:158
#: src/pages/stock/StockDetail.tsx:298
-#: src/tables/ColumnRenderers.tsx:185
-#: src/tables/ColumnRenderers.tsx:194
-#: src/tables/Filter.tsx:400
-#: src/tables/stock/StockTrackingTable.tsx:98
+#: src/tables/ColumnRenderers.tsx:366
+#: src/tables/ColumnRenderers.tsx:375
+#: src/tables/Filter.tsx:460
+#: src/tables/stock/StockTrackingTable.tsx:130
msgid "Location"
msgstr ""
#: src/components/render/Stock.tsx:99
#: src/pages/stock/StockDetail.tsx:198
-#: src/pages/stock/StockDetail.tsx:930
-#: src/tables/build/BuildAllocatedStockTable.tsx:118
-#: src/tables/build/BuildOutputTable.tsx:107
-#: src/tables/sales/SalesOrderAllocationTable.tsx:142
+#: src/pages/stock/StockDetail.tsx:932
+#: src/tables/build/BuildOutputTable.tsx:109
+#: src/tables/sales/SalesOrderAllocationTable.tsx:139
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:104
#: src/components/wizards/OrderPartsWizard.tsx:377
-#: src/forms/BuildForms.tsx:240
-#: src/forms/BuildForms.tsx:634
-#: src/forms/BuildForms.tsx:797
-#: src/forms/PurchaseOrderForms.tsx:853
-#: src/forms/ReturnOrderForms.tsx:243
-#: src/forms/SalesOrderForms.tsx:387
-#: src/forms/StockForms.tsx:841
-#: src/pages/part/PartStockHistoryDetail.tsx:56
-#: src/pages/part/PartStockHistoryDetail.tsx:210
-#: src/pages/part/PartStockHistoryDetail.tsx:234
-#: src/pages/part/pricing/BomPricingPanel.tsx:107
+#: src/forms/BuildForms.tsx:267
+#: src/forms/BuildForms.tsx:673
+#: src/forms/BuildForms.tsx:836
+#: src/forms/PurchaseOrderForms.tsx:854
+#: src/forms/ReturnOrderForms.tsx:244
+#: src/forms/SalesOrderForms.tsx:431
+#: src/forms/StockForms.tsx:849
+#: src/pages/part/PartStockHistoryDetail.tsx:61
+#: src/pages/part/PartStockHistoryDetail.tsx:241
+#: src/pages/part/PartStockHistoryDetail.tsx:265
+#: src/pages/part/pricing/BomPricingPanel.tsx:106
#: src/pages/part/pricing/PriceBreakPanel.tsx:89
#: src/pages/part/pricing/PriceBreakPanel.tsx:172
#: src/pages/stock/StockDetail.tsx:258
-#: src/pages/stock/StockDetail.tsx:936
-#: src/tables/build/BuildLineTable.tsx:83
+#: src/pages/stock/StockDetail.tsx:938
+#: src/tables/build/BuildLineTable.tsx:86
#: src/tables/part/PartPurchaseOrdersTable.tsx:94
#: src/tables/part/PartTestResultTable.tsx:277
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:175
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:69
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:124
-#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:104
msgid "Quantity"
msgstr ""
#: src/components/render/Stock.tsx:117
-#: src/forms/BuildForms.tsx:335
-#: src/forms/BuildForms.tsx:410
-#: src/forms/BuildForms.tsx:474
-#: src/forms/StockForms.tsx:793
-#: src/forms/StockForms.tsx:840
-#: src/forms/StockForms.tsx:893
-#: src/forms/StockForms.tsx:939
-#: src/forms/StockForms.tsx:977
-#: src/forms/StockForms.tsx:1020
-#: src/forms/StockForms.tsx:1064
-#: src/forms/StockForms.tsx:1112
-#: src/forms/StockForms.tsx:1156
-#: src/tables/build/BuildLineTable.tsx:93
+#: src/forms/BuildForms.tsx:367
+#: src/forms/BuildForms.tsx:444
+#: src/forms/BuildForms.tsx:513
+#: src/forms/StockForms.tsx:801
+#: src/forms/StockForms.tsx:848
+#: src/forms/StockForms.tsx:901
+#: src/forms/StockForms.tsx:947
+#: src/forms/StockForms.tsx:985
+#: src/forms/StockForms.tsx:1028
+#: src/forms/StockForms.tsx:1096
+#: src/forms/StockForms.tsx:1144
+#: src/forms/StockForms.tsx:1188
+#: src/tables/build/BuildLineTable.tsx:96
msgid "Batch"
msgstr ""
@@ -3193,45 +3251,53 @@ msgstr ""
msgid "Create a new custom state for your workflow"
msgstr ""
+#: src/components/settings/SettingItem.tsx:33
+msgid "Do you want to proceed to change this setting?"
+msgstr ""
+
#: src/components/settings/SettingItem.tsx:47
#: src/components/settings/SettingItem.tsx:100
#~ msgid "{0} updated successfully"
#~ msgstr "{0} updated successfully"
-#: src/components/settings/SettingList.tsx:72
+#: src/components/settings/SettingItem.tsx:221
+msgid "This setting requires confirmation"
+msgstr ""
+
+#: src/components/settings/SettingList.tsx:74
msgid "Edit Setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:85
+#: src/components/settings/SettingList.tsx:87
msgid "Setting {key} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:114
+#: src/components/settings/SettingList.tsx:120
msgid "Setting updated"
msgstr ""
#. placeholder {0}: setting.key
-#: src/components/settings/SettingList.tsx:115
+#: src/components/settings/SettingList.tsx:121
msgid "Setting {0} updated successfully"
msgstr ""
-#: src/components/settings/SettingList.tsx:124
+#: src/components/settings/SettingList.tsx:130
msgid "Error editing setting"
msgstr ""
-#: src/components/settings/SettingList.tsx:140
+#: src/components/settings/SettingList.tsx:146
msgid "Error loading settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:151
+#: src/components/settings/SettingList.tsx:157
msgid "No Settings"
msgstr ""
-#: src/components/settings/SettingList.tsx:152
+#: src/components/settings/SettingList.tsx:158
msgid "There are no configurable settings available"
msgstr ""
-#: src/components/settings/SettingList.tsx:189
+#: src/components/settings/SettingList.tsx:197
msgid "No settings specified"
msgstr ""
@@ -3608,19 +3674,19 @@ msgstr ""
#: src/pages/company/SupplierDetail.tsx:8
#: src/pages/company/SupplierPartDetail.tsx:131
#: src/pages/company/SupplierPartDetail.tsx:236
-#: src/pages/company/SupplierPartDetail.tsx:369
+#: src/pages/company/SupplierPartDetail.tsx:370
#: src/pages/purchasing/PurchaseOrderDetail.tsx:157
-#: src/tables/Filter.tsx:360
-#: src/tables/company/CompanyTable.tsx:96
+#: src/tables/Filter.tsx:420
+#: src/tables/company/CompanyTable.tsx:105
#: src/tables/part/PartPurchaseOrdersTable.tsx:43
#: src/tables/purchasing/PurchaseOrderParametricTable.tsx:34
-#: src/tables/purchasing/PurchaseOrderTable.tsx:109
+#: src/tables/purchasing/PurchaseOrderTable.tsx:122
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:40
msgid "Supplier"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:221
-#: src/forms/StockForms.tsx:614
+#: src/forms/StockForms.tsx:621
msgid "Loading..."
msgstr ""
@@ -3682,8 +3748,8 @@ msgid "Next"
msgstr ""
#: src/components/wizards/ImportPartWizard.tsx:540
-#: src/pages/part/PartDetail.tsx:1067
-#: src/tables/part/PartTable.tsx:408
+#: src/pages/part/PartDetail.tsx:1081
+#: src/tables/part/PartTable.tsx:418
msgid "Edit Part"
msgstr ""
@@ -3766,24 +3832,24 @@ msgid "Sales Requirements"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:129
-#: src/forms/StockForms.tsx:894
-#: src/forms/StockForms.tsx:940
-#: src/forms/StockForms.tsx:978
-#: src/forms/StockForms.tsx:1021
-#: src/forms/StockForms.tsx:1065
-#: src/forms/StockForms.tsx:1113
-#: src/forms/StockForms.tsx:1157
+#: src/forms/StockForms.tsx:902
+#: src/forms/StockForms.tsx:948
+#: src/forms/StockForms.tsx:986
+#: src/forms/StockForms.tsx:1029
+#: src/forms/StockForms.tsx:1097
+#: src/forms/StockForms.tsx:1145
+#: src/forms/StockForms.tsx:1189
#: src/pages/company/SupplierPartDetail.tsx:191
-#: src/pages/company/SupplierPartDetail.tsx:383
-#: src/pages/part/PartDetail.tsx:534
-#: src/pages/part/PartDetail.tsx:999
-#: src/tables/Filter.tsx:92
-#: src/tables/purchasing/SupplierPartTable.tsx:230
+#: src/pages/company/SupplierPartDetail.tsx:384
+#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:1010
+#: src/tables/Filter.tsx:134
+#: src/tables/purchasing/SupplierPartTable.tsx:268
msgid "In Stock"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:146
-#: src/tables/build/BuildLineTable.tsx:405
+#: src/tables/build/BuildLineTable.tsx:406
msgid "Required Quantity"
msgstr ""
@@ -3800,8 +3866,8 @@ msgid "New Supplier Part"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:219
-#: src/tables/purchasing/SupplierPartTable.tsx:180
-#: src/tables/purchasing/SupplierPartTable.tsx:258
+#: src/tables/purchasing/SupplierPartTable.tsx:213
+#: src/tables/purchasing/SupplierPartTable.tsx:301
msgid "Supplier part created"
msgstr ""
@@ -3875,9 +3941,9 @@ msgid "Please correct the errors in the selected parts"
msgstr ""
#: src/components/wizards/OrderPartsWizard.tsx:587
-#: src/tables/build/BuildLineTable.tsx:822
-#: src/tables/part/PartTable.tsx:522
-#: src/tables/sales/SalesOrderLineItemTable.tsx:370
+#: src/tables/build/BuildLineTable.tsx:844
+#: src/tables/part/PartTable.tsx:532
+#: src/tables/sales/SalesOrderLineItemTable.tsx:365
msgid "Order Parts"
msgstr ""
@@ -4038,77 +4104,89 @@ msgstr ""
#~ msgid "About this Inventree instance"
#~ msgstr "About this Inventree instance"
-#: src/defaults/actions.tsx:42
+#: src/defaults/actions.tsx:43
msgid "Go to the InvenTree dashboard"
msgstr ""
-#: src/defaults/actions.tsx:49
+#: src/defaults/actions.tsx:50
msgid "Visit the documentation to learn more about InvenTree"
msgstr ""
-#: src/defaults/actions.tsx:58
+#: src/defaults/actions.tsx:59
msgid "About the InvenTree org"
msgstr ""
-#: src/defaults/actions.tsx:64
+#: src/defaults/actions.tsx:65
msgid "Server Information"
msgstr ""
-#: src/defaults/actions.tsx:65
+#: src/defaults/actions.tsx:66
#: src/defaults/links.tsx:169
msgid "About this InvenTree instance"
msgstr ""
-#: src/defaults/actions.tsx:71
+#: src/defaults/actions.tsx:72
#: src/defaults/links.tsx:153
#: src/defaults/links.tsx:175
msgid "License Information"
msgstr ""
-#: src/defaults/actions.tsx:72
+#: src/defaults/actions.tsx:73
msgid "Licenses for dependencies of the service"
msgstr ""
-#: src/defaults/actions.tsx:78
+#: src/defaults/actions.tsx:79
msgid "Open Navigation"
msgstr ""
-#: src/defaults/actions.tsx:79
+#: src/defaults/actions.tsx:80
msgid "Open the main navigation menu"
msgstr ""
-#: src/defaults/actions.tsx:86
-msgid "Scan a barcode or QR code"
-msgstr ""
-
-#: src/defaults/actions.tsx:94
+#: src/defaults/actions.tsx:87
msgid "Go to your user settings"
msgstr ""
-#: src/defaults/actions.tsx:105
+#: src/defaults/actions.tsx:96
+msgid "Import Data"
+msgstr ""
+
+#: src/defaults/actions.tsx:97
+msgid "Import data from a file"
+msgstr ""
+
+#: src/defaults/actions.tsx:107
msgid "Go to Purchase Orders"
msgstr ""
-#: src/defaults/actions.tsx:115
+#: src/defaults/actions.tsx:117
msgid "Go to Sales Orders"
msgstr ""
-#: src/defaults/actions.tsx:126
+#: src/defaults/actions.tsx:128
msgid "Go to Return Orders"
msgstr ""
-#: src/defaults/actions.tsx:136
+#: src/defaults/actions.tsx:138
+msgid "Scan a barcode or QR code"
+msgstr ""
+
+#: src/defaults/actions.tsx:147
msgid "Go to Build Orders"
msgstr ""
-#: src/defaults/actions.tsx:145
+#: src/defaults/actions.tsx:156
msgid "Go to System Settings"
msgstr ""
-#: src/defaults/actions.tsx:154
+#: src/defaults/actions.tsx:165
msgid "Go to the Admin Center"
msgstr ""
+#: src/defaults/actions.tsx:174
+msgid "Manage InvenTree plugins"
+msgstr ""
+
#: src/defaults/dashboardItems.tsx:29
#~ msgid "Latest Parts"
#~ msgstr "Latest Parts"
@@ -4348,19 +4426,19 @@ msgstr ""
#~ msgid "Are you sure you want to delete this attachment?"
#~ msgstr "Are you sure you want to delete this attachment?"
-#: src/forms/BomForms.tsx:109
+#: src/forms/BomForms.tsx:114
msgid "Substitute Part"
msgstr ""
-#: src/forms/BomForms.tsx:126
+#: src/forms/BomForms.tsx:131
msgid "Edit BOM Substitutes"
msgstr ""
-#: src/forms/BomForms.tsx:133
+#: src/forms/BomForms.tsx:138
msgid "Add Substitute"
msgstr ""
-#: src/forms/BomForms.tsx:134
+#: src/forms/BomForms.tsx:139
msgid "Substitute added"
msgstr ""
@@ -4374,53 +4452,53 @@ msgstr ""
#~ msgid "Remove output"
#~ msgstr "Remove output"
-#: src/forms/BuildForms.tsx:333
-#: src/forms/BuildForms.tsx:408
-#: src/forms/BuildForms.tsx:685
+#: src/forms/BuildForms.tsx:365
+#: src/forms/BuildForms.tsx:442
+#: src/forms/BuildForms.tsx:724
#: src/tables/build/BuildAllocatedStockTable.tsx:147
-#: src/tables/build/BuildOutputTable.tsx:582
+#: src/tables/build/BuildOutputTable.tsx:632
#: src/tables/part/PartTestResultTable.tsx:280
msgid "Build Output"
msgstr ""
-#: src/forms/BuildForms.tsx:334
+#: src/forms/BuildForms.tsx:366
msgid "Quantity to Complete"
msgstr ""
-#: src/forms/BuildForms.tsx:336
-#: src/forms/BuildForms.tsx:411
-#: src/forms/BuildForms.tsx:475
-#: src/forms/PurchaseOrderForms.tsx:769
-#: src/forms/ReturnOrderForms.tsx:197
-#: src/forms/ReturnOrderForms.tsx:244
-#: src/forms/StockForms.tsx:712
+#: src/forms/BuildForms.tsx:368
+#: src/forms/BuildForms.tsx:445
+#: src/forms/BuildForms.tsx:514
+#: src/forms/PurchaseOrderForms.tsx:770
+#: src/forms/ReturnOrderForms.tsx:198
+#: src/forms/ReturnOrderForms.tsx:245
+#: src/forms/StockForms.tsx:720
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:241
#: src/pages/core/UserDetail.tsx:151
#: src/pages/purchasing/PurchaseOrderDetail.tsx:169
#: src/pages/sales/ReturnOrderDetail.tsx:136
#: src/pages/sales/SalesOrderDetail.tsx:126
#: src/pages/stock/StockDetail.tsx:170
-#: src/tables/Filter.tsx:274
-#: src/tables/build/BuildOutputTable.tsx:404
+#: src/tables/Filter.tsx:334
+#: src/tables/build/BuildOutputTable.tsx:442
#: src/tables/machine/MachineListTable.tsx:387
#: src/tables/part/PartPurchaseOrdersTable.tsx:38
-#: src/tables/part/PartTestResultTable.tsx:317
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:138
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:176
+#: src/tables/part/PartTestResultTable.tsx:318
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:135
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:173
#: src/tables/settings/CustomStateTable.tsx:79
#: src/tables/settings/EmailTable.tsx:95
#: src/tables/settings/ImportSessionTable.tsx:117
-#: src/tables/stock/StockItemTable.tsx:327
-#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockItemTable.tsx:181
+#: src/tables/stock/StockTrackingTable.tsx:82
msgid "Status"
msgstr ""
-#: src/forms/BuildForms.tsx:358
+#: src/forms/BuildForms.tsx:392
msgid "Complete Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:361
+#: src/forms/BuildForms.tsx:395
msgid "Build outputs have been completed"
msgstr ""
@@ -4428,143 +4506,133 @@ msgstr ""
#~ msgid "Selected build outputs will be deleted"
#~ msgstr "Selected build outputs will be deleted"
-#: src/forms/BuildForms.tsx:409
+#: src/forms/BuildForms.tsx:443
msgid "Quantity to Scrap"
msgstr ""
-#: src/forms/BuildForms.tsx:429
-#: src/forms/BuildForms.tsx:431
+#: src/forms/BuildForms.tsx:463
+#: src/forms/BuildForms.tsx:465
msgid "Scrap Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:434
+#: src/forms/BuildForms.tsx:468
msgid "Selected build outputs will be completed, but marked as scrapped"
msgstr ""
-#: src/forms/BuildForms.tsx:436
+#: src/forms/BuildForms.tsx:470
msgid "Allocated stock items will be consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:442
-msgid "Build outputs have been scrapped"
-msgstr ""
-
#: src/forms/BuildForms.tsx:470
#~ msgid "Remove line"
#~ msgstr "Remove line"
-#: src/forms/BuildForms.tsx:485
-#: src/forms/BuildForms.tsx:487
+#: src/forms/BuildForms.tsx:476
+msgid "Build outputs have been scrapped"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:524
+#: src/forms/BuildForms.tsx:526
msgid "Cancel Build Outputs"
msgstr ""
-#: src/forms/BuildForms.tsx:489
+#: src/forms/BuildForms.tsx:528
msgid "Selected build outputs will be removed"
msgstr ""
-#: src/forms/BuildForms.tsx:491
+#: src/forms/BuildForms.tsx:530
msgid "Allocated stock items will be returned to stock"
msgstr ""
-#: src/forms/BuildForms.tsx:498
+#: src/forms/BuildForms.tsx:537
msgid "Build outputs have been cancelled"
msgstr ""
-#: src/forms/BuildForms.tsx:631
-#: src/pages/build/BuildDetail.tsx:208
+#: src/forms/BuildForms.tsx:670
+#: src/pages/build/BuildDetail.tsx:226
#: src/pages/company/ManufacturerPartDetail.tsx:84
#: src/pages/company/SupplierPartDetail.tsx:97
-#: src/pages/part/PartDetail.tsx:453
+#: src/pages/part/PartDetail.tsx:470
#: src/pages/stock/StockDetail.tsx:153
-#: src/tables/bom/BomTable.tsx:134
-#: src/tables/bom/UsedInTable.tsx:40
-#: src/tables/build/BuildAllocatedStockTable.tsx:105
-#: src/tables/build/BuildLineTable.tsx:337
-#: src/tables/build/BuildOrderTable.tsx:79
-#: src/tables/part/PartSalesAllocationsTable.tsx:61
+#: src/tables/ColumnRenderers.tsx:116
#: src/tables/part/RelatedPartTable.tsx:73
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:21
-#: src/tables/purchasing/ManufacturerPartTable.tsx:69
-#: src/tables/purchasing/SupplierPartTable.tsx:70
-#: src/tables/sales/SalesOrderAllocationTable.tsx:135
-#: src/tables/sales/SalesOrderLineItemTable.tsx:99
-#: src/tables/stock/StockItemTable.tsx:69
msgid "IPN"
msgstr ""
-#: src/forms/BuildForms.tsx:632
-#: src/forms/BuildForms.tsx:796
-#: src/forms/BuildForms.tsx:897
-#: src/forms/SalesOrderForms.tsx:385
-#: src/tables/build/BuildAllocatedStockTable.tsx:136
-#: src/tables/build/BuildLineTable.tsx:183
-#: src/tables/sales/SalesOrderLineItemTable.tsx:342
-#: src/tables/stock/StockItemTable.tsx:338
+#: src/forms/BuildForms.tsx:671
+#: src/forms/BuildForms.tsx:835
+#: src/forms/BuildForms.tsx:936
+#: src/forms/SalesOrderForms.tsx:429
+#: src/tables/build/BuildAllocatedStockTable.tsx:129
+#: src/tables/build/BuildLineTable.tsx:188
+#: src/tables/sales/SalesOrderLineItemTable.tsx:337
+#: src/tables/stock/StockItemTable.tsx:192
msgid "Allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:667
-#: src/forms/SalesOrderForms.tsx:374
+#: src/forms/BuildForms.tsx:706
+#: src/forms/SalesOrderForms.tsx:418
#: src/pages/build/BuildDetail.tsx:109
-#: src/pages/build/BuildDetail.tsx:327
+#: src/pages/build/BuildDetail.tsx:345
msgid "Source Location"
msgstr ""
-#: src/forms/BuildForms.tsx:668
-#: src/forms/SalesOrderForms.tsx:375
+#: src/forms/BuildForms.tsx:707
+#: src/forms/SalesOrderForms.tsx:419
msgid "Select the source location for the stock allocation"
msgstr ""
-#: src/forms/BuildForms.tsx:700
-#: src/forms/SalesOrderForms.tsx:415
-#: src/tables/build/BuildLineTable.tsx:575
-#: src/tables/build/BuildLineTable.tsx:738
-#: src/tables/build/BuildLineTable.tsx:837
-#: src/tables/sales/SalesOrderLineItemTable.tsx:380
-#: src/tables/sales/SalesOrderLineItemTable.tsx:406
+#: src/forms/BuildForms.tsx:739
+#: src/forms/SalesOrderForms.tsx:460
+#: src/tables/build/BuildLineTable.tsx:587
+#: src/tables/build/BuildLineTable.tsx:760
+#: src/tables/build/BuildLineTable.tsx:859
+#: src/tables/build/BuildOutputTable.tsx:233
+#: src/tables/sales/SalesOrderLineItemTable.tsx:375
+#: src/tables/sales/SalesOrderLineItemTable.tsx:401
msgid "Allocate Stock"
msgstr ""
-#: src/forms/BuildForms.tsx:703
-#: src/forms/SalesOrderForms.tsx:420
+#: src/forms/BuildForms.tsx:742
+#: src/forms/SalesOrderForms.tsx:465
msgid "Stock items allocated"
msgstr ""
-#: src/forms/BuildForms.tsx:816
-#: src/forms/BuildForms.tsx:917
-#: src/tables/build/BuildAllocatedStockTable.tsx:243
-#: src/tables/build/BuildAllocatedStockTable.tsx:279
-#: src/tables/build/BuildLineTable.tsx:748
-#: src/tables/build/BuildLineTable.tsx:871
-msgid "Consume Stock"
-msgstr ""
-
-#: src/forms/BuildForms.tsx:817
-#: src/forms/BuildForms.tsx:918
-msgid "Stock items scheduled to be consumed"
-msgstr ""
-
#: src/forms/BuildForms.tsx:817
#: src/forms/BuildForms.tsx:918
#~ msgid "Stock items consumed"
#~ msgstr "Stock items consumed"
-#: src/forms/BuildForms.tsx:853
-#: src/tables/build/BuildLineTable.tsx:515
+#: src/forms/BuildForms.tsx:855
+#: src/forms/BuildForms.tsx:956
+#: src/tables/build/BuildAllocatedStockTable.tsx:259
+#: src/tables/build/BuildAllocatedStockTable.tsx:295
+#: src/tables/build/BuildLineTable.tsx:770
+#: src/tables/build/BuildLineTable.tsx:893
+msgid "Consume Stock"
+msgstr ""
+
+#: src/forms/BuildForms.tsx:856
+#: src/forms/BuildForms.tsx:957
+#~ msgid "Stock items scheduled to be consumed"
+#~ msgstr "Stock items scheduled to be consumed"
+
+#: src/forms/BuildForms.tsx:892
+#: src/tables/build/BuildLineTable.tsx:516
#: src/tables/part/PartBuildAllocationsTable.tsx:101
msgid "Fully consumed"
msgstr ""
-#: src/forms/BuildForms.tsx:898
-#: src/tables/build/BuildLineTable.tsx:188
-#: src/tables/stock/StockItemTable.tsx:367
+#: src/forms/BuildForms.tsx:937
+#: src/tables/build/BuildLineTable.tsx:193
+#: src/tables/stock/StockItemTable.tsx:221
msgid "Consumed"
msgstr ""
#: src/forms/CommonForms.tsx:92
-#: src/forms/PurchaseOrderForms.tsx:176
-#: src/forms/ReturnOrderForms.tsx:138
-#: src/forms/SalesOrderForms.tsx:185
+#: src/forms/PurchaseOrderForms.tsx:168
+#: src/forms/ReturnOrderForms.tsx:139
+#: src/forms/SalesOrderForms.tsx:190
msgid "Select project code for this line item"
msgstr ""
@@ -4572,16 +4640,16 @@ msgstr ""
#~ msgid "Company updated"
#~ msgstr "Company updated"
-#: src/forms/PartForms.tsx:99
-#: src/forms/PartForms.tsx:228
+#: src/forms/PartForms.tsx:101
+#: src/forms/PartForms.tsx:231
#: src/pages/part/CategoryDetail.tsx:127
-#: src/pages/part/PartDetail.tsx:668
+#: src/pages/part/PartDetail.tsx:685
#: src/tables/part/PartCategoryTable.tsx:94
-#: src/tables/part/PartTable.tsx:325
+#: src/tables/part/PartTable.tsx:326
msgid "Subscribed"
msgstr ""
-#: src/forms/PartForms.tsx:100
+#: src/forms/PartForms.tsx:102
msgid "Subscribe to notifications for this part"
msgstr ""
@@ -4593,11 +4661,11 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PartForms.tsx:214
+#: src/forms/PartForms.tsx:217
msgid "Parent part category"
msgstr ""
-#: src/forms/PartForms.tsx:229
+#: src/forms/PartForms.tsx:232
msgid "Subscribe to notifications for this category"
msgstr ""
@@ -4605,67 +4673,71 @@ msgstr ""
#~ msgid "Assign Batch Code{0}"
#~ msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:440
-msgid "Assign Batch Code and Serial Numbers"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:442
-msgid "Assign Batch Code"
-msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:435
+#~ msgid "Assign Batch Code and Serial Numbers"
+#~ msgstr "Assign Batch Code and Serial Numbers"
#: src/forms/PurchaseOrderForms.tsx:444
#: src/forms/StockForms.tsx:428
#~ msgid "Remove item from list"
#~ msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:462
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:470
+#: src/forms/PurchaseOrderForms.tsx:457
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:480
+#: src/forms/PurchaseOrderForms.tsx:467
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:490
+#: src/forms/PurchaseOrderForms.tsx:477
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:498
+#: src/forms/PurchaseOrderForms.tsx:485
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:559
+#: src/forms/PurchaseOrderForms.tsx:546
msgid "Set Location"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:554
+msgid "Assign Batch Code"
+msgstr ""
+
+#: src/forms/PurchaseOrderForms.tsx:563
+msgid "Assign Serial Numbers"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:566
#~ msgid "Serial numbers"
#~ msgstr "Serial numbers"
-#: src/forms/PurchaseOrderForms.tsx:576
+#: src/forms/PurchaseOrderForms.tsx:574
msgid "Set Expiry Date"
msgstr ""
+#: src/forms/PurchaseOrderForms.tsx:582
+#: src/forms/StockForms.tsx:701
+msgid "Adjust Packaging"
+msgstr ""
+
#: src/forms/PurchaseOrderForms.tsx:582
#~ msgid "Store at line item destination"
#~ msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:584
-#: src/forms/StockForms.tsx:693
-msgid "Adjust Packaging"
-msgstr ""
-
-#: src/forms/PurchaseOrderForms.tsx:592
-#: src/forms/StockForms.tsx:684
-#: src/hooks/UseStockAdjustActions.tsx:148
+#: src/forms/PurchaseOrderForms.tsx:590
+#: src/forms/StockForms.tsx:692
+#: src/hooks/UseStockAdjustActions.tsx:152
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:598
+#: src/forms/PurchaseOrderForms.tsx:596
msgid "Add Note"
msgstr ""
@@ -4673,56 +4745,56 @@ msgstr ""
#~ msgid "Receive line items"
#~ msgstr "Receive line items"
-#: src/forms/PurchaseOrderForms.tsx:662
+#: src/forms/PurchaseOrderForms.tsx:660
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:677
+#: src/forms/PurchaseOrderForms.tsx:675
msgid "Store at line item destination "
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:689
+#: src/forms/PurchaseOrderForms.tsx:687
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:713
-#: src/pages/build/BuildDetail.tsx:341
+#: src/forms/PurchaseOrderForms.tsx:711
+#: src/pages/build/BuildDetail.tsx:359
#: src/pages/stock/StockDetail.tsx:280
-#: src/pages/stock/StockDetail.tsx:952
-#: src/tables/Filter.tsx:83
-#: src/tables/build/BuildAllocatedStockTable.tsx:125
-#: src/tables/build/BuildOutputTable.tsx:112
+#: src/pages/stock/StockDetail.tsx:954
+#: src/tables/Filter.tsx:125
+#: src/tables/build/BuildAllocatedStockTable.tsx:116
+#: src/tables/build/BuildOutputTable.tsx:114
#: src/tables/part/PartTestResultTable.tsx:268
#: src/tables/part/PartTestResultTable.tsx:289
-#: src/tables/sales/SalesOrderAllocationTable.tsx:149
+#: src/tables/sales/SalesOrderAllocationTable.tsx:146
msgid "Batch Code"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:714
+#: src/forms/PurchaseOrderForms.tsx:712
msgid "Enter batch code for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:727
-#: src/forms/StockForms.tsx:218
+#: src/forms/PurchaseOrderForms.tsx:725
+#: src/forms/StockForms.tsx:224
msgid "Serial Numbers"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:726
msgid "Enter serial numbers for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:742
+#: src/forms/PurchaseOrderForms.tsx:743
#: src/pages/stock/StockDetail.tsx:382
-#: src/tables/stock/StockItemTable.tsx:294
+#: src/tables/stock/StockItemTable.tsx:148
msgid "Expiry Date"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:743
+#: src/forms/PurchaseOrderForms.tsx:744
msgid "Enter an expiry date for received items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:755
-#: src/forms/StockForms.tsx:728
+#: src/forms/PurchaseOrderForms.tsx:756
+#: src/forms/StockForms.tsx:736
#: src/pages/company/SupplierPartDetail.tsx:173
#: src/pages/company/SupplierPartDetail.tsx:237
#: src/pages/stock/StockDetail.tsx:419
@@ -4730,71 +4802,89 @@ msgstr ""
msgid "Packaging"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:779
+#: src/forms/PurchaseOrderForms.tsx:780
#: src/pages/company/SupplierPartDetail.tsx:121
-#: src/tables/ColumnRenderers.tsx:332
+#: src/tables/ColumnRenderers.tsx:517
msgid "Note"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/PurchaseOrderForms.tsx:852
#: src/pages/company/SupplierPartDetail.tsx:139
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:49
msgid "SKU"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:852
+#: src/forms/PurchaseOrderForms.tsx:853
#: src/tables/part/PartPurchaseOrdersTable.tsx:127
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:213
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:283
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:285
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:168
msgid "Received"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:869
+#: src/forms/PurchaseOrderForms.tsx:870
msgid "Receive Line Items"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:875
+#: src/forms/PurchaseOrderForms.tsx:876
msgid "Items received"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:257
+#: src/forms/ReturnOrderForms.tsx:258
msgid "Receive Items"
msgstr ""
-#: src/forms/ReturnOrderForms.tsx:264
+#: src/forms/ReturnOrderForms.tsx:265
msgid "Item received into stock"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:208
-#: src/forms/SalesOrderForms.tsx:210
-#: src/tables/sales/SalesOrderShipmentTable.tsx:215
+#. placeholder {0}: salePrice ? `; suggested: (${salePrice})` : '.'
+#: src/forms/SalesOrderForms.tsx:182
+msgid "Price based on part and quantity differs{0}"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:213
+#: src/forms/SalesOrderForms.tsx:215
+#: src/tables/sales/SalesOrderShipmentTable.tsx:210
msgid "Check Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:211
+#: src/forms/SalesOrderForms.tsx:216
msgid "Marking the shipment as checked indicates that you have verified that all items included in this shipment are correct"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:221
+#: src/forms/SalesOrderForms.tsx:226
msgid "Shipment marked as checked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:236
-#: src/forms/SalesOrderForms.tsx:238
-#: src/tables/sales/SalesOrderShipmentTable.tsx:228
+#: src/forms/SalesOrderForms.tsx:241
+#: src/forms/SalesOrderForms.tsx:243
+#: src/tables/sales/SalesOrderShipmentTable.tsx:223
msgid "Uncheck Shipment"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:239
+#: src/forms/SalesOrderForms.tsx:244
msgid "Marking the shipment as unchecked indicates that the shipment requires further verification"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:249
+#: src/forms/SalesOrderForms.tsx:254
msgid "Shipment marked as unchecked"
msgstr ""
-#: src/forms/SalesOrderForms.tsx:480
+#: src/forms/SalesOrderForms.tsx:272
+msgid "Completing shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:273
+msgid "Shipment completed successfully"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:280
+#: src/tables/sales/SalesOrderShipmentTable.tsx:233
+msgid "Complete Shipment"
+msgstr ""
+
+#: src/forms/SalesOrderForms.tsx:525
msgid "Leave blank to use the order address"
msgstr ""
@@ -4806,193 +4896,202 @@ msgstr ""
#~ msgid "Stock item updated"
#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:196
+#: src/forms/StockForms.tsx:202
msgid "Add given quantity as packs instead of individual items"
msgstr ""
-#: src/forms/StockForms.tsx:210
+#: src/forms/StockForms.tsx:216
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: src/forms/StockForms.tsx:220
+#: src/forms/StockForms.tsx:226
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: src/forms/StockForms.tsx:240
+#: src/forms/StockForms.tsx:246
msgid "Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:317
-#: src/pages/stock/StockDetail.tsx:686
-#: src/tables/stock/StockItemTable.tsx:525
-#: src/tables/stock/StockItemTable.tsx:572
+#: src/forms/StockForms.tsx:324
+#: src/pages/stock/StockDetail.tsx:687
+#: src/tables/stock/StockItemTable.tsx:406
+#: src/tables/stock/StockItemTable.tsx:454
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:361
+#: src/forms/StockForms.tsx:368
msgid "Select the part to install"
msgstr ""
-#: src/forms/StockForms.tsx:487
+#: src/forms/StockForms.tsx:494
msgid "Confirm Stock Transfer"
msgstr ""
-#: src/forms/StockForms.tsx:672
+#: src/forms/StockForms.tsx:680
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:795
+#: src/forms/StockForms.tsx:803
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:842
+#: src/forms/StockForms.tsx:850
msgid "Return"
msgstr ""
-#: src/forms/StockForms.tsx:979
+#: src/forms/StockForms.tsx:987
#: src/pages/Index/Scan.tsx:182
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:1262
-#: src/hooks/UseStockAdjustActions.tsx:108
+#: src/forms/StockForms.tsx:1294
+#: src/hooks/UseStockAdjustActions.tsx:112
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1263
+#: src/forms/StockForms.tsx:1295
msgid "Stock added"
msgstr ""
-#: src/forms/StockForms.tsx:1266
+#: src/forms/StockForms.tsx:1298
msgid "Increase the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1277
-#: src/hooks/UseStockAdjustActions.tsx:118
+#: src/forms/StockForms.tsx:1309
+#: src/hooks/UseStockAdjustActions.tsx:122
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1278
+#: src/forms/StockForms.tsx:1310
msgid "Stock removed"
msgstr ""
-#: src/forms/StockForms.tsx:1281
+#: src/forms/StockForms.tsx:1313
msgid "Decrease the quantity of the selected stock items by a given amount."
msgstr ""
-#: src/forms/StockForms.tsx:1292
-#: src/hooks/UseStockAdjustActions.tsx:128
+#: src/forms/StockForms.tsx:1324
+#: src/hooks/UseStockAdjustActions.tsx:132
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1293
+#: src/forms/StockForms.tsx:1325
msgid "Stock transferred"
msgstr ""
-#: src/forms/StockForms.tsx:1296
+#: src/forms/StockForms.tsx:1328
msgid "Transfer selected items to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1307
-#: src/hooks/UseStockAdjustActions.tsx:168
+#: src/forms/StockForms.tsx:1339
+#: src/hooks/UseStockAdjustActions.tsx:182
msgid "Return Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1308
+#: src/forms/StockForms.tsx:1340
msgid "Stock returned"
msgstr ""
-#: src/forms/StockForms.tsx:1311
+#: src/forms/StockForms.tsx:1343
msgid "Return selected items into stock, to the specified location."
msgstr ""
-#: src/forms/StockForms.tsx:1322
-#: src/hooks/UseStockAdjustActions.tsx:98
+#: src/forms/StockForms.tsx:1354
+#: src/hooks/UseStockAdjustActions.tsx:102
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1323
+#: src/forms/StockForms.tsx:1355
msgid "Stock counted"
msgstr ""
-#: src/forms/StockForms.tsx:1326
+#: src/forms/StockForms.tsx:1358
msgid "Count the selected stock items, and adjust the quantity accordingly."
msgstr ""
-#: src/forms/StockForms.tsx:1337
+#: src/forms/StockForms.tsx:1369
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:1338
+#: src/forms/StockForms.tsx:1370
msgid "Stock status changed"
msgstr ""
-#: src/forms/StockForms.tsx:1341
+#: src/forms/StockForms.tsx:1373
msgid "Change the status of the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1352
-#: src/hooks/UseStockAdjustActions.tsx:138
+#: src/forms/StockForms.tsx:1396
+#: src/hooks/UseStockAdjustActions.tsx:162
+msgid "Change Batch Code"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1399
+msgid "Change batch code for the selected stock items"
+msgstr ""
+
+#: src/forms/StockForms.tsx:1416
+#: src/hooks/UseStockAdjustActions.tsx:142
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:1353
+#: src/forms/StockForms.tsx:1417
msgid "Stock merged"
msgstr ""
-#: src/forms/StockForms.tsx:1355
+#: src/forms/StockForms.tsx:1419
msgid "Merge Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1357
+#: src/forms/StockForms.tsx:1421
msgid "Merge operation cannot be reversed"
msgstr ""
-#: src/forms/StockForms.tsx:1358
+#: src/forms/StockForms.tsx:1422
msgid "Tracking information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1359
+#: src/forms/StockForms.tsx:1423
msgid "Supplier information may be lost when merging items"
msgstr ""
-#: src/forms/StockForms.tsx:1377
+#: src/forms/StockForms.tsx:1441
msgid "Assign Stock to Customer"
msgstr ""
-#: src/forms/StockForms.tsx:1378
+#: src/forms/StockForms.tsx:1442
msgid "Stock assigned to customer"
msgstr ""
-#: src/forms/StockForms.tsx:1388
+#: src/forms/StockForms.tsx:1452
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:1389
+#: src/forms/StockForms.tsx:1453
msgid "Stock deleted"
msgstr ""
-#: src/forms/StockForms.tsx:1392
+#: src/forms/StockForms.tsx:1456
msgid "This operation will permanently delete the selected stock items."
msgstr ""
-#: src/forms/StockForms.tsx:1401
+#: src/forms/StockForms.tsx:1465
msgid "Parent stock location"
msgstr ""
-#: src/forms/StockForms.tsx:1528
+#: src/forms/StockForms.tsx:1596
msgid "Find Serial Number"
msgstr ""
-#: src/forms/StockForms.tsx:1539
+#: src/forms/StockForms.tsx:1607
msgid "No matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1545
+#: src/forms/StockForms.tsx:1613
msgid "Multiple matching items"
msgstr ""
-#: src/forms/StockForms.tsx:1554
+#: src/forms/StockForms.tsx:1622
msgid "Invalid response from server"
msgstr ""
@@ -5005,10 +5104,10 @@ msgid "List of entries to choose from"
msgstr ""
#: src/forms/selectionListFields.tsx:100
-#: src/pages/part/PartStockHistoryDetail.tsx:59
-#: src/tables/FilterSelectDrawer.tsx:114
-#: src/tables/FilterSelectDrawer.tsx:137
-#: src/tables/FilterSelectDrawer.tsx:149
+#: src/pages/part/PartStockHistoryDetail.tsx:64
+#: src/tables/FilterSelectDrawer.tsx:155
+#: src/tables/FilterSelectDrawer.tsx:178
+#: src/tables/FilterSelectDrawer.tsx:190
#: src/tables/part/PartTestResultTable.tsx:206
#: src/tables/stock/StockItemTestResultTable.tsx:207
msgid "Value"
@@ -5062,99 +5161,110 @@ msgstr ""
#~ msgid "You have been logged out"
#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:123
-#: src/functions/auth.tsx:344
-msgid "Already logged in"
-msgstr ""
-
#: src/functions/auth.tsx:124
-#: src/functions/auth.tsx:345
-msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+#: src/functions/auth.tsx:216
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:142
-msgid "No response from server."
+#: src/functions/auth.tsx:125
+msgid "There was a conflicting session for this browser, which has been logged out."
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 "No response from server."
+msgstr ""
+
#: src/functions/auth.tsx:143
#~ msgid "Found an existing login - welcome back!"
#~ msgstr "Found an existing login - welcome back!"
-#: src/functions/auth.tsx:179
+#: src/functions/auth.tsx:186
msgid "MFA Login successful"
msgstr ""
-#: src/functions/auth.tsx:180
+#: src/functions/auth.tsx:187
msgid "MFA details were automatically provided in the browser"
msgstr ""
-#: src/functions/auth.tsx:209
-msgid "Logged Out"
-msgstr ""
-
-#: src/functions/auth.tsx:210
+#: src/functions/auth.tsx:217
msgid "Successfully logged out"
msgstr ""
-#: src/functions/auth.tsx:249
+#: src/functions/auth.tsx:284
msgid "Language changed"
msgstr ""
-#: src/functions/auth.tsx:250
+#: src/functions/auth.tsx:285
msgid "Your active language has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:270
+#: src/functions/auth.tsx:306
msgid "Theme changed"
msgstr ""
-#: src/functions/auth.tsx:271
+#: src/functions/auth.tsx:307
msgid "Your active theme has been changed to the one set in your profile"
msgstr ""
-#: src/functions/auth.tsx:305
+#: src/functions/auth.tsx:342
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:312
-#: src/functions/auth.tsx:569
+#: src/functions/auth.tsx:349
+#: src/functions/auth.tsx:613
msgid "Reset failed"
msgstr ""
-#: src/functions/auth.tsx:401
+#: src/functions/auth.tsx:376
+msgid "Already logged in"
+msgstr ""
+
+#: src/functions/auth.tsx:377
+msgid "There is a conflicting session on the server for this browser. Please logout of that first."
+msgstr ""
+
+#: src/functions/auth.tsx:433
msgid "Logged In"
msgstr ""
-#: src/functions/auth.tsx:402
+#: src/functions/auth.tsx:434
msgid "Successfully logged in"
msgstr ""
-#: src/functions/auth.tsx:529
+#: src/functions/auth.tsx:568
msgid "Failed to set up MFA"
msgstr ""
-#: src/functions/auth.tsx:559
+#: src/functions/auth.tsx:587
+msgid "MFA Setup successful"
+msgstr ""
+
+#: src/functions/auth.tsx:588
+msgid "MFA via TOTP has been set up successfully; you will need to login again."
+msgstr ""
+
+#: src/functions/auth.tsx:603
msgid "Password set"
msgstr ""
-#: src/functions/auth.tsx:560
-#: src/functions/auth.tsx:669
+#: src/functions/auth.tsx:604
+#: src/functions/auth.tsx:713
msgid "The password was set successfully. You can now login with your new password"
msgstr ""
-#: src/functions/auth.tsx:634
+#: src/functions/auth.tsx:678
msgid "Password could not be changed"
msgstr ""
-#: src/functions/auth.tsx:652
+#: src/functions/auth.tsx:696
msgid "The two password fields didn’t match"
msgstr ""
-#: src/functions/auth.tsx:668
+#: src/functions/auth.tsx:712
msgid "Password Changed"
msgstr ""
@@ -5210,23 +5320,14 @@ msgstr ""
msgid "Exporting Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:109
+#: src/hooks/UseDataExport.tsx:111
msgid "Export Data"
msgstr ""
-#: src/hooks/UseDataExport.tsx:112
+#: src/hooks/UseDataExport.tsx:114
msgid "Export"
msgstr ""
-#: src/hooks/UseDataOutput.tsx:57
-#: src/hooks/UseDataOutput.tsx:111
-msgid "Process failed"
-msgstr ""
-
-#: src/hooks/UseDataOutput.tsx:75
-msgid "Process completed successfully"
-msgstr ""
-
#: src/hooks/UseForm.tsx:96
msgid "Item Created"
msgstr ""
@@ -5255,52 +5356,56 @@ msgstr ""
#~ msgid "Latest serial number"
#~ msgstr "Latest serial number"
-#: src/hooks/UseStockAdjustActions.tsx:100
+#: src/hooks/UseStockAdjustActions.tsx:104
msgid "Count selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:110
+#: src/hooks/UseStockAdjustActions.tsx:114
msgid "Add to selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:120
+#: src/hooks/UseStockAdjustActions.tsx:124
msgid "Remove from selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:130
+#: src/hooks/UseStockAdjustActions.tsx:134
msgid "Transfer selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:140
+#: src/hooks/UseStockAdjustActions.tsx:144
msgid "Merge selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:150
+#: src/hooks/UseStockAdjustActions.tsx:154
msgid "Change status of selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:158
+#: src/hooks/UseStockAdjustActions.tsx:164
+msgid "Change batch code of selected stock items"
+msgstr ""
+
+#: src/hooks/UseStockAdjustActions.tsx:172
msgid "Assign Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:160
+#: src/hooks/UseStockAdjustActions.tsx:174
msgid "Assign selected stock items to a customer"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:170
+#: src/hooks/UseStockAdjustActions.tsx:184
msgid "Return selected items into stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:178
+#: src/hooks/UseStockAdjustActions.tsx:192
msgid "Delete Stock"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:180
+#: src/hooks/UseStockAdjustActions.tsx:194
msgid "Delete selected stock items"
msgstr ""
-#: src/hooks/UseStockAdjustActions.tsx:205
-#: src/pages/part/PartDetail.tsx:1158
+#: src/hooks/UseStockAdjustActions.tsx:219
+#: src/pages/part/PartDetail.tsx:1173
msgid "Stock Actions"
msgstr ""
@@ -5357,15 +5462,15 @@ msgstr ""
#~ msgid "Register below"
#~ msgstr "Register below"
-#: src/pages/Auth/Login.tsx:100
+#: src/pages/Auth/Login.tsx:102
msgid "Login"
msgstr ""
-#: src/pages/Auth/Login.tsx:106
+#: src/pages/Auth/Login.tsx:108
msgid "Logging you in"
msgstr ""
-#: src/pages/Auth/Login.tsx:113
+#: src/pages/Auth/Login.tsx:115
msgid "Don't have an account?"
msgstr ""
@@ -5383,12 +5488,12 @@ msgstr ""
#~ msgstr "Enter your TOTP or recovery code"
#: src/pages/Auth/MFA.tsx:29
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:86
msgid "Multi-Factor Authentication"
msgstr ""
#: src/pages/Auth/MFA.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:217
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
msgid "TOTP Code"
msgstr ""
@@ -5886,7 +5991,7 @@ msgid "Position"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:953
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:967
msgid "Type"
msgstr ""
@@ -5933,220 +6038,220 @@ msgstr ""
msgid "{0}"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:103
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:105
msgid "Reauthentication Succeeded"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:104
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:106
msgid "You have been reauthenticated successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:112
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:114
msgid "Error during reauthentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:115
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:117
msgid "Reauthentication Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:116
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:118
msgid "Failed to reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:131
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:171
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:173
msgid "Reauthenticate"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:133
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:135
msgid "Reauthentiction is required to continue."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:197
msgid "Enter your password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:219
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:221
msgid "Enter one of your TOTP codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:271
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:273
msgid "WebAuthn Credential Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:272
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:274
msgid "WebAuthn credential removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:281
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:283
msgid "Error removing WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:302
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:304
msgid "Remove WebAuthn Credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:310
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:401
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
#: src/tables/build/BuildAllocatedStockTable.tsx:181
-#: src/tables/build/BuildLineTable.tsx:668
-#: src/tables/sales/SalesOrderAllocationTable.tsx:220
+#: src/tables/build/BuildLineTable.tsx:674
+#: src/tables/sales/SalesOrderAllocationTable.tsx:219
msgid "Confirm Removal"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:312
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:314
msgid "Confirm removal of webauth credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:364
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:366
msgid "TOTP Removed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:365
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:367
msgid "TOTP token removed successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:375
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:377
msgid "Error removing TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:394
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:396
msgid "Remove TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:403
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:405
msgid "Confirm removal of TOTP code"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:463
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:465
msgid "TOTP Already Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:464
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:466
msgid "A TOTP token is already registered for this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:479
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:481
msgid "Error Fetching TOTP Registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:480
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:482
msgid "An unexpected error occurred while fetching TOTP registration data."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:522
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:524
msgid "TOTP Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:523
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:525
msgid "TOTP token registered successfully."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:532
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:534
msgid "Error registering TOTP token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:551
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:553
msgid "Register TOTP Token"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:596
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:598
msgid "Error fetching recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:632
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:648
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:852
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:634
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:866
msgid "Recovery Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:650
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:652
msgid "The following one time recovery codes are available for use"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:667
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:669
msgid "Copy recovery codes to clipboard"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:677
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
msgid "No Unused Codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:679
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:681
msgid "There are no available recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:768
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
msgid "WebAuthn Registered"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:769
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:783
msgid "WebAuthn credential registered successfully"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:778
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:792
msgid "Error registering WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:781
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:795
msgid "WebAuthn Registration Failed"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:782
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:796
msgid "Failed to register WebAuthn credential"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:805
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:819
msgid "Error fetching WebAuthn registration"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:845
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
msgid "TOTP"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:846
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
msgid "Time-based One-Time Password"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:853
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:867
msgid "One-Time pre-generated recovery codes"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:859
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:873
msgid "WebAuthn"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:860
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:874
msgid "Web Authentication (WebAuthn) is a web standard for secure authentication"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:956
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
msgid "Last used at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:959
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:973
msgid "Created at"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:970
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:348
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:984
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:204
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:362
msgid "Not Configured"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:974
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:988
msgid "No multi-factor tokens configured for this account"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:979
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:993
msgid "Register Authentication Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:995
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1009
msgid "No MFA Methods Available"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:999
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:1013
msgid "There are no MFA methods available for configuration"
msgstr ""
@@ -6162,47 +6267,47 @@ msgstr ""
msgid "Enter the TOTP code to ensure it registered correctly"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:51
-msgid "Email Addresses"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:55
#~ msgid "Single Sign On Accounts"
#~ msgstr "Single Sign On Accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
-msgid "Single Sign On"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60
+msgid "Email Addresses"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67
-msgid "Not enabled"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:68
+msgid "Single Sign On"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:69
#~ msgid "Multifactor"
#~ msgstr "Multifactor"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:70
-msgid "Single Sign On is not enabled for this server "
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:71
#~ msgid "Single Sign On is not enabled for this server"
#~ msgstr "Single Sign On is not enabled for this server"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:76
+msgid "Not enabled"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:79
+msgid "Single Sign On is not enabled for this server "
+msgstr ""
+
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:83
#~ msgid "Multifactor authentication is not configured for your account"
#~ msgstr "Multifactor authentication is not configured for your account"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:85
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
msgid "Access Tokens"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:94
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:108
msgid "Session Information"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:146
#: src/tables/general/BarcodeScanTable.tsx:60
#: src/tables/settings/BarcodeScanHistoryTable.tsx:75
#: src/tables/settings/EmailTable.tsx:131
@@ -6210,60 +6315,57 @@ msgstr ""
msgid "Timestamp"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:133
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:147
msgid "Method"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:190
msgid "Error while updating email"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:193
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:207
msgid "Currently no email addresses are registered."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:201
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:215
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:214
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:228
+#: src/tables/purchasing/SupplierPartTable.tsx:253
msgid "Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:219
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:233
msgid "Verified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:223
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:237
msgid "Unverified"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:241
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255
msgid "Make Primary"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:247
-msgid "Re-send Verification"
-msgstr ""
-
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:261
-msgid "Add Email Address"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263
-msgid "E-Mail"
-msgstr ""
-
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:264
-msgid "E-Mail address"
+msgid "Re-send Verification"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:270
#~ msgid "Provider has not been configured"
#~ msgstr "Provider has not been configured"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276
-msgid "Error while adding email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275
+msgid "Add Email Address"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:277
+msgid "E-Mail"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278
+msgid "E-Mail address"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:280
@@ -6274,23 +6376,27 @@ msgstr ""
#~ msgid "There are no social network accounts connected to this account."
#~ msgstr "There are no social network accounts connected to this account."
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:287
-msgid "Add Email"
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:290
+msgid "Error while adding email"
msgstr ""
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:293
#~ msgid "You can sign in to your account using any of the following third party accounts"
#~ msgstr "You can sign in to your account using any of the following third party accounts"
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:351
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301
+msgid "Add Email"
+msgstr ""
+
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:365
msgid "There are no providers connected to this account."
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:360
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:374
msgid "You can sign in to your account using any of the following providers"
msgstr ""
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:373
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:387
msgid "Remove Provider Link"
msgstr ""
@@ -6420,7 +6526,7 @@ msgstr ""
#~ msgstr "Advanced Amininistrative Options for InvenTree"
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:28
-#: src/tables/ColumnRenderers.tsx:538
+#: src/tables/ColumnRenderers.tsx:753
msgid "Currency"
msgstr ""
@@ -6685,12 +6791,8 @@ msgstr ""
#~ msgid "Stocktake Reports"
#~ msgstr "Stocktake Reports"
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:30
-msgid "Background worker not running"
-msgstr ""
-
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:31
-msgid "The background task manager service is not running. Contact your system administrator."
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:32
+msgid "Background worker running"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:35
@@ -6698,17 +6800,25 @@ msgstr ""
#~ msgstr "Background Worker Not Running"
#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:38
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:47
+msgid "Background worker not running"
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:42
+msgid "The background task manager service is not running. Contact your system administrator."
+msgstr ""
+
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:49
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:58
msgid "Pending Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:39
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:55
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:50
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:66
msgid "Scheduled Tasks"
msgstr ""
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:40
-#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:63
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:51
+#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:74
msgid "Failed Tasks"
msgstr ""
@@ -6805,6 +6915,16 @@ msgstr ""
msgid "Labels"
msgstr ""
+#: src/pages/Index/Settings/SystemSettings.tsx:260
+msgid "Part Stocktake"
+msgstr ""
+
+#: src/pages/Index/Settings/SystemSettings.tsx:271
+#: src/pages/part/PartStockHistoryDetail.tsx:296
+#: src/pages/stock/StockDetail.tsx:532
+msgid "Stock Tracking"
+msgstr ""
+
#: src/pages/Index/Settings/SystemSettings.tsx:317
#~ msgid "Switch to User Setting"
#~ msgstr "Switch to User Setting"
@@ -6889,15 +7009,6 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:216
-#: src/pages/part/PartDetail.tsx:480
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/bom/UsedInTable.tsx:44
-#: src/tables/build/BuildOrderTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:74
-msgid "Revision"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:221
#~ msgid "Edit build order"
#~ msgstr "Edit build order"
@@ -6906,7 +7017,20 @@ msgstr ""
#~ msgid "Duplicate build order"
#~ msgstr "Duplicate build order"
-#: src/pages/build/BuildDetail.tsx:229
+#: src/pages/build/BuildDetail.tsx:231
+#~ msgid "Delete build order"
+#~ msgstr "Delete build order"
+
+#: src/pages/build/BuildDetail.tsx:234
+#: src/pages/part/PartDetail.tsx:497
+#: src/pages/stock/StockDetail.tsx:161
+#: src/tables/bom/UsedInTable.tsx:49
+#: src/tables/build/BuildOrderTable.tsx:87
+#: src/tables/stock/StockItemTable.tsx:66
+msgid "Revision"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:247
#: src/pages/purchasing/PurchaseOrderDetail.tsx:175
#: src/pages/sales/ReturnOrderDetail.tsx:142
#: src/pages/sales/SalesOrderDetail.tsx:132
@@ -6914,291 +7038,287 @@ msgstr ""
msgid "Custom Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:231
-#~ msgid "Delete build order"
-#~ msgstr "Delete build order"
-
-#: src/pages/build/BuildDetail.tsx:238
-#: src/pages/build/BuildDetail.tsx:728
+#: src/pages/build/BuildDetail.tsx:256
+#: src/pages/build/BuildDetail.tsx:750
#: src/pages/build/BuildIndex.tsx:34
-#: src/pages/stock/LocationDetail.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:123
-#: src/tables/build/BuildOrderTable.tsx:183
+#: src/pages/stock/LocationDetail.tsx:149
+#: src/tables/build/BuildOrderTable.tsx:127
+#: src/tables/build/BuildOrderTable.tsx:188
#: src/tables/stock/StockLocationTable.tsx:48
msgid "External"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:245
+#: src/pages/build/BuildDetail.tsx:263
#: src/pages/purchasing/PurchaseOrderDetail.tsx:142
#: src/pages/sales/ReturnOrderDetail.tsx:109
#: src/pages/sales/SalesOrderDetail.tsx:99
-#: src/tables/ColumnRenderers.tsx:321
-#: src/tables/build/BuildAllocatedStockTable.tsx:112
-#: src/tables/build/BuildLineTable.tsx:353
+#: src/tables/ColumnRenderers.tsx:505
+#: src/tables/build/BuildAllocatedStockTable.tsx:110
+#: src/tables/build/BuildLineTable.tsx:354
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:259
+#: src/pages/build/BuildDetail.tsx:277
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
+#: src/pages/build/BuildDetail.tsx:288
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:276
-#: src/pages/part/PartDetail.tsx:598
-#: src/tables/bom/BomTable.tsx:365
-#: src/tables/bom/BomTable.tsx:407
+#: src/pages/build/BuildDetail.tsx:294
+#: src/pages/part/PartDetail.tsx:615
+#: src/tables/bom/BomTable.tsx:364
+#: src/tables/bom/BomTable.tsx:406
msgid "Can Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:285
-#: src/pages/build/BuildDetail.tsx:475
+#: src/pages/build/BuildDetail.tsx:303
+#: src/pages/build/BuildDetail.tsx:494
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:302
-#: src/tables/Filter.tsx:381
-#: src/tables/build/BuildOrderTable.tsx:143
+#: src/pages/build/BuildDetail.tsx:320
+#: src/tables/Filter.tsx:441
+#: src/tables/build/BuildOrderTable.tsx:147
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:310
-#: src/pages/part/PartDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/part/PartDetail.tsx:708
#: src/pages/purchasing/PurchaseOrderDetail.tsx:262
#: src/pages/sales/ReturnOrderDetail.tsx:240
#: src/pages/sales/SalesOrderDetail.tsx:233
-#: src/tables/ColumnRenderers.tsx:464
-#: src/tables/Filter.tsx:319
+#: src/tables/ColumnRenderers.tsx:668
+#: src/tables/Filter.tsx:379
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:346
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:335
-msgid "Destination Location"
-msgstr ""
-
#: src/pages/build/BuildDetail.tsx:347
#: src/pages/part/PartDetail.tsx:727
#~ msgid "Test Statistics"
#~ msgstr "Test Statistics"
-#: src/pages/build/BuildDetail.tsx:351
-#: src/tables/settings/ApiTokenTable.tsx:97
-#: src/tables/settings/PendingTasksTable.tsx:41
-msgid "Created"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:359
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
-#: src/pages/sales/ReturnOrderDetail.tsx:266
-#: src/pages/sales/SalesOrderDetail.tsx:258
-#: src/tables/ColumnRenderers.tsx:486
-msgid "Start Date"
-msgstr ""
-
-#: src/pages/build/BuildDetail.tsx:367
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
-#: src/pages/sales/ReturnOrderDetail.tsx:274
-#: src/pages/sales/SalesOrderDetail.tsx:266
-#: src/tables/ColumnRenderers.tsx:494
-#: src/tables/part/PartPurchaseOrdersTable.tsx:101
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:154
-#: src/tables/sales/SalesOrderLineItemTable.tsx:134
-msgid "Target Date"
+#: src/pages/build/BuildDetail.tsx:353
+msgid "Destination Location"
msgstr ""
#: src/pages/build/BuildDetail.tsx:368
#~ msgid "Reporting Actions"
#~ msgstr "Reporting Actions"
+#: src/pages/build/BuildDetail.tsx:369
+#: src/tables/settings/ApiTokenTable.tsx:98
+#: src/tables/settings/PendingTasksTable.tsx:41
+msgid "Created"
+msgstr ""
+
#: src/pages/build/BuildDetail.tsx:374
#~ msgid "Print build report"
#~ msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:375
-#: src/tables/build/BuildOrderTable.tsx:93
-#: src/tables/sales/SalesOrderLineItemTable.tsx:347
+#: src/pages/build/BuildDetail.tsx:377
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/sales/ReturnOrderDetail.tsx:266
+#: src/pages/sales/SalesOrderDetail.tsx:258
+#: src/tables/ColumnRenderers.tsx:691
+msgid "Start Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:385
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:295
+#: src/pages/sales/ReturnOrderDetail.tsx:274
+#: src/pages/sales/SalesOrderDetail.tsx:266
+#: src/tables/ColumnRenderers.tsx:699
+#: src/tables/part/PartPurchaseOrdersTable.tsx:101
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:151
+#: src/tables/sales/SalesOrderLineItemTable.tsx:128
+msgid "Target Date"
+msgstr ""
+
+#: src/pages/build/BuildDetail.tsx:393
+#: src/tables/build/BuildOrderTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:342
msgid "Completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:411
+#: src/pages/build/BuildDetail.tsx:429
msgid "Build Details"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:417
+#: src/pages/build/BuildDetail.tsx:435
msgid "Required Parts"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:429
-#: src/pages/sales/SalesOrderDetail.tsx:408
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:259
-#: src/tables/part/PartSalesAllocationsTable.tsx:73
+#: src/pages/build/BuildDetail.tsx:447
+#: src/pages/sales/SalesOrderDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:257
+#: src/tables/part/PartSalesAllocationsTable.tsx:71
msgid "Allocated Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:445
+#: src/pages/build/BuildDetail.tsx:463
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:462
+#: src/pages/build/BuildDetail.tsx:481
msgid "Incomplete Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:490
+#: src/pages/build/BuildDetail.tsx:509
msgid "External Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:504
+#: src/pages/build/BuildDetail.tsx:523
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:514
-#: src/pages/part/PartDetail.tsx:926
+#: src/pages/build/BuildDetail.tsx:534
+#: src/pages/part/PartDetail.tsx:936
#: src/pages/stock/StockDetail.tsx:587
-#: src/tables/build/BuildOutputTable.tsx:654
+#: src/tables/build/BuildOutputTable.tsx:704
#: src/tables/stock/StockItemTestResultTable.tsx:173
msgid "Test Results"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:555
+#: src/pages/build/BuildDetail.tsx:577
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:577
-#: src/tables/build/BuildOrderTable.tsx:207
-#: src/tables/build/BuildOrderTable.tsx:223
+#: src/pages/build/BuildDetail.tsx:599
+#: src/tables/build/BuildOrderTable.tsx:212
+#: src/tables/build/BuildOrderTable.tsx:228
msgid "Add Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:587
+#: src/pages/build/BuildDetail.tsx:609
msgid "Cancel Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:589
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:421
-#: src/pages/sales/ReturnOrderDetail.tsx:432
-#: src/pages/sales/SalesOrderDetail.tsx:459
+#: src/pages/build/BuildDetail.tsx:611
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:431
+#: src/pages/sales/ReturnOrderDetail.tsx:442
+#: src/pages/sales/SalesOrderDetail.tsx:469
msgid "Order cancelled"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:590
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
-#: src/pages/sales/ReturnOrderDetail.tsx:431
-#: src/pages/sales/SalesOrderDetail.tsx:458
+#: src/pages/build/BuildDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:430
+#: src/pages/sales/ReturnOrderDetail.tsx:441
+#: src/pages/sales/SalesOrderDetail.tsx:468
msgid "Cancel this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:599
+#: src/pages/build/BuildDetail.tsx:621
msgid "Hold Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:601
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
-#: src/pages/sales/ReturnOrderDetail.tsx:439
-#: src/pages/sales/SalesOrderDetail.tsx:466
+#: src/pages/build/BuildDetail.tsx:623
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:438
+#: src/pages/sales/ReturnOrderDetail.tsx:449
+#: src/pages/sales/SalesOrderDetail.tsx:476
msgid "Place this order on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:429
-#: src/pages/sales/ReturnOrderDetail.tsx:440
-#: src/pages/sales/SalesOrderDetail.tsx:467
+#: src/pages/build/BuildDetail.tsx:624
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:439
+#: src/pages/sales/ReturnOrderDetail.tsx:450
+#: src/pages/sales/SalesOrderDetail.tsx:477
msgid "Order placed on hold"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:607
+#: src/pages/build/BuildDetail.tsx:629
msgid "Issue Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:609
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:412
-#: src/pages/sales/ReturnOrderDetail.tsx:423
-#: src/pages/sales/SalesOrderDetail.tsx:450
+#: src/pages/build/BuildDetail.tsx:631
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:422
+#: src/pages/sales/ReturnOrderDetail.tsx:433
+#: src/pages/sales/SalesOrderDetail.tsx:460
msgid "Issue this order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:610
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:413
-#: src/pages/sales/ReturnOrderDetail.tsx:424
-#: src/pages/sales/SalesOrderDetail.tsx:451
+#: src/pages/build/BuildDetail.tsx:632
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:423
+#: src/pages/sales/ReturnOrderDetail.tsx:434
+#: src/pages/sales/SalesOrderDetail.tsx:461
msgid "Order issued"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:629
+#: src/pages/build/BuildDetail.tsx:651
msgid "Complete Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:635
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:441
-#: src/pages/sales/ReturnOrderDetail.tsx:447
-#: src/pages/sales/SalesOrderDetail.tsx:485
+#: src/pages/build/BuildDetail.tsx:657
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:451
+#: src/pages/sales/ReturnOrderDetail.tsx:457
+#: src/pages/sales/SalesOrderDetail.tsx:495
msgid "Mark this order as complete"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:638
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:435
-#: src/pages/sales/ReturnOrderDetail.tsx:448
-#: src/pages/sales/SalesOrderDetail.tsx:486
+#: src/pages/build/BuildDetail.tsx:660
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:458
+#: src/pages/sales/SalesOrderDetail.tsx:496
msgid "Order completed"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:665
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:464
-#: src/pages/sales/ReturnOrderDetail.tsx:475
-#: src/pages/sales/SalesOrderDetail.tsx:521
+#: src/pages/build/BuildDetail.tsx:687
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:474
+#: src/pages/sales/ReturnOrderDetail.tsx:485
+#: src/pages/sales/SalesOrderDetail.tsx:531
msgid "Issue Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:672
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:471
-#: src/pages/sales/ReturnOrderDetail.tsx:482
-#: src/pages/sales/SalesOrderDetail.tsx:535
+#: src/pages/build/BuildDetail.tsx:694
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:481
+#: src/pages/sales/ReturnOrderDetail.tsx:492
+#: src/pages/sales/SalesOrderDetail.tsx:545
msgid "Complete Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:691
+#: src/pages/build/BuildDetail.tsx:713
msgid "Build Order Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:696
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:494
-#: src/pages/sales/ReturnOrderDetail.tsx:505
-#: src/pages/sales/SalesOrderDetail.tsx:559
+#: src/pages/build/BuildDetail.tsx:718
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:504
+#: src/pages/sales/ReturnOrderDetail.tsx:515
+#: src/pages/sales/SalesOrderDetail.tsx:569
msgid "Edit order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:700
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:502
-#: src/pages/sales/ReturnOrderDetail.tsx:511
-#: src/pages/sales/SalesOrderDetail.tsx:564
+#: src/pages/build/BuildDetail.tsx:722
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:512
+#: src/pages/sales/ReturnOrderDetail.tsx:521
+#: src/pages/sales/SalesOrderDetail.tsx:574
msgid "Duplicate order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:704
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:505
-#: src/pages/sales/ReturnOrderDetail.tsx:516
-#: src/pages/sales/SalesOrderDetail.tsx:567
+#: src/pages/build/BuildDetail.tsx:726
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:515
+#: src/pages/sales/ReturnOrderDetail.tsx:526
+#: src/pages/sales/SalesOrderDetail.tsx:577
msgid "Hold order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:709
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:510
-#: src/pages/sales/ReturnOrderDetail.tsx:521
-#: src/pages/sales/SalesOrderDetail.tsx:572
+#: src/pages/build/BuildDetail.tsx:731
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:520
+#: src/pages/sales/ReturnOrderDetail.tsx:531
+#: src/pages/sales/SalesOrderDetail.tsx:582
msgid "Cancel order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:747
+#: src/pages/build/BuildDetail.tsx:769
#: src/pages/stock/StockDetail.tsx:344
-#: src/tables/build/BuildAllocatedStockTable.tsx:82
+#: src/tables/build/BuildAllocatedStockTable.tsx:85
#: src/tables/part/PartBuildAllocationsTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:157
-#: src/tables/stock/StockTrackingTable.tsx:109
+#: src/tables/stock/StockTrackingTable.tsx:141
msgid "Build Order"
msgstr ""
@@ -7207,7 +7327,7 @@ msgstr ""
#~ msgstr "Build order created"
#: src/pages/build/BuildIndex.tsx:35
-#: src/tables/build/BuildOrderTable.tsx:184
+#: src/tables/build/BuildOrderTable.tsx:189
msgid "Show external build orders"
msgstr ""
@@ -7219,12 +7339,13 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:292
#: src/pages/purchasing/PurchasingIndex.tsx:74
#: src/pages/purchasing/PurchasingIndex.tsx:107
-#: src/pages/purchasing/PurchasingIndex.tsx:135
-#: src/pages/purchasing/PurchasingIndex.tsx:156
-#: src/pages/purchasing/PurchasingIndex.tsx:184
+#: src/pages/purchasing/PurchasingIndex.tsx:136
+#: src/pages/purchasing/PurchasingIndex.tsx:157
+#: src/pages/purchasing/PurchasingIndex.tsx:186
#: src/pages/sales/SalesIndex.tsx:61
#: src/pages/sales/SalesIndex.tsx:107
#: src/pages/sales/SalesIndex.tsx:140
+#: src/pages/stock/LocationDetail.tsx:193
msgid "Table View"
msgstr ""
@@ -7238,20 +7359,17 @@ msgstr ""
#: src/pages/build/BuildIndex.tsx:86
#: src/pages/part/CategoryDetail.tsx:306
#: src/pages/purchasing/PurchasingIndex.tsx:92
-#: src/pages/purchasing/PurchasingIndex.tsx:118
-#: src/pages/purchasing/PurchasingIndex.tsx:141
-#: src/pages/purchasing/PurchasingIndex.tsx:167
-#: src/pages/purchasing/PurchasingIndex.tsx:190
+#: src/pages/purchasing/PurchasingIndex.tsx:119
+#: src/pages/purchasing/PurchasingIndex.tsx:142
+#: src/pages/purchasing/PurchasingIndex.tsx:169
+#: src/pages/purchasing/PurchasingIndex.tsx:192
#: src/pages/sales/SalesIndex.tsx:79
#: src/pages/sales/SalesIndex.tsx:125
-#: src/pages/sales/SalesIndex.tsx:151
+#: src/pages/sales/SalesIndex.tsx:152
+#: src/pages/stock/LocationDetail.tsx:199
msgid "Parametric View"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:100
-msgid "Website"
-msgstr ""
-
#: src/pages/company/CompanyDetail.tsx:108
msgid "Phone Number"
msgstr ""
@@ -7271,11 +7389,11 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:143
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:103
-#: src/pages/company/ManufacturerPartDetail.tsx:271
+#: src/pages/company/ManufacturerPartDetail.tsx:272
#: src/pages/company/SupplierPartDetail.tsx:153
-#: src/tables/Filter.tsx:347
-#: src/tables/company/CompanyTable.tsx:101
-#: src/tables/purchasing/SupplierPartTable.tsx:89
+#: src/tables/Filter.tsx:407
+#: src/tables/company/CompanyTable.tsx:110
+#: src/tables/purchasing/SupplierPartTable.tsx:113
msgid "Manufacturer"
msgstr ""
@@ -7284,15 +7402,15 @@ msgstr ""
#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
#: src/pages/sales/ReturnOrderDetail.tsx:124
#: src/pages/sales/SalesOrderDetail.tsx:114
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:111
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:109
#: src/pages/stock/StockDetail.tsx:370
-#: src/tables/company/CompanyTable.tsx:106
+#: src/tables/company/CompanyTable.tsx:115
#: src/tables/sales/ReturnOrderParametricTable.tsx:32
-#: src/tables/sales/ReturnOrderTable.tsx:108
+#: src/tables/sales/ReturnOrderTable.tsx:125
#: src/tables/sales/SalesOrderParametricTable.tsx:32
-#: src/tables/sales/SalesOrderShipmentTable.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:133
-#: src/tables/stock/StockTrackingTable.tsx:153
+#: src/tables/sales/SalesOrderShipmentTable.tsx:125
+#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/tables/stock/StockTrackingTable.tsx:185
msgid "Customer"
msgstr ""
@@ -7320,16 +7438,16 @@ msgstr ""
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:287
-#: src/tables/company/CompanyTable.tsx:82
+#: src/pages/company/CompanyDetail.tsx:289
+#: src/tables/company/CompanyTable.tsx:91
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:295
+#: src/pages/company/CompanyDetail.tsx:297
msgid "Delete Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:310
+#: src/pages/company/CompanyDetail.tsx:312
msgid "Company Actions"
msgstr ""
@@ -7349,7 +7467,7 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:147
#: src/pages/company/SupplierPartDetail.tsx:233
-#: src/pages/part/PartDetail.tsx:787
+#: src/pages/part/PartDetail.tsx:797
msgid "Part Details"
msgstr ""
@@ -7363,28 +7481,28 @@ msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:165
#: src/pages/company/SupplierPartDetail.tsx:253
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:382
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:391
msgid "Received Stock"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:211
-#: src/tables/purchasing/ManufacturerPartTable.tsx:108
+#: src/pages/company/ManufacturerPartDetail.tsx:212
+#: src/tables/purchasing/ManufacturerPartTable.tsx:127
msgid "Edit Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:218
-#: src/tables/purchasing/ManufacturerPartTable.tsx:96
+#: src/pages/company/ManufacturerPartDetail.tsx:219
#: src/tables/purchasing/ManufacturerPartTable.tsx:115
-#: src/tables/purchasing/ManufacturerPartTable.tsx:156
+#: src/tables/purchasing/ManufacturerPartTable.tsx:134
+#: src/tables/purchasing/ManufacturerPartTable.tsx:175
msgid "Add Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:230
-#: src/tables/purchasing/ManufacturerPartTable.tsx:126
+#: src/pages/company/ManufacturerPartDetail.tsx:231
+#: src/tables/purchasing/ManufacturerPartTable.tsx:145
msgid "Delete Manufacturer Part"
msgstr ""
-#: src/pages/company/ManufacturerPartDetail.tsx:245
+#: src/pages/company/ManufacturerPartDetail.tsx:246
msgid "Manufacturer Part Actions"
msgstr ""
@@ -7401,7 +7519,7 @@ msgstr ""
#: src/tables/part/PartPurchaseOrdersTable.tsx:73
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:191
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:233
-#: src/tables/purchasing/SupplierPartTable.tsx:138
+#: src/tables/purchasing/SupplierPartTable.tsx:169
msgid "Pack Quantity"
msgstr ""
@@ -7427,28 +7545,28 @@ msgstr ""
msgid "Supplier Pricing"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:313
+#: src/pages/company/SupplierPartDetail.tsx:314
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:337
-#: src/tables/purchasing/SupplierPartTable.tsx:244
+#: src/pages/company/SupplierPartDetail.tsx:338
+#: src/tables/purchasing/SupplierPartTable.tsx:282
msgid "Edit Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:345
-#: src/tables/purchasing/SupplierPartTable.tsx:264
+#: src/pages/company/SupplierPartDetail.tsx:346
+#: src/tables/purchasing/SupplierPartTable.tsx:307
msgid "Delete Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:353
-#: src/tables/purchasing/SupplierPartTable.tsx:172
-#: src/tables/purchasing/SupplierPartTable.tsx:251
+#: src/pages/company/SupplierPartDetail.tsx:354
+#: src/tables/purchasing/SupplierPartTable.tsx:203
+#: src/tables/purchasing/SupplierPartTable.tsx:291
msgid "Add Supplier Part"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:393
-#: src/pages/part/PartDetail.tsx:1018
+#: src/pages/company/SupplierPartDetail.tsx:394
+#: src/pages/part/PartDetail.tsx:1029
msgid "No Stock"
msgstr ""
@@ -7474,7 +7592,7 @@ msgid "Group Roles"
msgstr ""
#: src/pages/core/UserDetail.tsx:175
-#: src/tables/ColumnRenderers.tsx:418
+#: src/tables/ColumnRenderers.tsx:622
msgid "User Information"
msgstr ""
@@ -7496,7 +7614,7 @@ msgid "Basic user"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:103
-#: src/pages/stock/LocationDetail.tsx:94
+#: src/pages/stock/LocationDetail.tsx:103
#: src/tables/settings/ErrorTable.tsx:63
#: src/tables/settings/ErrorTable.tsx:108
msgid "Path"
@@ -7512,7 +7630,7 @@ msgid "Subcategories"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:149
-#: src/pages/stock/LocationDetail.tsx:134
+#: src/pages/stock/LocationDetail.tsx:143
#: src/tables/part/PartCategoryTable.tsx:89
#: src/tables/stock/StockLocationTable.tsx:43
msgid "Structural"
@@ -7541,7 +7659,7 @@ msgid "Move items to parent category"
msgstr ""
#: src/pages/part/CategoryDetail.tsx:196
-#: src/pages/stock/LocationDetail.tsx:226
+#: src/pages/stock/LocationDetail.tsx:262
msgid "Delete items"
msgstr ""
@@ -7577,60 +7695,64 @@ msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:21
#: src/pages/stock/StockDetail.tsx:555
-#: src/tables/part/PartTable.tsx:121
+#: src/tables/part/PartTable.tsx:122
msgid "Build Order Allocations"
msgstr ""
#: src/pages/part/PartAllocationPanel.tsx:31
#: src/pages/stock/StockDetail.tsx:570
-#: src/tables/part/PartTable.tsx:129
+#: src/tables/part/PartTable.tsx:130
msgid "Sales Order Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:180
-#: src/pages/part/PartDetail.tsx:183
-#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:176
+msgid "Validating BOM"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:177
+msgid "BOM validated"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:187
+#~ msgid "Bill of materials scheduled for validation"
+#~ msgstr "Bill of materials scheduled for validation"
+
+#: src/pages/part/PartDetail.tsx:192
+#: src/pages/part/PartDetail.tsx:195
+#: src/pages/part/PartDetail.tsx:244
msgid "Validate BOM"
msgstr ""
-#: src/pages/part/PartDetail.tsx:184
+#: src/pages/part/PartDetail.tsx:196
msgid "Do you want to validate the bill of materials for this assembly?"
msgstr ""
-#: src/pages/part/PartDetail.tsx:187
-msgid "Bill of materials scheduled for validation"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:187
-#~ msgid "BOM validated"
-#~ msgstr "BOM validated"
-
-#: src/pages/part/PartDetail.tsx:205
+#: src/pages/part/PartDetail.tsx:222
msgid "BOM Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:223
msgid "The Bill of Materials for this part has been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:210
-#: src/pages/part/PartDetail.tsx:215
+#: src/pages/part/PartDetail.tsx:227
+#: src/pages/part/PartDetail.tsx:232
msgid "BOM Not Validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:211
+#: src/pages/part/PartDetail.tsx:228
msgid "The Bill of Materials for this part has previously been checked, but requires revalidation"
msgstr ""
-#: src/pages/part/PartDetail.tsx:216
+#: src/pages/part/PartDetail.tsx:233
msgid "The Bill of Materials for this part has not yet been validated"
msgstr ""
-#: src/pages/part/PartDetail.tsx:247
+#: src/pages/part/PartDetail.tsx:264
msgid "Validated On"
msgstr ""
-#: src/pages/part/PartDetail.tsx:252
+#: src/pages/part/PartDetail.tsx:269
msgid "Validated By"
msgstr ""
@@ -7650,246 +7772,246 @@ msgstr ""
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:466
+#: src/pages/part/PartDetail.tsx:483
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:490
msgid "Revision of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:493
-#: src/tables/ColumnRenderers.tsx:209
-#: src/tables/ColumnRenderers.tsx:218
+#: src/pages/part/PartDetail.tsx:510
+#: src/tables/ColumnRenderers.tsx:390
+#: src/tables/ColumnRenderers.tsx:399
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:500
-msgid "Category Default Location"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:507
-msgid "Units"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:510
#~ msgid "Stocktake By"
#~ msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:514
+#: src/pages/part/PartDetail.tsx:517
+msgid "Category Default Location"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:524
+msgid "Units"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:531
#: src/tables/settings/PendingTasksTable.tsx:51
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:542
-#: src/tables/bom/BomTable.tsx:439
-#: src/tables/build/BuildLineTable.tsx:306
-#: src/tables/part/PartTable.tsx:319
-#: src/tables/sales/SalesOrderLineItemTable.tsx:138
+#: src/pages/part/PartDetail.tsx:559
+#: src/tables/bom/BomTable.tsx:443
+#: src/tables/build/BuildLineTable.tsx:311
+#: src/tables/part/PartTable.tsx:320
+#: src/tables/sales/SalesOrderLineItemTable.tsx:132
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:548
-#: src/tables/bom/BomTable.tsx:341
-#: src/tables/build/BuildLineTable.tsx:268
-#: src/tables/sales/SalesOrderLineItemTable.tsx:180
+#: src/pages/part/PartDetail.tsx:565
+#: src/tables/bom/BomTable.tsx:340
+#: src/tables/build/BuildLineTable.tsx:273
+#: src/tables/sales/SalesOrderLineItemTable.tsx:174
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:555
+#: src/pages/part/PartDetail.tsx:572
msgid "Required for Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:566
+#: src/pages/part/PartDetail.tsx:583
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:578
+#: src/pages/part/PartDetail.tsx:595
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:605
-msgid "Minimum Stock"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:613
#~ msgid "Scheduling"
#~ msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:620
+#: src/pages/part/PartDetail.tsx:622
+msgid "Minimum Stock"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:637
#: src/tables/part/ParametricPartTable.tsx:24
-#: src/tables/part/PartTable.tsx:203
+#: src/tables/part/PartTable.tsx:204
msgid "Locked"
msgstr ""
-#: src/pages/part/PartDetail.tsx:626
+#: src/pages/part/PartDetail.tsx:643
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:631
-#: src/tables/bom/BomTable.tsx:429
+#: src/pages/part/PartDetail.tsx:648
+#: src/tables/bom/BomTable.tsx:433
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:636
+#: src/pages/part/PartDetail.tsx:653
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:641
-#: src/tables/bom/BomTable.tsx:419
+#: src/pages/part/PartDetail.tsx:658
+#: src/tables/bom/BomTable.tsx:418
msgid "Testable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:647
-#: src/tables/bom/BomTable.tsx:424
+#: src/pages/part/PartDetail.tsx:664
+#: src/tables/bom/BomTable.tsx:423
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:669
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:658
+#: src/pages/part/PartDetail.tsx:675
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:663
-#: src/pages/part/PartDetail.tsx:1054
-#: src/tables/bom/BomTable.tsx:150
-#: src/tables/bom/BomTable.tsx:434
+#: src/pages/part/PartDetail.tsx:680
+#: src/pages/part/PartDetail.tsx:1065
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/bom/BomTable.tsx:438
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:678
+#: src/pages/part/PartDetail.tsx:695
#: src/pages/purchasing/PurchaseOrderDetail.tsx:272
#: src/pages/sales/ReturnOrderDetail.tsx:250
#: src/pages/sales/SalesOrderDetail.tsx:243
-#: src/tables/ColumnRenderers.tsx:502
+#: src/tables/ColumnRenderers.tsx:707
msgid "Creation Date"
msgstr ""
-#: src/pages/part/PartDetail.tsx:683
-#: src/tables/ColumnRenderers.tsx:435
-#: src/tables/Filter.tsx:373
+#: src/pages/part/PartDetail.tsx:698
+#~ msgid "Default Supplier"
+#~ msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:700
+#: src/tables/ColumnRenderers.tsx:639
+#: src/tables/Filter.tsx:433
msgid "Created By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:698
-msgid "Default Supplier"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:704
+#: src/pages/part/PartDetail.tsx:714
msgid "Default Expiry"
msgstr ""
-#: src/pages/part/PartDetail.tsx:709
+#: src/pages/part/PartDetail.tsx:719
msgid "days"
msgstr ""
-#: src/pages/part/PartDetail.tsx:719
-#: src/pages/part/pricing/BomPricingPanel.tsx:79
+#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/pricing/BomPricingPanel.tsx:78
#: src/pages/part/pricing/VariantPricingPanel.tsx:95
-#: src/tables/part/PartTable.tsx:179
+#: src/tables/part/PartTable.tsx:180
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:729
+#: src/pages/part/PartDetail.tsx:739
msgid "Latest Serial Number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:757
+#: src/pages/part/PartDetail.tsx:767
msgid "Select Part Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:812
+#: src/pages/part/PartDetail.tsx:822
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:819
+#: src/pages/part/PartDetail.tsx:829
#: src/pages/stock/StockDetail.tsx:542
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:826
+#: src/pages/part/PartDetail.tsx:836
msgid "Bill of Materials"
msgstr ""
-#: src/pages/part/PartDetail.tsx:838
+#: src/pages/part/PartDetail.tsx:848
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:845
+#: src/pages/part/PartDetail.tsx:855
msgid "Part Pricing"
msgstr ""
-#: src/pages/part/PartDetail.tsx:915
+#: src/pages/part/PartDetail.tsx:925
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:937
+#: src/pages/part/PartDetail.tsx:947
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:949
-#: src/tables/ColumnRenderers.tsx:73
-#: src/tables/bom/BomTable.tsx:657
-#: src/tables/part/PartTestTemplateTable.tsx:258
-msgid "Part is Locked"
-msgstr ""
-
-#: src/pages/part/PartDetail.tsx:954
-msgid "Part parameters cannot be edited, as the part is locked"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:956
#~ msgid "Count part stock"
#~ msgstr "Count part stock"
+#: src/pages/part/PartDetail.tsx:959
+#: src/tables/ColumnRenderers.tsx:73
+#: src/tables/bom/BomTable.tsx:661
+#: src/tables/part/PartTestTemplateTable.tsx:258
+msgid "Part is Locked"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:964
+msgid "Part parameters cannot be edited, as the part is locked"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:967
#~ msgid "Transfer part stock"
#~ msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:1024
+#: src/pages/part/PartDetail.tsx:1035
#: src/tables/part/PartTestTemplateTable.tsx:112
-#: src/tables/stock/StockItemTestResultTable.tsx:404
+#: src/tables/stock/StockItemTestResultTable.tsx:405
msgid "Required"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1042
+#: src/pages/part/PartDetail.tsx:1053
msgid "Deficit"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1079
-#: src/tables/part/PartTable.tsx:396
-#: src/tables/part/PartTable.tsx:449
+#: src/pages/part/PartDetail.tsx:1093
+#: src/tables/part/PartTable.tsx:406
+#: src/tables/part/PartTable.tsx:459
msgid "Add Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1093
+#: src/pages/part/PartDetail.tsx:1107
msgid "Delete Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1102
+#: src/pages/part/PartDetail.tsx:1116
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1164
-#: src/pages/stock/StockDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:1179
+#: src/pages/stock/StockDetail.tsx:885
msgid "Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1165
-#: src/pages/stock/StockDetail.tsx:884
-#: src/tables/build/BuildLineTable.tsx:768
+#: src/pages/part/PartDetail.tsx:1180
+#: src/pages/stock/StockDetail.tsx:886
+#: src/tables/build/BuildLineTable.tsx:790
msgid "Order Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1177
+#: src/pages/part/PartDetail.tsx:1192
msgid "Search by serial number"
msgstr ""
-#: src/pages/part/PartDetail.tsx:1185
-#: src/tables/part/PartTable.tsx:506
+#: src/pages/part/PartDetail.tsx:1200
+#: src/tables/part/PartTable.tsx:516
msgid "Part Actions"
msgstr ""
@@ -7968,35 +8090,46 @@ msgstr ""
#~ msgid "Expected Quantity"
#~ msgstr "Expected Quantity"
-#: src/pages/part/PartStockHistoryDetail.tsx:80
+#: src/pages/part/PartStockHistoryDetail.tsx:83
msgid "Edit Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:88
+#: src/pages/part/PartStockHistoryDetail.tsx:91
msgid "Delete Stocktake Entry"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:107
-#: src/pages/part/PartStockHistoryDetail.tsx:211
+#: src/pages/part/PartStockHistoryDetail.tsx:109
+msgid "Stocktake report scheduled for generation"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:123
+msgid "Stock Quantity"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:129
+#: src/pages/part/PartStockHistoryDetail.tsx:242
#: src/pages/stock/StockDetail.tsx:402
-#: src/tables/stock/StockItemTable.tsx:271
+#: src/tables/stock/StockItemTable.tsx:125
msgid "Stock Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:240
+#: src/pages/part/PartStockHistoryDetail.tsx:201
+msgid "Generate Stocktake Entry"
+msgstr ""
+
+#: src/pages/part/PartStockHistoryDetail.tsx:271
#: src/pages/part/pricing/PricingOverviewPanel.tsx:334
msgid "Minimum Value"
msgstr ""
-#: src/pages/part/PartStockHistoryDetail.tsx:246
+#: src/pages/part/PartStockHistoryDetail.tsx:277
#: src/pages/part/pricing/PricingOverviewPanel.tsx:335
msgid "Maximum Value"
msgstr ""
-#: src/pages/part/PartStocktakeDetail.tsx:99
-#: src/tables/settings/StocktakeReportTable.tsx:70
-#~ msgid "Generate Stocktake Report"
-#~ msgstr "Generate Stocktake Report"
+#: src/pages/part/PartStockHistoryDetail.tsx:304
+msgid "Stocktake Entries"
+msgstr ""
#: src/pages/part/PartStocktakeDetail.tsx:104
#: src/tables/settings/StocktakeReportTable.tsx:72
@@ -8008,33 +8141,33 @@ msgstr ""
#~ msgid "New Stocktake Report"
#~ msgstr "New Stocktake Report"
-#: src/pages/part/pricing/BomPricingPanel.tsx:58
-#: src/pages/part/pricing/BomPricingPanel.tsx:136
-#: src/tables/ColumnRenderers.tsx:552
-#: src/tables/bom/BomTable.tsx:282
+#: src/pages/part/pricing/BomPricingPanel.tsx:57
+#: src/pages/part/pricing/BomPricingPanel.tsx:135
+#: src/tables/ColumnRenderers.tsx:767
+#: src/tables/bom/BomTable.tsx:281
#: src/tables/general/ExtraLineItemTable.tsx:72
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
-#: src/tables/purchasing/PurchaseOrderTable.tsx:138
-#: src/tables/sales/ReturnOrderTable.tsx:139
-#: src/tables/sales/SalesOrderLineItemTable.tsx:124
-#: src/tables/sales/SalesOrderTable.tsx:175
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:263
+#: src/tables/purchasing/PurchaseOrderTable.tsx:155
+#: src/tables/sales/ReturnOrderTable.tsx:160
+#: src/tables/sales/SalesOrderLineItemTable.tsx:118
+#: src/tables/sales/SalesOrderTable.tsx:196
msgid "Total Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:78
-#: src/pages/part/pricing/BomPricingPanel.tsx:102
-#: src/tables/bom/UsedInTable.tsx:54
-#: src/tables/part/PartTable.tsx:227
+#: src/pages/part/pricing/BomPricingPanel.tsx:77
+#: src/pages/part/pricing/BomPricingPanel.tsx:101
+#: src/tables/bom/UsedInTable.tsx:59
+#: src/tables/part/PartTable.tsx:228
msgid "Component"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:81
+#: src/pages/part/pricing/BomPricingPanel.tsx:80
#: src/pages/part/pricing/VariantPricingPanel.tsx:35
#: src/pages/part/pricing/VariantPricingPanel.tsx:97
msgid "Minimum Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:82
+#: src/pages/part/pricing/BomPricingPanel.tsx:81
#: src/pages/part/pricing/VariantPricingPanel.tsx:43
#: src/pages/part/pricing/VariantPricingPanel.tsx:98
msgid "Maximum Price"
@@ -8048,25 +8181,25 @@ msgstr ""
#~ msgid "Maximum Total Price"
#~ msgstr "Maximum Total Price"
-#: src/pages/part/pricing/BomPricingPanel.tsx:127
+#: src/pages/part/pricing/BomPricingPanel.tsx:126
#: src/pages/part/pricing/PriceBreakPanel.tsx:173
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:71
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:126
#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
#: src/pages/stock/StockDetail.tsx:390
-#: src/tables/bom/BomTable.tsx:272
+#: src/tables/bom/BomTable.tsx:271
#: src/tables/general/ExtraLineItemTable.tsx:64
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:257
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:259
#: src/tables/purchasing/SupplierPriceBreakTable.tsx:84
-#: src/tables/stock/StockItemTable.tsx:259
+#: src/tables/stock/StockItemTable.tsx:113
msgid "Unit Price"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:217
+#: src/pages/part/pricing/BomPricingPanel.tsx:216
msgid "Pie Chart"
msgstr ""
-#: src/pages/part/pricing/BomPricingPanel.tsx:218
+#: src/pages/part/pricing/BomPricingPanel.tsx:217
msgid "Bar Chart"
msgstr ""
@@ -8136,9 +8269,12 @@ msgid "Purchase Pricing"
msgstr ""
#: src/pages/part/pricing/PricingOverviewPanel.tsx:288
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:311
+#: src/pages/sales/ReturnOrderDetail.tsx:289
+#: src/pages/sales/SalesOrderDetail.tsx:280
#: src/pages/stock/StockDetail.tsx:426
#: src/tables/general/ParameterTable.tsx:101
-#: src/tables/stock/StockItemTable.tsx:300
+#: src/tables/stock/StockItemTable.tsx:154
msgid "Last Updated"
msgstr ""
@@ -8210,8 +8346,8 @@ msgid "Edit Purchase Order"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:126
-#: src/tables/purchasing/PurchaseOrderTable.tsx:154
-#: src/tables/purchasing/PurchaseOrderTable.tsx:167
+#: src/tables/purchasing/PurchaseOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:185
msgid "Add Purchase Order"
msgstr ""
@@ -8232,7 +8368,7 @@ msgid "Completed Line Items"
msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:197
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:274
msgid "Destination"
msgstr ""
@@ -8275,60 +8411,60 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:304
#: src/pages/sales/ReturnOrderDetail.tsx:282
#: src/pages/sales/SalesOrderDetail.tsx:273
-#: src/tables/ColumnRenderers.tsx:510
-#: src/tables/build/BuildOrderTable.tsx:137
+#: src/tables/ColumnRenderers.tsx:715
+#: src/tables/build/BuildOrderTable.tsx:141
#: src/tables/part/PartPurchaseOrdersTable.tsx:106
msgid "Completion Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:334
-#: src/pages/sales/ReturnOrderDetail.tsx:312
-#: src/pages/sales/SalesOrderDetail.tsx:350
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:343
+#: src/pages/sales/ReturnOrderDetail.tsx:321
+#: src/pages/sales/SalesOrderDetail.tsx:359
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:340
#: src/pages/purchasing/PurchaseOrderDetail.tsx:349
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:358
#: src/pages/sales/ReturnOrderDetail.tsx:154
-#: src/pages/sales/ReturnOrderDetail.tsx:318
#: src/pages/sales/ReturnOrderDetail.tsx:327
-#: src/pages/sales/SalesOrderDetail.tsx:356
+#: src/pages/sales/ReturnOrderDetail.tsx:336
#: src/pages/sales/SalesOrderDetail.tsx:365
+#: src/pages/sales/SalesOrderDetail.tsx:374
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:364
-#: src/pages/sales/ReturnOrderDetail.tsx:342
-#: src/pages/sales/SalesOrderDetail.tsx:379
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:373
+#: src/pages/sales/ReturnOrderDetail.tsx:351
+#: src/pages/sales/SalesOrderDetail.tsx:388
msgid "Extra Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:410
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:420
msgid "Issue Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:418
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:428
msgid "Cancel Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:426
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:436
msgid "Hold Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:434
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:444
msgid "Complete Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:490
-#: src/pages/sales/ReturnOrderDetail.tsx:501
-#: src/pages/sales/SalesOrderDetail.tsx:554
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:500
+#: src/pages/sales/ReturnOrderDetail.tsx:511
+#: src/pages/sales/SalesOrderDetail.tsx:564
msgid "Order Actions"
msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:115
#: src/pages/sales/SalesOrderDetail.tsx:105
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:132
-#: src/tables/sales/SalesOrderTable.tsx:141
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:130
+#: src/tables/sales/SalesOrderTable.tsx:155
msgid "Customer Reference"
msgstr ""
@@ -8338,7 +8474,7 @@ msgstr ""
#: src/pages/sales/ReturnOrderDetail.tsx:202
#: src/pages/sales/SalesOrderDetail.tsx:195
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:179
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:177
msgid "Not specified"
msgstr ""
@@ -8346,29 +8482,29 @@ msgstr ""
#~ msgid "Order canceled"
#~ msgstr "Order canceled"
-#: src/pages/sales/ReturnOrderDetail.tsx:394
+#: src/pages/sales/ReturnOrderDetail.tsx:404
msgid "Edit Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:412
-#: src/tables/sales/ReturnOrderTable.tsx:154
-#: src/tables/sales/ReturnOrderTable.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:422
+#: src/tables/sales/ReturnOrderTable.tsx:176
+#: src/tables/sales/ReturnOrderTable.tsx:189
msgid "Add Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:421
+#: src/pages/sales/ReturnOrderDetail.tsx:431
msgid "Issue Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:429
+#: src/pages/sales/ReturnOrderDetail.tsx:439
msgid "Cancel Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:437
+#: src/pages/sales/ReturnOrderDetail.tsx:447
msgid "Hold Return Order"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:445
+#: src/pages/sales/ReturnOrderDetail.tsx:455
msgid "Complete Return Order"
msgstr ""
@@ -8377,86 +8513,86 @@ msgid "Completed Shipments"
msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:189
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:168
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:166
msgid "Shipping Address"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:317
+#: src/pages/sales/SalesOrderDetail.tsx:326
msgid "Edit Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:339
-#: src/tables/sales/SalesOrderTable.tsx:108
-#: src/tables/sales/SalesOrderTable.tsx:121
+#: src/pages/sales/SalesOrderDetail.tsx:348
+#: src/tables/sales/SalesOrderTable.tsx:122
+#: src/tables/sales/SalesOrderTable.tsx:135
msgid "Add Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:397
-#: src/tables/sales/SalesOrderTable.tsx:147
+#: src/pages/sales/SalesOrderDetail.tsx:406
+#: src/tables/sales/SalesOrderTable.tsx:165
msgid "Shipments"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:448
+#: src/pages/sales/SalesOrderDetail.tsx:458
msgid "Issue Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:456
+#: src/pages/sales/SalesOrderDetail.tsx:466
msgid "Cancel Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:464
+#: src/pages/sales/SalesOrderDetail.tsx:474
msgid "Hold Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:472
+#: src/pages/sales/SalesOrderDetail.tsx:482
msgid "Ship Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:474
+#: src/pages/sales/SalesOrderDetail.tsx:484
msgid "Ship this order?"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:475
+#: src/pages/sales/SalesOrderDetail.tsx:485
msgid "Order shipped"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:483
+#: src/pages/sales/SalesOrderDetail.tsx:493
msgid "Complete Sales Order"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:528
+#: src/pages/sales/SalesOrderDetail.tsx:538
msgid "Ship Order"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:140
-#: src/tables/sales/SalesOrderShipmentTable.tsx:156
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:138
+#: src/tables/sales/SalesOrderShipmentTable.tsx:150
msgid "Shipment Reference"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:146
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:144
msgid "Tracking Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:154
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:152
msgid "Invoice Number"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:187
msgid "Allocated Items"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:194
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:192
msgid "Checked By"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:200
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:198
msgid "Not checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:206
-#: src/tables/ColumnRenderers.tsx:518
-#: src/tables/sales/SalesOrderAllocationTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:189
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:204
+#: src/tables/ColumnRenderers.tsx:723
+#: src/tables/sales/SalesOrderAllocationTable.tsx:181
+#: src/tables/sales/SalesOrderShipmentTable.tsx:184
msgid "Shipment Date"
msgstr ""
@@ -8464,173 +8600,167 @@ msgstr ""
#~ msgid "Assigned Items"
#~ msgstr "Assigned Items"
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:214
-#: src/tables/sales/SalesOrderShipmentTable.tsx:193
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:212
+#: src/tables/sales/SalesOrderShipmentTable.tsx:188
msgid "Delivery Date"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:253
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:251
msgid "Shipment Details"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:292
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
-#: src/tables/sales/SalesOrderShipmentTable.tsx:97
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:291
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:395
+#: src/tables/sales/SalesOrderShipmentTable.tsx:98
msgid "Edit Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:299
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:425
-#: src/tables/sales/SalesOrderShipmentTable.tsx:89
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:298
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:414
+#: src/tables/sales/SalesOrderShipmentTable.tsx:90
msgid "Cancel Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:312
-#: src/tables/sales/SalesOrderShipmentTable.tsx:119
-#: src/tables/sales/SalesOrderShipmentTable.tsx:238
-msgid "Complete Shipment"
-msgstr ""
-
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:339
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:328
#: src/tables/part/PartPurchaseOrdersTable.tsx:122
msgid "Pending"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:345
-#: src/tables/sales/SalesOrderShipmentTable.tsx:168
-#: src/tables/sales/SalesOrderShipmentTable.tsx:299
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:334
+#: src/tables/sales/SalesOrderShipmentTable.tsx:163
+#: src/tables/sales/SalesOrderShipmentTable.tsx:294
msgid "Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:351
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:340
msgid "Not Checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:357
-#: src/tables/sales/SalesOrderShipmentTable.tsx:175
-#: src/tables/sales/SalesOrderShipmentTable.tsx:304
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:346
+#: src/tables/sales/SalesOrderShipmentTable.tsx:170
+#: src/tables/sales/SalesOrderShipmentTable.tsx:299
msgid "Shipped"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:363
-#: src/tables/sales/SalesOrderShipmentTable.tsx:182
-#: src/tables/sales/SalesOrderShipmentTable.tsx:309
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:352
+#: src/tables/sales/SalesOrderShipmentTable.tsx:177
+#: src/tables/sales/SalesOrderShipmentTable.tsx:304
#: src/tables/settings/EmailTable.tsx:31
msgid "Delivered"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:378
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:367
msgid "Send Shipment"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:401
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:390
msgid "Shipment Actions"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:410
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:399
msgid "Check"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:411
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:400
msgid "Mark shipment as checked"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:417
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:406
msgid "Uncheck"
msgstr ""
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:418
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:407
msgid "Mark shipment as unchecked"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:110
+#: src/pages/stock/LocationDetail.tsx:119
msgid "Parent Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:128
-#: src/pages/stock/LocationDetail.tsx:174
+#: src/pages/stock/LocationDetail.tsx:137
+#: src/pages/stock/LocationDetail.tsx:185
msgid "Sublocations"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:146
+#: src/pages/stock/LocationDetail.tsx:155
#: src/tables/stock/StockLocationTable.tsx:57
msgid "Location Type"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:157
+#: src/pages/stock/LocationDetail.tsx:166
msgid "Top level stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:168
+#: src/pages/stock/LocationDetail.tsx:179
msgid "Location Details"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:194
+#: src/pages/stock/LocationDetail.tsx:225
msgid "Default Parts"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:213
-#: src/pages/stock/LocationDetail.tsx:374
-#: src/tables/stock/StockLocationTable.tsx:121
-msgid "Edit Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:222
-msgid "Move items to parent location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:234
-#: src/pages/stock/LocationDetail.tsx:379
-msgid "Delete Stock Location"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:237
-msgid "Items Action"
-msgstr ""
-
-#: src/pages/stock/LocationDetail.tsx:239
-msgid "Action for stock items in this location"
-msgstr ""
-
#: src/pages/stock/LocationDetail.tsx:243
#~ msgid "Child Locations Action"
#~ msgstr "Child Locations Action"
-#: src/pages/stock/LocationDetail.tsx:244
-msgid "Locations Action"
+#: src/pages/stock/LocationDetail.tsx:249
+#: src/pages/stock/LocationDetail.tsx:411
+#: src/tables/stock/StockLocationTable.tsx:121
+msgid "Edit Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:246
-msgid "Action for child locations in this location"
+#: src/pages/stock/LocationDetail.tsx:258
+msgid "Move items to parent location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:270
+#: src/pages/stock/LocationDetail.tsx:416
+msgid "Delete Stock Location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:273
+msgid "Items Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:275
+msgid "Action for stock items in this location"
msgstr ""
#: src/pages/stock/LocationDetail.tsx:280
+msgid "Locations Action"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:282
+msgid "Action for child locations in this location"
+msgstr ""
+
+#: src/pages/stock/LocationDetail.tsx:317
msgid "Scan Stock Item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:298
-#: src/pages/stock/StockDetail.tsx:812
+#: src/pages/stock/LocationDetail.tsx:335
+#: src/pages/stock/StockDetail.tsx:814
msgid "Scanned stock item into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:304
-#: src/pages/stock/StockDetail.tsx:818
+#: src/pages/stock/LocationDetail.tsx:341
+#: src/pages/stock/StockDetail.tsx:820
msgid "Error scanning stock item"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:311
+#: src/pages/stock/LocationDetail.tsx:348
msgid "Scan Stock Location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:323
+#: src/pages/stock/LocationDetail.tsx:360
msgid "Scanned stock location into location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:329
+#: src/pages/stock/LocationDetail.tsx:366
msgid "Error scanning stock location"
msgstr ""
-#: src/pages/stock/LocationDetail.tsx:370
+#: src/pages/stock/LocationDetail.tsx:407
#: src/tables/stock/StockLocationTable.tsx:142
msgid "Location Actions"
msgstr ""
@@ -8703,10 +8833,6 @@ msgstr ""
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:532
-msgid "Stock Tracking"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:571
#~ msgid "Test Data"
#~ msgstr "Test Data"
@@ -8719,7 +8845,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:661
+#: src/pages/stock/StockDetail.tsx:662
msgid "Edit Stock Item"
msgstr ""
@@ -8738,15 +8864,15 @@ msgstr ""
#~ msgid "Transfer stock"
#~ msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:703
+#: src/pages/stock/StockDetail.tsx:704
msgid "Items Created"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:704
+#: src/pages/stock/StockDetail.tsx:705
msgid "Created {n} stock items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:721
+#: src/pages/stock/StockDetail.tsx:722
msgid "Delete Stock Item"
msgstr ""
@@ -8758,7 +8884,7 @@ msgstr ""
#~ msgid "Return this item into stock. This will remove the customer assignment."
#~ msgstr "Return this item into stock. This will remove the customer assignment."
-#: src/pages/stock/StockDetail.tsx:770
+#: src/pages/stock/StockDetail.tsx:772
msgid "Serialize Stock Item"
msgstr ""
@@ -8766,24 +8892,23 @@ msgstr ""
#~ msgid "Item returned to stock"
#~ msgstr "Item returned to stock"
-#: src/pages/stock/StockDetail.tsx:786
-#: src/tables/stock/StockItemTable.tsx:539
+#: src/pages/stock/StockDetail.tsx:788
msgid "Stock item serialized"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:794
+#: src/pages/stock/StockDetail.tsx:796
msgid "Scan Into Location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:852
+#: src/pages/stock/StockDetail.tsx:854
msgid "Scan into location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:854
+#: src/pages/stock/StockDetail.tsx:856
msgid "Scan this item into a location"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:866
+#: src/pages/stock/StockDetail.tsx:868
msgid "Stock Operations"
msgstr ""
@@ -8791,12 +8916,12 @@ msgstr ""
#~ msgid "Count stock"
#~ msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:871
-#: src/tables/build/BuildOutputTable.tsx:522
+#: src/pages/stock/StockDetail.tsx:873
+#: src/tables/build/BuildOutputTable.tsx:571
msgid "Serialize"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:872
+#: src/pages/stock/StockDetail.tsx:874
msgid "Serialize stock"
msgstr ""
@@ -8804,7 +8929,7 @@ msgstr ""
#~ msgid "Return from customer"
#~ msgstr "Return from customer"
-#: src/pages/stock/StockDetail.tsx:897
+#: src/pages/stock/StockDetail.tsx:899
msgid "Stock Item Actions"
msgstr ""
@@ -8820,17 +8945,17 @@ msgstr ""
#~ msgid "Assign to a customer"
#~ msgstr "Assign to a customer"
-#: src/pages/stock/StockDetail.tsx:966
-#: src/tables/stock/StockItemTable.tsx:404
+#: src/pages/stock/StockDetail.tsx:969
+#: src/tables/stock/StockItemTable.tsx:258
msgid "Stale"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:972
-#: src/tables/stock/StockItemTable.tsx:398
+#: src/pages/stock/StockDetail.tsx:975
+#: src/tables/stock/StockItemTable.tsx:252
msgid "Expired"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:978
+#: src/pages/stock/StockDetail.tsx:981
msgid "Unavailable"
msgstr ""
@@ -8855,6 +8980,72 @@ msgstr ""
#~ msgid "No location set"
#~ msgstr "No location set"
+#: src/tables/ColumnRenderers.tsx:162
+msgid "This stock item is in production"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:169
+msgid "This stock item has been assigned to a sales order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:176
+msgid "This stock item has been assigned to a customer"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:183
+msgid "This stock item is installed in another stock item"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:190
+msgid "This stock item has been consumed by a build order"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:197
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:203
+msgid "This stock item has expired"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:207
+msgid "This stock item is stale"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:219
+msgid "This stock item is over-allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:227
+msgid "This stock item is fully allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:234
+msgid "This stock item is partially allocated"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:252
+#: src/tables/build/BuildLineTable.tsx:308
+#: src/tables/sales/SalesOrderLineItemTable.tsx:154
+msgid "No stock available"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:262
+msgid "This stock item has been depleted"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:283
+#: src/tables/bom/BomTable.tsx:357
+#: src/tables/part/PartTable.tsx:172
+#: src/tables/sales/SalesOrderLineItemTable.tsx:183
+msgid "Stock Information"
+msgstr ""
+
+#: src/tables/ColumnRenderers.tsx:545
+#: src/tables/build/BuildOutputTable.tsx:660
+msgid "Allocated Lines"
+msgstr ""
+
#: src/tables/ColumnSelect.tsx:16
#: src/tables/ColumnSelect.tsx:23
msgid "Select Columns"
@@ -8888,263 +9079,282 @@ msgstr ""
#~ msgid "Download Data"
#~ msgstr "Download Data"
-#: src/tables/Filter.tsx:75
-msgid "Has Batch Code"
-msgstr ""
-
-#: src/tables/Filter.tsx:76
-msgid "Show items which have a batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:84
-msgid "Filter items by batch code"
-msgstr ""
-
-#: src/tables/Filter.tsx:93
-msgid "Show items which are in stock"
-msgstr ""
-
-#: src/tables/Filter.tsx:100
-msgid "Is Serialized"
-msgstr ""
-
-#: src/tables/Filter.tsx:101
-msgid "Show items which have a serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:106
#~ msgid "Show overdue orders"
#~ msgstr "Show overdue orders"
-#: src/tables/Filter.tsx:108
-msgid "Serial"
-msgstr ""
-
-#: src/tables/Filter.tsx:109
-msgid "Filter items by serial number"
-msgstr ""
-
#: src/tables/Filter.tsx:117
-msgid "Serial Below"
+msgid "Has Batch Code"
msgstr ""
#: src/tables/Filter.tsx:118
-msgid "Show items with serial numbers less than or equal to a given value"
+msgid "Show items which have a batch code"
msgstr ""
#: src/tables/Filter.tsx:126
-msgid "Serial Above"
+msgid "Filter items by batch code"
msgstr ""
-#: src/tables/Filter.tsx:127
-msgid "Show items with serial numbers greater than or equal to a given value"
+#: src/tables/Filter.tsx:135
+msgid "Show items which are in stock"
msgstr ""
-#: src/tables/Filter.tsx:136
-msgid "Assigned to me"
+#: src/tables/Filter.tsx:142
+msgid "Is Serialized"
msgstr ""
-#: src/tables/Filter.tsx:137
-msgid "Show orders assigned to me"
+#: src/tables/Filter.tsx:143
+msgid "Show items which have a serial number"
msgstr ""
-#: src/tables/Filter.tsx:144
-#: src/tables/sales/SalesOrderAllocationTable.tsx:88
-msgid "Outstanding"
+#: src/tables/Filter.tsx:150
+#: src/tables/build/BuildAllocatedStockTable.tsx:134
+msgid "Serial"
msgstr ""
-#: src/tables/Filter.tsx:145
-msgid "Show outstanding items"
+#: src/tables/Filter.tsx:151
+msgid "Filter items by serial number"
msgstr ""
-#: src/tables/Filter.tsx:153
-msgid "Show overdue items"
+#: src/tables/Filter.tsx:159
+msgid "Serial Below"
msgstr ""
#: src/tables/Filter.tsx:160
-msgid "Minimum Date"
+msgid "Show items with serial numbers less than or equal to a given value"
msgstr ""
-#: src/tables/Filter.tsx:161
-msgid "Show items after this date"
+#: src/tables/Filter.tsx:168
+msgid "Serial Above"
msgstr ""
#: src/tables/Filter.tsx:169
-msgid "Maximum Date"
-msgstr ""
-
-#: src/tables/Filter.tsx:170
-msgid "Show items before this date"
+msgid "Show items with serial numbers greater than or equal to a given value"
msgstr ""
#: src/tables/Filter.tsx:178
-msgid "Created Before"
+msgid "Assigned to me"
msgstr ""
#: src/tables/Filter.tsx:179
-msgid "Show items created before this date"
+msgid "Show orders assigned to me"
+msgstr ""
+
+#: src/tables/Filter.tsx:186
+#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+msgid "Outstanding"
msgstr ""
#: src/tables/Filter.tsx:187
+msgid "Show outstanding items"
+msgstr ""
+
+#: src/tables/Filter.tsx:195
+msgid "Show overdue items"
+msgstr ""
+
+#: src/tables/Filter.tsx:202
+msgid "Minimum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:203
+msgid "Show items after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:211
+msgid "Maximum Date"
+msgstr ""
+
+#: src/tables/Filter.tsx:212
+msgid "Show items before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:220
+msgid "Created Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:221
+msgid "Show items created before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:229
msgid "Created After"
msgstr ""
-#: src/tables/Filter.tsx:188
+#: src/tables/Filter.tsx:230
msgid "Show items created after this date"
msgstr ""
-#: src/tables/Filter.tsx:196
+#: src/tables/Filter.tsx:238
msgid "Start Date Before"
msgstr ""
-#: src/tables/Filter.tsx:197
+#: src/tables/Filter.tsx:239
msgid "Show items with a start date before this date"
msgstr ""
-#: src/tables/Filter.tsx:205
+#: src/tables/Filter.tsx:247
msgid "Start Date After"
msgstr ""
-#: src/tables/Filter.tsx:206
+#: src/tables/Filter.tsx:248
msgid "Show items with a start date after this date"
msgstr ""
-#: src/tables/Filter.tsx:214
+#: src/tables/Filter.tsx:256
msgid "Target Date Before"
msgstr ""
-#: src/tables/Filter.tsx:215
+#: src/tables/Filter.tsx:257
msgid "Show items with a target date before this date"
msgstr ""
-#: src/tables/Filter.tsx:223
+#: src/tables/Filter.tsx:265
msgid "Target Date After"
msgstr ""
-#: src/tables/Filter.tsx:224
+#: src/tables/Filter.tsx:266
msgid "Show items with a target date after this date"
msgstr ""
-#: src/tables/Filter.tsx:232
+#: src/tables/Filter.tsx:274
msgid "Completed Before"
msgstr ""
-#: src/tables/Filter.tsx:233
+#: src/tables/Filter.tsx:275
msgid "Show items completed before this date"
msgstr ""
-#: src/tables/Filter.tsx:241
+#: src/tables/Filter.tsx:283
msgid "Completed After"
msgstr ""
-#: src/tables/Filter.tsx:242
+#: src/tables/Filter.tsx:284
msgid "Show items completed after this date"
msgstr ""
-#: src/tables/Filter.tsx:254
+#: src/tables/Filter.tsx:292
+#: src/tables/stock/StockItemTable.tsx:284
+msgid "Updated After"
+msgstr ""
+
+#: src/tables/Filter.tsx:293
+msgid "Show orders updated after this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:301
+#: src/tables/stock/StockItemTable.tsx:278
+msgid "Updated Before"
+msgstr ""
+
+#: src/tables/Filter.tsx:302
+msgid "Show orders updated before this date"
+msgstr ""
+
+#: src/tables/Filter.tsx:314
msgid "Has Project Code"
msgstr ""
-#: src/tables/Filter.tsx:255
+#: src/tables/Filter.tsx:315
msgid "Show orders with an assigned project code"
msgstr ""
-#: src/tables/Filter.tsx:264
+#: src/tables/Filter.tsx:324
msgid "Include Variants"
msgstr ""
-#: src/tables/Filter.tsx:265
+#: src/tables/Filter.tsx:325
msgid "Include results for part variants"
msgstr ""
-#: src/tables/Filter.tsx:275
+#: src/tables/Filter.tsx:335
#: src/tables/part/PartPurchaseOrdersTable.tsx:133
msgid "Filter by order status"
msgstr ""
-#: src/tables/Filter.tsx:287
+#: src/tables/Filter.tsx:347
msgid "Filter by project code"
msgstr ""
-#: src/tables/Filter.tsx:320
+#: src/tables/Filter.tsx:380
msgid "Filter by responsible owner"
msgstr ""
-#: src/tables/Filter.tsx:336
-#: src/tables/settings/ApiTokenTable.tsx:127
-#: src/tables/stock/StockTrackingTable.tsx:191
+#: src/tables/Filter.tsx:396
+#: src/tables/settings/ApiTokenTable.tsx:128
+#: src/tables/stock/StockTrackingTable.tsx:226
msgid "Filter by user"
msgstr ""
-#: src/tables/Filter.tsx:348
+#: src/tables/Filter.tsx:408
msgid "Filter by manufacturer"
msgstr ""
-#: src/tables/Filter.tsx:361
+#: src/tables/Filter.tsx:421
msgid "Filter by supplier"
msgstr ""
-#: src/tables/Filter.tsx:374
+#: src/tables/Filter.tsx:434
msgid "Filter by user who created the order"
msgstr ""
-#: src/tables/Filter.tsx:382
+#: src/tables/Filter.tsx:442
msgid "Filter by user who issued the order"
msgstr ""
-#: src/tables/Filter.tsx:390
+#: src/tables/Filter.tsx:450
msgid "Filter by part category"
msgstr ""
-#: src/tables/Filter.tsx:401
+#: src/tables/Filter.tsx:461
msgid "Filter by stock location"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:59
+#: src/tables/FilterSelectDrawer.tsx:97
msgid "Remove filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:102
-#: src/tables/FilterSelectDrawer.tsx:104
-#: src/tables/FilterSelectDrawer.tsx:151
+#: src/tables/FilterSelectDrawer.tsx:143
+#: src/tables/FilterSelectDrawer.tsx:145
+#: src/tables/FilterSelectDrawer.tsx:192
msgid "Select filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:116
+#: src/tables/FilterSelectDrawer.tsx:157
msgid "Enter filter value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:138
+#: src/tables/FilterSelectDrawer.tsx:179
msgid "Select date value"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:301
msgid "Select filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:261
+#: src/tables/FilterSelectDrawer.tsx:302
msgid "Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:313
-#: src/tables/InvenTreeTableHeader.tsx:260
+#: src/tables/FilterSelectDrawer.tsx:354
+#: src/tables/InvenTreeTableHeader.tsx:259
msgid "Table Filters"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:346
+#: src/tables/FilterSelectDrawer.tsx:392
msgid "Add Filter"
msgstr ""
-#: src/tables/FilterSelectDrawer.tsx:355
+#: src/tables/FilterSelectDrawer.tsx:401
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:45
-#: src/tables/InvenTreeTable.tsx:488
+#: src/tables/InvenTreeTable.tsx:47
+#: src/tables/InvenTreeTable.tsx:511
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:152
+#: src/tables/InvenTreeTable.tsx:154
msgid "Error loading table options"
msgstr ""
@@ -9156,10 +9366,6 @@ msgstr ""
#~ 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:529
-msgid "Server returned incorrect data type"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:535
#~ msgid "Deleted records"
#~ msgstr "Deleted records"
@@ -9176,7 +9382,11 @@ msgstr ""
#~ msgid "This action cannot be undone!"
#~ msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:556
+msgid "Server returned incorrect data type"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:589
msgid "Error loading table data"
msgstr ""
@@ -9190,57 +9400,57 @@ msgstr ""
#~ msgid "Barcode actions"
#~ msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:691
-msgid "View details"
-msgstr ""
-
-#: src/tables/InvenTreeTable.tsx:694
-msgid "View {model}"
-msgstr ""
-
#: src/tables/InvenTreeTable.tsx:712
#~ msgid "Table filters"
#~ msgstr "Table filters"
+#: src/tables/InvenTreeTable.tsx:718
+msgid "View details"
+msgstr ""
+
+#: src/tables/InvenTreeTable.tsx:721
+msgid "View {model}"
+msgstr ""
+
#: src/tables/InvenTreeTable.tsx:725
#~ msgid "Clear custom query filters"
#~ msgstr "Clear custom query filters"
-#: src/tables/InvenTreeTableHeader.tsx:104
+#: src/tables/InvenTreeTableHeader.tsx:103
msgid "Delete Selected Items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:108
+#: src/tables/InvenTreeTableHeader.tsx:107
msgid "Are you sure you want to delete the selected items?"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:110
-#: src/tables/plugin/PluginListTable.tsx:316
+#: src/tables/InvenTreeTableHeader.tsx:109
+#: src/tables/plugin/PluginListTable.tsx:322
msgid "This action cannot be undone"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:121
+#: src/tables/InvenTreeTableHeader.tsx:120
msgid "Items deleted"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:126
+#: src/tables/InvenTreeTableHeader.tsx:125
msgid "Failed to delete items"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:177
+#: src/tables/InvenTreeTableHeader.tsx:176
msgid "Custom table filters are active"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:203
+#: src/tables/InvenTreeTableHeader.tsx:202
#: src/tables/general/BarcodeScanTable.tsx:93
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:223
+#: src/tables/InvenTreeTableHeader.tsx:222
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTableHeader.tsx:272
+#: src/tables/InvenTreeTableHeader.tsx:271
msgid "Active Filters"
msgstr ""
@@ -9252,71 +9462,71 @@ msgstr ""
#~ msgid "Upload Data"
#~ msgstr "Upload Data"
-#: src/tables/bom/BomTable.tsx:102
+#: src/tables/bom/BomTable.tsx:103
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:118
+#: src/tables/bom/BomTable.tsx:119
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:121
+#: src/tables/bom/BomTable.tsx:122
msgid "This BOM item has not been validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:240
+#: src/tables/bom/BomTable.tsx:239
msgid "Substitutes"
msgstr ""
+#: src/tables/bom/BomTable.tsx:301
+#: src/tables/sales/SalesOrderLineItemTable.tsx:135
+#: src/tables/sales/SalesOrderLineItemTable.tsx:193
+#: src/tables/sales/SalesOrderLineItemTable.tsx:210
+msgid "Virtual part"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:301
#~ msgid "Create BOM Item"
#~ msgstr "Create BOM Item"
-#: src/tables/bom/BomTable.tsx:302
-#: src/tables/sales/SalesOrderLineItemTable.tsx:141
-#: src/tables/sales/SalesOrderLineItemTable.tsx:199
-#: src/tables/sales/SalesOrderLineItemTable.tsx:216
-msgid "Virtual part"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:310
#~ msgid "Show asssmbled items"
#~ msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:315
-#: src/tables/build/BuildLineTable.tsx:277
-#: src/tables/part/PartTable.tsx:145
+#: src/tables/bom/BomTable.tsx:314
+#: src/tables/build/BuildLineTable.tsx:282
+#: src/tables/part/PartTable.tsx:146
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:323
-#: src/tables/build/BuildLineTable.tsx:240
+#: src/tables/bom/BomTable.tsx:322
+#: src/tables/build/BuildLineTable.tsx:245
msgid "Includes substitute stock"
msgstr ""
+#: src/tables/bom/BomTable.tsx:331
+#: src/tables/build/BuildLineTable.tsx:255
+#: src/tables/sales/SalesOrderLineItemTable.tsx:160
+msgid "Includes variant stock"
+msgstr ""
+
#: src/tables/bom/BomTable.tsx:331
#~ msgid "Edit Bom Item"
#~ msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:332
-#: src/tables/build/BuildLineTable.tsx:250
-#: src/tables/sales/SalesOrderLineItemTable.tsx:166
-msgid "Includes variant stock"
-msgstr ""
-
#: src/tables/bom/BomTable.tsx:333
#~ msgid "Bom item updated"
#~ msgstr "Bom item updated"
#: src/tables/bom/BomTable.tsx:348
-#~ msgid "Delete Bom Item"
-#~ msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:349
-#: src/tables/part/PartTable.tsx:114
+#: src/tables/part/PartTable.tsx:115
msgid "Building"
msgstr ""
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
#: src/tables/bom/BomTable.tsx:349
#~ msgid "Bom item deleted"
#~ msgstr "Bom item deleted"
@@ -9329,203 +9539,209 @@ msgstr ""
#~ msgid "Validate BOM line"
#~ msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:358
-#: src/tables/part/PartTable.tsx:171
-#: src/tables/sales/SalesOrderLineItemTable.tsx:189
-#: src/tables/stock/StockItemTable.tsx:222
-msgid "Stock Information"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:399
-#: src/tables/build/BuildLineTable.tsx:497
-#: src/tables/build/BuildLineTable.tsx:538
+#: src/tables/bom/BomTable.tsx:398
+#: src/tables/build/BuildLineTable.tsx:498
+#: src/tables/build/BuildLineTable.tsx:539
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:402
+#: src/tables/bom/BomTable.tsx:401
msgid "No available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:420
-#: src/tables/build/BuildLineTable.tsx:214
+#: src/tables/bom/BomTable.tsx:419
+#: src/tables/build/BuildLineTable.tsx:219
msgid "Show testable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:425
+#: src/tables/bom/BomTable.tsx:424
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:430
-#: src/tables/build/BuildLineTable.tsx:209
+#: src/tables/bom/BomTable.tsx:428
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:42
+#: src/tables/purchasing/ManufacturerPartTable.tsx:153
+#: src/tables/purchasing/SupplierPartTable.tsx:258
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:429
+msgid "Show active items"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:434
+#: src/tables/build/BuildLineTable.tsx:214
msgid "Show assembled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:435
+#: src/tables/bom/BomTable.tsx:439
msgid "Show virtual items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:440
+#: src/tables/bom/BomTable.tsx:444
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:445
+#: src/tables/bom/BomTable.tsx:449
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:449
+#: src/tables/bom/BomTable.tsx:453
msgid "Validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:450
+#: src/tables/bom/BomTable.tsx:454
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:454
-#: src/tables/bom/UsedInTable.tsx:80
+#: src/tables/bom/BomTable.tsx:458
+#: src/tables/bom/UsedInTable.tsx:85
msgid "Inherited"
msgstr ""
-#: src/tables/bom/BomTable.tsx:455
-#: src/tables/bom/UsedInTable.tsx:81
+#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/UsedInTable.tsx:86
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:459
+#: src/tables/bom/BomTable.tsx:463
msgid "Allow Variants"
msgstr ""
-#: src/tables/bom/BomTable.tsx:460
+#: src/tables/bom/BomTable.tsx:464
msgid "Show items which allow variant substitution"
msgstr ""
-#: src/tables/bom/BomTable.tsx:464
-#: src/tables/bom/UsedInTable.tsx:85
-#: src/tables/build/BuildLineTable.tsx:203
+#: src/tables/bom/BomTable.tsx:468
+#: src/tables/bom/UsedInTable.tsx:90
+#: src/tables/build/BuildLineTable.tsx:208
msgid "Optional"
msgstr ""
-#: src/tables/bom/BomTable.tsx:465
-#: src/tables/bom/UsedInTable.tsx:86
+#: src/tables/bom/BomTable.tsx:469
+#: src/tables/bom/UsedInTable.tsx:91
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:469
-#: src/tables/build/BuildLineTable.tsx:198
+#: src/tables/bom/BomTable.tsx:473
+#: src/tables/build/BuildLineTable.tsx:203
msgid "Consumable"
msgstr ""
-#: src/tables/bom/BomTable.tsx:470
+#: src/tables/bom/BomTable.tsx:474
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:474
-#: src/tables/part/PartTable.tsx:313
+#: src/tables/bom/BomTable.tsx:478
+#: src/tables/part/PartTable.tsx:314
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:475
+#: src/tables/bom/BomTable.tsx:479
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:497
+#: src/tables/bom/BomTable.tsx:501
msgid "Import BOM Data"
msgstr ""
-#: src/tables/bom/BomTable.tsx:507
-#: src/tables/bom/BomTable.tsx:631
+#: src/tables/bom/BomTable.tsx:511
+#: src/tables/bom/BomTable.tsx:635
msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:512
+#: src/tables/bom/BomTable.tsx:516
msgid "BOM item created"
msgstr ""
-#: src/tables/bom/BomTable.tsx:519
+#: src/tables/bom/BomTable.tsx:523
+#: src/tables/bom/UsedInTable.tsx:111
msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:521
+#: src/tables/bom/BomTable.tsx:525
+#: src/tables/bom/UsedInTable.tsx:115
msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:528
+#: src/tables/bom/BomTable.tsx:532
msgid "Delete BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:529
+#: src/tables/bom/BomTable.tsx:533
msgid "BOM item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:549
+#: src/tables/bom/BomTable.tsx:553
msgid "BOM item validated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:558
+#: src/tables/bom/BomTable.tsx:562
msgid "Failed to validate BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:570
+#: src/tables/bom/BomTable.tsx:574
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:581
+#: src/tables/bom/BomTable.tsx:585
msgid "Validate BOM Line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:600
+#: src/tables/bom/BomTable.tsx:604
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:625
+#: src/tables/bom/BomTable.tsx:629
msgid "Add BOM Items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:633
+#: src/tables/bom/BomTable.tsx:637
msgid "Add a single BOM item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:637
+#: src/tables/bom/BomTable.tsx:641
#: src/tables/general/ParameterTable.tsx:206
-#: src/tables/part/PartTable.tsx:546
+#: src/tables/part/PartTable.tsx:556
msgid "Import from File"
msgstr ""
-#: src/tables/bom/BomTable.tsx:639
+#: src/tables/bom/BomTable.tsx:643
msgid "Import BOM items from a file"
msgstr ""
-#: src/tables/bom/BomTable.tsx:662
+#: src/tables/bom/BomTable.tsx:666
msgid "Bill of materials cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:34
-#: src/tables/build/BuildLineTable.tsx:208
+#: src/tables/bom/UsedInTable.tsx:41
+#: src/tables/build/BuildLineTable.tsx:213
#: src/tables/part/ParametricPartTable.tsx:29
#: src/tables/part/PartBuildAllocationsTable.tsx:60
-#: src/tables/part/PartTable.tsx:209
-#: src/tables/stock/StockItemTable.tsx:333
+#: src/tables/part/PartTable.tsx:210
+#: src/tables/stock/StockItemTable.tsx:187
msgid "Assembly"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:91
+#: src/tables/bom/UsedInTable.tsx:96
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:95
-#: src/tables/part/PartTable.tsx:239
+#: src/tables/bom/UsedInTable.tsx:100
+#: src/tables/part/PartTable.tsx:240
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:96
+#: src/tables/bom/UsedInTable.tsx:101
msgid "Show trackable assemblies"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:64
+#: src/tables/build/BuildAllocatedStockTable.tsx:67
msgid "Allocated to Output"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:65
+#: src/tables/build/BuildAllocatedStockTable.tsx:68
msgid "Show items allocated to a build output"
msgstr ""
@@ -9538,17 +9754,17 @@ msgstr ""
#~ msgid "Include orders for part variants"
#~ msgstr "Include orders for part variants"
-#: src/tables/build/BuildAllocatedStockTable.tsx:94
+#: src/tables/build/BuildAllocatedStockTable.tsx:97
#: src/tables/part/PartBuildAllocationsTable.tsx:84
#: src/tables/part/PartPurchaseOrdersTable.tsx:132
-#: src/tables/part/PartSalesAllocationsTable.tsx:69
-#: src/tables/sales/SalesOrderAllocationTable.tsx:122
-#: src/tables/sales/SalesOrderShipmentTable.tsx:151
+#: src/tables/part/PartSalesAllocationsTable.tsx:67
+#: src/tables/sales/SalesOrderAllocationTable.tsx:123
+#: src/tables/sales/SalesOrderShipmentTable.tsx:145
msgid "Order Status"
msgstr ""
#: src/tables/build/BuildAllocatedStockTable.tsx:164
-#: src/tables/build/BuildLineTable.tsx:651
+#: src/tables/build/BuildLineTable.tsx:657
msgid "Edit Stock Allocation"
msgstr ""
@@ -9561,8 +9777,8 @@ msgstr ""
#~ msgstr "Delete Build Item"
#: src/tables/build/BuildAllocatedStockTable.tsx:177
-#: src/tables/build/BuildLineTable.tsx:664
-#: src/tables/sales/SalesOrderAllocationTable.tsx:218
+#: src/tables/build/BuildLineTable.tsx:670
+#: src/tables/sales/SalesOrderAllocationTable.tsx:217
msgid "Remove Allocated Stock"
msgstr ""
@@ -9572,18 +9788,28 @@ msgstr ""
#~ msgstr "Delete Stock Allocation"
#: src/tables/build/BuildAllocatedStockTable.tsx:182
-#: src/tables/build/BuildLineTable.tsx:669
-#: src/tables/sales/SalesOrderAllocationTable.tsx:221
+#: src/tables/build/BuildLineTable.tsx:675
+#: src/tables/sales/SalesOrderAllocationTable.tsx:220
msgid "Are you sure you want to remove this allocated stock from the order?"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:242
+#: src/tables/build/BuildAllocatedStockTable.tsx:197
+#: src/tables/build/BuildLineTable.tsx:690
+msgid "Consuming allocated stock"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:198
+#: src/tables/build/BuildLineTable.tsx:691
+msgid "Stock consumed successfully"
+msgstr ""
+
+#: src/tables/build/BuildAllocatedStockTable.tsx:258
msgid "Consume"
msgstr ""
-#: src/tables/build/BuildAllocatedStockTable.tsx:259
-#: src/tables/build/BuildLineTable.tsx:112
-#: src/tables/sales/SalesOrderAllocationTable.tsx:248
+#: src/tables/build/BuildAllocatedStockTable.tsx:275
+#: src/tables/build/BuildLineTable.tsx:117
+#: src/tables/sales/SalesOrderAllocationTable.tsx:247
msgid "Remove allocated stock"
msgstr ""
@@ -9591,16 +9817,12 @@ msgstr ""
#~ msgid "Show lines with available stock"
#~ msgstr "Show lines with available stock"
-#: src/tables/build/BuildLineTable.tsx:121
+#: src/tables/build/BuildLineTable.tsx:126
msgid "View Stock Item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:184
-msgid "Show fully allocated lines"
-msgstr ""
-
#: src/tables/build/BuildLineTable.tsx:189
-msgid "Show fully consumed lines"
+msgid "Show fully allocated lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:189
@@ -9608,124 +9830,138 @@ msgstr ""
#~ msgstr "Show allocated lines"
#: src/tables/build/BuildLineTable.tsx:194
-msgid "Show items with sufficient available stock"
+msgid "Show fully consumed lines"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:199
-msgid "Show consumable lines"
+msgid "Show items with sufficient available stock"
msgstr ""
#: src/tables/build/BuildLineTable.tsx:204
+msgid "Show consumable lines"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:209
msgid "Show optional lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:213
-#: src/tables/part/PartTable.tsx:233
+#: src/tables/build/BuildLineTable.tsx:218
+#: src/tables/part/PartTable.tsx:234
msgid "Testable"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:218
-#: src/tables/stock/StockItemTable.tsx:388
+#: src/tables/build/BuildLineTable.tsx:223
+#: src/tables/stock/StockItemTable.tsx:242
msgid "Tracked"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:219
+#: src/tables/build/BuildLineTable.tsx:224
msgid "Show tracked lines"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:224
+#: src/tables/build/BuildLineTable.tsx:229
msgid "Show items with stock on order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:259
-#: src/tables/sales/SalesOrderLineItemTable.tsx:172
+#: src/tables/build/BuildLineTable.tsx:264
+#: src/tables/sales/SalesOrderLineItemTable.tsx:166
msgid "In production"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:287
+#: src/tables/build/BuildLineTable.tsx:292
msgid "Insufficient stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:303
-#: src/tables/sales/SalesOrderLineItemTable.tsx:160
-#: src/tables/stock/StockItemTable.tsx:191
-msgid "No stock available"
-msgstr ""
-
-#: src/tables/build/BuildLineTable.tsx:376
+#: src/tables/build/BuildLineTable.tsx:377
msgid "Gets Inherited"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:389
+#: src/tables/build/BuildLineTable.tsx:390
msgid "Unit Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:416
+#: src/tables/build/BuildLineTable.tsx:417
msgid "Setup Quantity"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:425
+#: src/tables/build/BuildLineTable.tsx:426
msgid "Attrition"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:433
+#: src/tables/build/BuildLineTable.tsx:434
msgid "Rounding Multiple"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:442
+#: src/tables/build/BuildLineTable.tsx:443
msgid "BOM Information"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:516
+#: src/tables/build/BuildLineTable.tsx:517
#: src/tables/part/PartBuildAllocationsTable.tsx:102
msgid "Fully allocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:564
-#: src/tables/sales/SalesOrderLineItemTable.tsx:311
+#: src/tables/build/BuildLineTable.tsx:565
+#: src/tables/sales/SalesOrderLineItemTable.tsx:306
msgid "Create Build Order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:593
-msgid "Auto allocation in progress"
+#: src/tables/build/BuildLineTable.tsx:577
+#: src/tables/build/BuildOutputTable.tsx:223
+msgid "Allocating stock to build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:596
-#: src/tables/build/BuildLineTable.tsx:809
+#: src/tables/build/BuildLineTable.tsx:578
+#: src/tables/build/BuildOutputTable.tsx:224
+msgid "Stock allocation complete"
+msgstr ""
+
+#: src/tables/build/BuildLineTable.tsx:585
+#~ msgid "Auto allocation in progress"
+#~ msgstr "Auto allocation in progress"
+
+#: src/tables/build/BuildLineTable.tsx:598
+#~ msgid "Automatically allocate stock to this build according to the selected options"
+#~ msgstr "Automatically allocate stock to this build according to the selected options"
+
+#: src/tables/build/BuildLineTable.tsx:602
+#: src/tables/build/BuildLineTable.tsx:831
+#: src/tables/build/BuildOutputTable.tsx:247
+#: src/tables/build/BuildOutputTable.tsx:482
msgid "Auto Allocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:597
-msgid "Automatically allocate stock to this build according to the selected options"
+#: src/tables/build/BuildLineTable.tsx:603
+msgid "Automatically allocate untracked BOM items to this build according to the selected options"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:617
-#: src/tables/build/BuildLineTable.tsx:631
-#: src/tables/build/BuildLineTable.tsx:758
-#: src/tables/build/BuildLineTable.tsx:859
-#: src/tables/build/BuildOutputTable.tsx:355
-#: src/tables/build/BuildOutputTable.tsx:360
+#: src/tables/build/BuildLineTable.tsx:623
+#: src/tables/build/BuildLineTable.tsx:637
+#: src/tables/build/BuildLineTable.tsx:780
+#: src/tables/build/BuildLineTable.tsx:881
+#: src/tables/build/BuildOutputTable.tsx:393
+#: src/tables/build/BuildOutputTable.tsx:398
msgid "Deallocate Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:633
+#: src/tables/build/BuildLineTable.tsx:639
msgid "Deallocate all untracked stock for this build order"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:635
+#: src/tables/build/BuildLineTable.tsx:641
msgid "Deallocate stock from the selected line item"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:639
+#: src/tables/build/BuildLineTable.tsx:645
msgid "Stock has been deallocated"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:778
+#: src/tables/build/BuildLineTable.tsx:800
msgid "Build Stock"
msgstr ""
-#: src/tables/build/BuildLineTable.tsx:791
-#: src/tables/sales/SalesOrderLineItemTable.tsx:487
+#: src/tables/build/BuildLineTable.tsx:813
+#: src/tables/sales/SalesOrderLineItemTable.tsx:482
msgid "View Part"
msgstr ""
@@ -9756,31 +9992,31 @@ msgstr ""
#~ msgid "Filter by whether the purchase order has a project code"
#~ msgstr "Filter by whether the purchase order has a project code"
-#: src/tables/build/BuildOrderTable.tsx:166
-#: src/tables/purchasing/PurchaseOrderTable.tsx:83
-#: src/tables/sales/ReturnOrderTable.tsx:79
-#: src/tables/sales/SalesOrderTable.tsx:80
+#: src/tables/build/BuildOrderTable.tsx:171
+#: src/tables/purchasing/PurchaseOrderTable.tsx:94
+#: src/tables/sales/ReturnOrderTable.tsx:94
+#: src/tables/sales/SalesOrderTable.tsx:92
msgid "Has Target Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:167
-#: src/tables/purchasing/PurchaseOrderTable.tsx:84
-#: src/tables/sales/ReturnOrderTable.tsx:80
-#: src/tables/sales/SalesOrderTable.tsx:81
+#: src/tables/build/BuildOrderTable.tsx:172
+#: src/tables/purchasing/PurchaseOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/SalesOrderTable.tsx:93
msgid "Show orders with a target date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:172
-#: src/tables/purchasing/PurchaseOrderTable.tsx:89
-#: src/tables/sales/ReturnOrderTable.tsx:85
-#: src/tables/sales/SalesOrderTable.tsx:86
+#: src/tables/build/BuildOrderTable.tsx:177
+#: src/tables/purchasing/PurchaseOrderTable.tsx:100
+#: src/tables/sales/ReturnOrderTable.tsx:100
+#: src/tables/sales/SalesOrderTable.tsx:98
msgid "Has Start Date"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:173
-#: src/tables/purchasing/PurchaseOrderTable.tsx:90
-#: src/tables/sales/ReturnOrderTable.tsx:86
-#: src/tables/sales/SalesOrderTable.tsx:87
+#: src/tables/build/BuildOrderTable.tsx:178
+#: src/tables/purchasing/PurchaseOrderTable.tsx:101
+#: src/tables/sales/ReturnOrderTable.tsx:101
+#: src/tables/sales/SalesOrderTable.tsx:99
msgid "Show orders with a start date"
msgstr ""
@@ -9788,7 +10024,7 @@ msgstr ""
#~ msgid "Filter by user who issued this order"
#~ msgstr "Filter by user who issued this order"
-#: src/tables/build/BuildOutputTable.tsx:100
+#: src/tables/build/BuildOutputTable.tsx:102
msgid "Build Output Stock Allocation"
msgstr ""
@@ -9796,103 +10032,107 @@ msgstr ""
#~ msgid "Delete build output"
#~ msgstr "Delete build output"
-#: src/tables/build/BuildOutputTable.tsx:290
-#: src/tables/build/BuildOutputTable.tsx:475
-msgid "Add Build Output"
-msgstr ""
+#: src/tables/build/BuildOutputTable.tsx:229
+#~ msgid "Auto-allocation in progress"
+#~ msgstr "Auto-allocation in progress"
-#: src/tables/build/BuildOutputTable.tsx:293
-msgid "Build output created"
+#: src/tables/build/BuildOutputTable.tsx:248
+msgid "Automatically allocate tracked BOM items to this build according to the selected options"
msgstr ""
#: src/tables/build/BuildOutputTable.tsx:304
#~ msgid "Edit build output"
#~ msgstr "Edit build output"
-#: src/tables/build/BuildOutputTable.tsx:346
-#: src/tables/build/BuildOutputTable.tsx:543
+#: src/tables/build/BuildOutputTable.tsx:327
+#: src/tables/build/BuildOutputTable.tsx:523
+msgid "Add Build Output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:330
+msgid "Build output created"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:384
+#: src/tables/build/BuildOutputTable.tsx:593
msgid "Edit Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:362
+#: src/tables/build/BuildOutputTable.tsx:400
msgid "This action will deallocate all stock from the selected build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:387
+#: src/tables/build/BuildOutputTable.tsx:425
msgid "Serialize Build Output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:405
-#: src/tables/part/PartTestResultTable.tsx:318
-#: src/tables/stock/StockItemTable.tsx:328
+#: src/tables/build/BuildOutputTable.tsx:443
+#: src/tables/part/PartTestResultTable.tsx:319
+#: src/tables/stock/StockItemTable.tsx:182
msgid "Filter by stock status"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:442
+#: src/tables/build/BuildOutputTable.tsx:490
msgid "Complete selected outputs"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:453
-msgid "Scrap selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:464
-msgid "Cancel selected outputs"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:494
-msgid "Allocate"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:495
-msgid "Allocate stock to build output"
-msgstr ""
-
#: src/tables/build/BuildOutputTable.tsx:498
#~ msgid "View Build Output"
#~ msgstr "View Build Output"
-#: src/tables/build/BuildOutputTable.tsx:508
+#: src/tables/build/BuildOutputTable.tsx:501
+msgid "Scrap selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:512
+msgid "Cancel selected outputs"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:543
+msgid "Allocate"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:544
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: src/tables/build/BuildOutputTable.tsx:557
msgid "Deallocate"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:509
+#: src/tables/build/BuildOutputTable.tsx:558
msgid "Deallocate stock from build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:523
+#: src/tables/build/BuildOutputTable.tsx:572
msgid "Serialize build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:534
+#: src/tables/build/BuildOutputTable.tsx:583
msgid "Complete build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:550
+#: src/tables/build/BuildOutputTable.tsx:600
msgid "Scrap"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:551
+#: src/tables/build/BuildOutputTable.tsx:601
msgid "Scrap build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:561
+#: src/tables/build/BuildOutputTable.tsx:611
msgid "Cancel build output"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:610
-msgid "Allocated Lines"
-msgstr ""
-
-#: src/tables/build/BuildOutputTable.tsx:625
+#: src/tables/build/BuildOutputTable.tsx:675
msgid "Required Tests"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:700
+#: src/tables/build/BuildOutputTable.tsx:751
msgid "External Build"
msgstr ""
-#: src/tables/build/BuildOutputTable.tsx:702
+#: src/tables/build/BuildOutputTable.tsx:753
msgid "This build order is fulfilled by an external purchase order"
msgstr ""
@@ -9917,28 +10157,28 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:70
-#: src/tables/company/CompanyTable.tsx:120
-msgid "Add Company"
-msgstr ""
-
#: src/tables/company/CompanyTable.tsx:71
#~ msgid "New Company"
#~ msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:92
+#: src/tables/company/CompanyTable.tsx:79
+#: src/tables/company/CompanyTable.tsx:129
+msgid "Add Company"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:101
msgid "Show active companies"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:97
+#: src/tables/company/CompanyTable.tsx:106
msgid "Show companies which are suppliers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:111
msgid "Show companies which are manufacturers"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:107
+#: src/tables/company/CompanyTable.tsx:116
msgid "Show companies which are customers"
msgstr ""
@@ -10048,26 +10288,26 @@ msgid "View Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:95
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:300
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:405
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:83
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:187
-#: src/tables/sales/SalesOrderLineItemTable.tsx:252
-#: src/tables/sales/SalesOrderLineItemTable.tsx:357
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:302
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:408
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:84
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:184
+#: src/tables/sales/SalesOrderLineItemTable.tsx:246
+#: src/tables/sales/SalesOrderLineItemTable.tsx:352
msgid "Add Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:108
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:322
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:96
-#: src/tables/sales/SalesOrderLineItemTable.tsx:271
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:325
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:97
+#: src/tables/sales/SalesOrderLineItemTable.tsx:265
msgid "Edit Line Item"
msgstr ""
#: src/tables/general/ExtraLineItemTable.tsx:117
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:331
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:105
-#: src/tables/sales/SalesOrderLineItemTable.tsx:280
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:334
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:106
+#: src/tables/sales/SalesOrderLineItemTable.tsx:274
msgid "Delete Line Item"
msgstr ""
@@ -10097,14 +10337,14 @@ msgid "Import Parameters"
msgstr ""
#: src/tables/general/ParameterTable.tsx:164
-#: src/tables/general/ParametricDataTable.tsx:261
-#: src/tables/general/ParametricDataTable.tsx:392
+#: src/tables/general/ParametricDataTable.tsx:271
+#: src/tables/general/ParametricDataTable.tsx:402
msgid "Add Parameter"
msgstr ""
#: src/tables/general/ParameterTable.tsx:175
#: src/tables/general/ParameterTable.tsx:222
-#: src/tables/general/ParametricDataTable.tsx:285
+#: src/tables/general/ParametricDataTable.tsx:295
msgid "Edit Parameter"
msgstr ""
@@ -10163,7 +10403,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/general/ParameterTemplateTable.tsx:148
-#: src/tables/part/PartTable.tsx:245
+#: src/tables/part/PartTable.tsx:246
msgid "Has Units"
msgstr ""
@@ -10423,7 +10663,7 @@ msgid "Notification"
msgstr ""
#: src/tables/notifications/NotificationTable.tsx:41
-#: src/tables/plugin/PluginErrorTable.tsx:37
+#: src/tables/plugin/PluginErrorTable.tsx:39
#: src/tables/settings/ErrorTable.tsx:50
msgid "Message"
msgstr ""
@@ -10467,7 +10707,7 @@ msgid "Required Stock"
msgstr ""
#: src/tables/part/PartBuildAllocationsTable.tsx:124
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:383
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:386
msgid "View Build Order"
msgstr ""
@@ -10476,7 +10716,7 @@ msgid "You are subscribed to notifications for this category"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:84
-#: src/tables/part/PartTable.tsx:221
+#: src/tables/part/PartTable.tsx:222
msgid "Include Subcategories"
msgstr ""
@@ -10560,136 +10800,136 @@ msgstr ""
msgid "Show received items"
msgstr ""
-#: src/tables/part/PartSalesAllocationsTable.tsx:90
-#: src/tables/sales/SalesOrderShipmentTable.tsx:263
+#: src/tables/part/PartSalesAllocationsTable.tsx:88
+#: src/tables/sales/SalesOrderShipmentTable.tsx:258
msgid "View Sales Order"
msgstr ""
-#: src/tables/part/PartTable.tsx:99
+#: src/tables/part/PartTable.tsx:100
msgid "Minimum stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:198
+#: src/tables/part/PartTable.tsx:199
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:204
+#: src/tables/part/PartTable.tsx:205
msgid "Filter by part locked status"
msgstr ""
-#: src/tables/part/PartTable.tsx:210
+#: src/tables/part/PartTable.tsx:211
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:215
+#: src/tables/part/PartTable.tsx:216
msgid "BOM Valid"
msgstr ""
-#: src/tables/part/PartTable.tsx:216
+#: src/tables/part/PartTable.tsx:217
msgid "Filter by parts with a valid BOM"
msgstr ""
-#: src/tables/part/PartTable.tsx:222
+#: src/tables/part/PartTable.tsx:223
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:228
+#: src/tables/part/PartTable.tsx:229
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:234
+#: src/tables/part/PartTable.tsx:235
msgid "Filter by testable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:240
+#: src/tables/part/PartTable.tsx:241
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:247
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:251
+#: src/tables/part/PartTable.tsx:252
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:252
+#: src/tables/part/PartTable.tsx:253
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:257
+#: src/tables/part/PartTable.tsx:258
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:258
+#: src/tables/part/PartTable.tsx:259
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:264
+#: src/tables/part/PartTable.tsx:265
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:269
+#: src/tables/part/PartTable.tsx:270
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:270
+#: src/tables/part/PartTable.tsx:271
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
+#: src/tables/part/PartTable.tsx:276
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:277
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:282
+#: src/tables/part/PartTable.tsx:283
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:286
+#: src/tables/part/PartTable.tsx:287
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:292
msgid "Is Template"
msgstr ""
-#: src/tables/part/PartTable.tsx:292
+#: src/tables/part/PartTable.tsx:293
msgid "Filter by parts which are templates"
msgstr ""
-#: src/tables/part/PartTable.tsx:297
+#: src/tables/part/PartTable.tsx:298
msgid "Is Variant"
msgstr ""
-#: src/tables/part/PartTable.tsx:298
+#: src/tables/part/PartTable.tsx:299
msgid "Filter by parts which are variants"
msgstr ""
-#: src/tables/part/PartTable.tsx:303
+#: src/tables/part/PartTable.tsx:304
msgid "Is Revision"
msgstr ""
-#: src/tables/part/PartTable.tsx:304
+#: src/tables/part/PartTable.tsx:305
msgid "Filter by parts which are revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:308
+#: src/tables/part/PartTable.tsx:309
msgid "Has Revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:309
+#: src/tables/part/PartTable.tsx:310
msgid "Filter by parts which have revisions"
msgstr ""
-#: src/tables/part/PartTable.tsx:314
+#: src/tables/part/PartTable.tsx:315
msgid "Filter by parts which have pricing information"
msgstr ""
-#: src/tables/part/PartTable.tsx:320
+#: src/tables/part/PartTable.tsx:321
msgid "Filter by parts which have available stock"
msgstr ""
@@ -10701,58 +10941,58 @@ msgstr ""
#~ msgid "Filter by parts which have stocktake information"
#~ msgstr "Filter by parts which have stocktake information"
-#: src/tables/part/PartTable.tsx:326
+#: src/tables/part/PartTable.tsx:327
msgid "Filter by parts to which the user is subscribed"
msgstr ""
-#: src/tables/part/PartTable.tsx:377
+#: src/tables/part/PartTable.tsx:387
msgid "Import Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:464
-#: src/tables/part/PartTable.tsx:512
+#: src/tables/part/PartTable.tsx:474
+#: src/tables/part/PartTable.tsx:522
msgid "Set Category"
msgstr ""
-#: src/tables/part/PartTable.tsx:514
+#: src/tables/part/PartTable.tsx:524
msgid "Set category for selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:524
+#: src/tables/part/PartTable.tsx:534
msgid "Order selected parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:534
+#: src/tables/part/PartTable.tsx:544
msgid "Add Parts"
msgstr ""
-#: src/tables/part/PartTable.tsx:540
+#: src/tables/part/PartTable.tsx:550
msgid "Create Part"
msgstr ""
-#: src/tables/part/PartTable.tsx:542
+#: src/tables/part/PartTable.tsx:552
msgid "Create a new part"
msgstr ""
-#: src/tables/part/PartTable.tsx:548
+#: src/tables/part/PartTable.tsx:558
msgid "Import parts from a file"
msgstr ""
-#: src/tables/part/PartTable.tsx:553
+#: src/tables/part/PartTable.tsx:563
msgid "Import from Supplier"
msgstr ""
-#: src/tables/part/PartTable.tsx:555
+#: src/tables/part/PartTable.tsx:565
msgid "Import parts from a supplier plugin"
msgstr ""
#: src/tables/part/PartTestResultTable.tsx:103
#: src/tables/part/PartTestResultTable.tsx:181
-#: src/tables/part/PartTestResultTable.tsx:328
-#: src/tables/part/PartTestResultTable.tsx:342
+#: src/tables/part/PartTestResultTable.tsx:329
+#: src/tables/part/PartTestResultTable.tsx:343
#: src/tables/stock/StockItemTestResultTable.tsx:296
-#: src/tables/stock/StockItemTestResultTable.tsx:368
-#: src/tables/stock/StockItemTestResultTable.tsx:429
+#: src/tables/stock/StockItemTestResultTable.tsx:369
+#: src/tables/stock/StockItemTestResultTable.tsx:430
msgid "Add Test Result"
msgstr ""
@@ -10774,7 +11014,7 @@ msgstr ""
msgid "No Result"
msgstr ""
-#: src/tables/part/PartTestResultTable.tsx:306
+#: src/tables/part/PartTestResultTable.tsx:307
msgid "Show build outputs currently in production"
msgstr ""
@@ -10859,7 +11099,15 @@ msgstr ""
msgid "Part templates cannot be edited, as the part is locked"
msgstr ""
-#: src/tables/part/PartThumbTable.tsx:222
+#: src/tables/part/PartThumbTable.tsx:123
+msgid "Image updated"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:124
+msgid "The image has been updated successfully"
+msgstr ""
+
+#: src/tables/part/PartThumbTable.tsx:233
msgid "Select"
msgstr ""
@@ -10913,7 +11161,7 @@ msgstr ""
msgid "Delete Selection List"
msgstr ""
-#: src/tables/plugin/PluginErrorTable.tsx:29
+#: src/tables/plugin/PluginErrorTable.tsx:31
msgid "Stage"
msgstr ""
@@ -10943,7 +11191,7 @@ msgstr ""
#~ msgstr "An error occurred while fetching plugin details"
#: src/tables/plugin/PluginListTable.tsx:106
-#: src/tables/plugin/PluginListTable.tsx:422
+#: src/tables/plugin/PluginListTable.tsx:428
msgid "Mandatory"
msgstr ""
@@ -10973,68 +11221,68 @@ msgstr ""
#~ msgid "Reload"
#~ msgstr "Reload"
-#: src/tables/plugin/PluginListTable.tsx:153
+#: src/tables/plugin/PluginListTable.tsx:159
msgid "Confirm plugin activation"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:154
-msgid "Confirm plugin deactivation"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:159
-msgid "The selected plugin will be activated"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:160
-msgid "The selected plugin will be deactivated"
+msgid "Confirm plugin deactivation"
msgstr ""
#: src/tables/plugin/PluginListTable.tsx:163
#~ msgid "Package information"
#~ msgstr "Package information"
-#: src/tables/plugin/PluginListTable.tsx:178
+#: src/tables/plugin/PluginListTable.tsx:165
+msgid "The selected plugin will be activated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:166
+msgid "The selected plugin will be deactivated"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:184
msgid "Deactivate"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:192
-msgid "Activate"
-msgstr ""
-
-#: src/tables/plugin/PluginListTable.tsx:193
-msgid "Activate selected plugin"
-msgstr ""
-
#: src/tables/plugin/PluginListTable.tsx:197
#~ msgid "Plugin settings"
#~ msgstr "Plugin settings"
-#: src/tables/plugin/PluginListTable.tsx:205
+#: src/tables/plugin/PluginListTable.tsx:198
+msgid "Activate"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:199
+msgid "Activate selected plugin"
+msgstr ""
+
+#: src/tables/plugin/PluginListTable.tsx:211
msgid "Update selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:224
-#: src/tables/stock/InstalledItemsTable.tsx:107
+#: src/tables/plugin/PluginListTable.tsx:230
+#: src/tables/stock/InstalledItemsTable.tsx:98
msgid "Uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:225
+#: src/tables/plugin/PluginListTable.tsx:231
msgid "Uninstall selected plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:244
+#: src/tables/plugin/PluginListTable.tsx:250
msgid "Delete selected plugin configuration"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:260
+#: src/tables/plugin/PluginListTable.tsx:266
msgid "Activate Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:267
+#: src/tables/plugin/PluginListTable.tsx:273
msgid "The plugin was activated"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:268
+#: src/tables/plugin/PluginListTable.tsx:274
msgid "The plugin was deactivated"
msgstr ""
@@ -11042,20 +11290,20 @@ msgstr ""
#~ msgid "Install plugin"
#~ msgstr "Install plugin"
-#: src/tables/plugin/PluginListTable.tsx:281
-#: src/tables/plugin/PluginListTable.tsx:368
+#: src/tables/plugin/PluginListTable.tsx:287
+#: src/tables/plugin/PluginListTable.tsx:374
msgid "Install Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:294
+#: src/tables/plugin/PluginListTable.tsx:300
msgid "Install"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:295
+#: src/tables/plugin/PluginListTable.tsx:301
msgid "Plugin installed successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:300
+#: src/tables/plugin/PluginListTable.tsx:306
msgid "Uninstall Plugin"
msgstr ""
@@ -11063,23 +11311,23 @@ msgstr ""
#~ msgid "This action cannot be undone."
#~ msgstr "This action cannot be undone."
-#: src/tables/plugin/PluginListTable.tsx:312
+#: src/tables/plugin/PluginListTable.tsx:318
msgid "Confirm plugin uninstall"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:315
+#: src/tables/plugin/PluginListTable.tsx:321
msgid "The selected plugin will be uninstalled."
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:320
+#: src/tables/plugin/PluginListTable.tsx:326
msgid "Plugin uninstalled successfully"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:328
+#: src/tables/plugin/PluginListTable.tsx:334
msgid "Delete Plugin"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:329
+#: src/tables/plugin/PluginListTable.tsx:335
msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?"
msgstr ""
@@ -11087,11 +11335,11 @@ msgstr ""
#~ msgid "Deactivate Plugin"
#~ msgstr "Deactivate Plugin"
-#: src/tables/plugin/PluginListTable.tsx:342
+#: src/tables/plugin/PluginListTable.tsx:348
msgid "Plugins reloaded"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:343
+#: src/tables/plugin/PluginListTable.tsx:349
msgid "Plugins were reloaded successfully"
msgstr ""
@@ -11103,7 +11351,7 @@ msgstr ""
#~ msgid "The following plugin will be deactivated"
#~ msgstr "The following plugin will be deactivated"
-#: src/tables/plugin/PluginListTable.tsx:361
+#: src/tables/plugin/PluginListTable.tsx:367
msgid "Reload Plugins"
msgstr ""
@@ -11115,7 +11363,7 @@ msgstr ""
#~ msgid "Deactivating plugin"
#~ msgstr "Deactivating plugin"
-#: src/tables/plugin/PluginListTable.tsx:385
+#: src/tables/plugin/PluginListTable.tsx:391
msgid "Plugin Detail"
msgstr ""
@@ -11127,12 +11375,12 @@ msgstr ""
#~ msgid "Error updating plugin"
#~ msgstr "Error updating plugin"
-#: src/tables/plugin/PluginListTable.tsx:427
+#: src/tables/plugin/PluginListTable.tsx:433
msgid "Sample"
msgstr ""
-#: src/tables/plugin/PluginListTable.tsx:432
-#: src/tables/stock/StockItemTable.tsx:372
+#: src/tables/plugin/PluginListTable.tsx:438
+#: src/tables/stock/StockItemTable.tsx:226
msgid "Installed"
msgstr ""
@@ -11152,30 +11400,24 @@ msgstr ""
#~ msgid "Are you sure you want to delete this parameter?"
#~ msgstr "Are you sure you want to delete this parameter?"
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:34
-#: src/tables/purchasing/ManufacturerPartTable.tsx:82
-#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:31
+#: src/tables/purchasing/ManufacturerPartTable.tsx:100
+#: src/tables/purchasing/SupplierPartTable.tsx:122
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:44
-#: src/tables/purchasing/ManufacturerPartTable.tsx:134
-#: src/tables/purchasing/SupplierPartTable.tsx:220
-msgid "Active Part"
-msgstr ""
-
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:45
-#: src/tables/purchasing/ManufacturerPartTable.tsx:135
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:43
+#: src/tables/purchasing/ManufacturerPartTable.tsx:154
msgid "Show manufacturer parts for active internal parts."
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:50
-#: src/tables/purchasing/ManufacturerPartTable.tsx:140
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:48
+#: src/tables/purchasing/ManufacturerPartTable.tsx:159
msgid "Active Manufacturer"
msgstr ""
-#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:51
-#: src/tables/purchasing/ManufacturerPartTable.tsx:142
+#: src/tables/purchasing/ManufacturerPartParametricTable.tsx:49
+#: src/tables/purchasing/ManufacturerPartTable.tsx:161
msgid "Show manufacturer parts for active manufacturers."
msgstr ""
@@ -11196,7 +11438,7 @@ msgstr ""
#~ msgstr "Are you sure you want to remove this manufacturer part?"
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:115
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:399
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:402
msgid "Import Line Items"
msgstr ""
@@ -11204,15 +11446,15 @@ msgstr ""
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:244
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:251
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:252
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:284
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:286
msgid "Show line items which have been received"
msgstr ""
@@ -11222,30 +11464,22 @@ msgstr ""
#~ msgid "Add line item"
#~ msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:352
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:355
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:416
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:419
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:129
+#: src/tables/purchasing/SupplierPartTable.tsx:160
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:192
-msgid "Add supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:193
#~ msgid "Supplier part updated"
#~ msgstr "Supplier part updated"
-#: src/tables/purchasing/SupplierPartTable.tsx:200
-msgid "Import supplier part"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:205
#~ msgid "Supplier part deleted"
#~ msgstr "Supplier part deleted"
@@ -11254,77 +11488,89 @@ msgstr ""
#~ msgid "Are you sure you want to remove this supplier part?"
#~ msgstr "Are you sure you want to remove this supplier part?"
-#: src/tables/purchasing/SupplierPartTable.tsx:216
+#: src/tables/purchasing/SupplierPartTable.tsx:225
+msgid "Add supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:233
+msgid "Import supplier part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:249
msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:221
+#: src/tables/purchasing/SupplierPartTable.tsx:254
+msgid "Show primary supplier parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:259
msgid "Show active internal parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:225
+#: src/tables/purchasing/SupplierPartTable.tsx:263
msgid "Active Supplier"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:226
+#: src/tables/purchasing/SupplierPartTable.tsx:264
msgid "Show active suppliers"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:231
+#: src/tables/purchasing/SupplierPartTable.tsx:269
msgid "Show supplier parts with stock"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:158
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:155
msgid "Received Date"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:172
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:169
msgid "Show items which have been received"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:177
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:174
msgid "Filter by line item status"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:195
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:192
msgid "Receive selected items"
msgstr ""
-#: src/tables/sales/ReturnOrderLineItemTable.tsx:230
+#: src/tables/sales/ReturnOrderLineItemTable.tsx:227
msgid "Receive Item"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:89
+#: src/tables/sales/SalesOrderAllocationTable.tsx:90
msgid "Show outstanding allocations"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:93
+#: src/tables/sales/SalesOrderAllocationTable.tsx:94
msgid "Assigned to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:94
+#: src/tables/sales/SalesOrderAllocationTable.tsx:95
msgid "Show allocations assigned to a shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:156
+#: src/tables/sales/SalesOrderAllocationTable.tsx:155
msgid "Available Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:163
+#: src/tables/sales/SalesOrderAllocationTable.tsx:162
msgid "Allocated Quantity"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:177
-#: src/tables/sales/SalesOrderAllocationTable.tsx:191
+#: src/tables/sales/SalesOrderAllocationTable.tsx:176
+#: src/tables/sales/SalesOrderAllocationTable.tsx:190
msgid "No shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:189
+#: src/tables/sales/SalesOrderAllocationTable.tsx:188
msgid "Not shipped"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:211
-#: src/tables/sales/SalesOrderAllocationTable.tsx:235
+#: src/tables/sales/SalesOrderAllocationTable.tsx:210
+#: src/tables/sales/SalesOrderAllocationTable.tsx:234
msgid "Edit Allocation"
msgstr ""
@@ -11333,16 +11579,16 @@ msgstr ""
#~ msgid "Delete Allocation"
#~ msgstr "Delete Allocation"
+#: src/tables/sales/SalesOrderAllocationTable.tsx:260
#: src/tables/sales/SalesOrderAllocationTable.tsx:261
-#: src/tables/sales/SalesOrderAllocationTable.tsx:262
msgid "View Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:317
+#: src/tables/sales/SalesOrderAllocationTable.tsx:316
msgid "Assign to Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderAllocationTable.tsx:333
+#: src/tables/sales/SalesOrderAllocationTable.tsx:332
msgid "Assign to shipment"
msgstr ""
@@ -11350,31 +11596,35 @@ msgstr ""
#~ msgid "Allocate stock"
#~ msgstr "Allocate stock"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:287
+msgid "Allocate Serial Numbers"
+msgstr ""
+
#: src/tables/sales/SalesOrderLineItemTable.tsx:291
#~ msgid "Allocate Serials"
#~ msgstr "Allocate Serials"
-#: src/tables/sales/SalesOrderLineItemTable.tsx:293
-msgid "Allocate Serial Numbers"
+#: src/tables/sales/SalesOrderLineItemTable.tsx:295
+msgid "Stock allocated successfully"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:343
+#: src/tables/sales/SalesOrderLineItemTable.tsx:338
msgid "Show lines which are fully allocated"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:348
+#: src/tables/sales/SalesOrderLineItemTable.tsx:343
msgid "Show lines which are completed"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:421
+#: src/tables/sales/SalesOrderLineItemTable.tsx:416
msgid "Allocate serials"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:439
+#: src/tables/sales/SalesOrderLineItemTable.tsx:434
msgid "Build stock"
msgstr ""
-#: src/tables/sales/SalesOrderLineItemTable.tsx:457
+#: src/tables/sales/SalesOrderLineItemTable.tsx:452
msgid "Order stock"
msgstr ""
@@ -11386,78 +11636,82 @@ msgstr ""
msgid "Create Shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:164
+#: src/tables/sales/SalesOrderShipmentTable.tsx:80
+msgid "Shipment created"
+msgstr ""
+
+#: src/tables/sales/SalesOrderShipmentTable.tsx:159
msgid "Items"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:248
+#: src/tables/sales/SalesOrderShipmentTable.tsx:243
msgid "Edit shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:256
+#: src/tables/sales/SalesOrderShipmentTable.tsx:251
msgid "Cancel shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:286
+#: src/tables/sales/SalesOrderShipmentTable.tsx:281
msgid "Add shipment"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:300
+#: src/tables/sales/SalesOrderShipmentTable.tsx:295
msgid "Show shipments which have been checked"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:305
+#: src/tables/sales/SalesOrderShipmentTable.tsx:300
msgid "Show shipments which have been shipped"
msgstr ""
-#: src/tables/sales/SalesOrderShipmentTable.tsx:310
+#: src/tables/sales/SalesOrderShipmentTable.tsx:305
msgid "Show shipments which have been delivered"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:30
-#: src/tables/settings/ApiTokenTable.tsx:44
+#: src/tables/settings/ApiTokenTable.tsx:31
+#: src/tables/settings/ApiTokenTable.tsx:45
msgid "Generate Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:32
+#: src/tables/settings/ApiTokenTable.tsx:33
msgid "Token generated"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:67
-#: src/tables/settings/ApiTokenTable.tsx:117
+#: src/tables/settings/ApiTokenTable.tsx:68
+#: src/tables/settings/ApiTokenTable.tsx:118
msgid "Revoked"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:71
-#: src/tables/settings/ApiTokenTable.tsx:179
+#: src/tables/settings/ApiTokenTable.tsx:72
+#: src/tables/settings/ApiTokenTable.tsx:180
msgid "Token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:78
+#: src/tables/settings/ApiTokenTable.tsx:79
msgid "In Use"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:87
+#: src/tables/settings/ApiTokenTable.tsx:88
msgid "Last Seen"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:92
+#: src/tables/settings/ApiTokenTable.tsx:93
msgid "Expiry"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:118
+#: src/tables/settings/ApiTokenTable.tsx:119
msgid "Show revoked tokens"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:137
+#: src/tables/settings/ApiTokenTable.tsx:138
msgid "Revoke"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:161
+#: src/tables/settings/ApiTokenTable.tsx:162
msgid "Error revoking token"
msgstr ""
-#: src/tables/settings/ApiTokenTable.tsx:183
+#: src/tables/settings/ApiTokenTable.tsx:185
msgid "Tokens are only shown once - make sure to note it down."
msgstr ""
@@ -11990,24 +12244,24 @@ msgstr ""
msgid "Error updating user"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:38
-#: src/tables/stock/InstalledItemsTable.tsx:90
+#: src/tables/stock/InstalledItemsTable.tsx:37
+#: src/tables/stock/InstalledItemsTable.tsx:81
msgid "Install Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:40
+#: src/tables/stock/InstalledItemsTable.tsx:39
msgid "Item installed"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:51
+#: src/tables/stock/InstalledItemsTable.tsx:50
msgid "Uninstall Item"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:53
+#: src/tables/stock/InstalledItemsTable.tsx:52
msgid "Item uninstalled"
msgstr ""
-#: src/tables/stock/InstalledItemsTable.tsx:108
+#: src/tables/stock/InstalledItemsTable.tsx:99
msgid "Uninstall stock item"
msgstr ""
@@ -12028,207 +12282,159 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:106
-msgid "This stock item is in production"
+#: src/tables/stock/StockItemTable.tsx:159
+msgid "Stocktake Date"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:113
-msgid "This stock item has been assigned to a sales order"
+#: src/tables/stock/StockItemTable.tsx:177
+msgid "Show stock for active parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:120
-msgid "This stock item has been assigned to a customer"
+#: src/tables/stock/StockItemTable.tsx:188
+msgid "Show stock for assembled parts"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:127
-msgid "This stock item is installed in another stock item"
+#: src/tables/stock/StockItemTable.tsx:193
+msgid "Show items which have been allocated"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:134
-msgid "This stock item has been consumed by a build order"
+#: src/tables/stock/StockItemTable.tsx:198
+msgid "Show items which are available"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:141
-msgid "This stock item is unavailable"
+#: src/tables/stock/StockItemTable.tsx:202
+#: src/tables/stock/StockLocationTable.tsx:38
+msgid "Include Sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:150
-msgid "This stock item has expired"
+#: src/tables/stock/StockItemTable.tsx:203
+msgid "Include stock in sublocations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:154
-msgid "This stock item is stale"
+#: src/tables/stock/StockItemTable.tsx:207
+msgid "Depleted"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:166
-msgid "This stock item is fully allocated"
+#: src/tables/stock/StockItemTable.tsx:208
+msgid "Show depleted stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:173
-msgid "This stock item is partially allocated"
+#: src/tables/stock/StockItemTable.tsx:214
+msgid "Show items which are in production"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:201
-msgid "This stock item has been depleted"
+#: src/tables/stock/StockItemTable.tsx:222
+msgid "Show items which have been consumed by a build order"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:227
+msgid "Show stock items which are installed in other items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:231
+msgid "Sent to Customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:232
+msgid "Show items which have been sent to a customer"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:243
+msgid "Show tracked items"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:247
+msgid "Has Purchase Price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:248
+msgid "Show items which have a purchase price"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:253
+msgid "Show items which have expired"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:259
+msgid "Show items which are stale"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:264
+msgid "Expired Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:265
+msgid "Show items which expired before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:271
+msgid "Expired After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:272
+msgid "Show items which expired after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:279
+msgid "Show items updated before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:285
+msgid "Show items updated after this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:290
+msgid "Stocktake Before"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:291
+msgid "Show items counted before this date"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:296
+msgid "Stocktake After"
+msgstr ""
+
+#: src/tables/stock/StockItemTable.tsx:297
+msgid "Show items counted after this date"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:301
#~ msgid "Show stock for assmebled parts"
#~ msgstr "Show stock for assmebled parts"
-#: src/tables/stock/StockItemTable.tsx:305
-msgid "Stocktake Date"
+#: src/tables/stock/StockItemTable.tsx:302
+msgid "External Location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:323
-msgid "Show stock for active parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:334
-msgid "Show stock for assembled parts"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:339
-msgid "Show items which have been allocated"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:344
-msgid "Show items which are available"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:348
-#: src/tables/stock/StockLocationTable.tsx:38
-msgid "Include Sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:349
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:353
-msgid "Depleted"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:354
-msgid "Show depleted stock items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:360
-msgid "Show items which are in production"
+#: src/tables/stock/StockItemTable.tsx:303
+msgid "Show items in an external location"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:362
#~ msgid "Include stock items for variant parts"
#~ msgstr "Include stock items for variant parts"
-#: src/tables/stock/StockItemTable.tsx:368
-msgid "Show items which have been consumed by a build order"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:373
-msgid "Show stock items which are installed in other items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:377
-msgid "Sent to Customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:378
-msgid "Show items which have been sent to a customer"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:389
-msgid "Show tracked items"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:393
-msgid "Has Purchase Price"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:394
-msgid "Show items which have a purchase price"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:397
#~ msgid "Serial Number LTE"
#~ msgstr "Serial Number LTE"
-#: src/tables/stock/StockItemTable.tsx:399
-msgid "Show items which have expired"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:403
#~ msgid "Serial Number GTE"
#~ msgstr "Serial Number GTE"
-#: src/tables/stock/StockItemTable.tsx:405
-msgid "Show items which are stale"
+#: src/tables/stock/StockItemTable.tsx:420
+msgid "Stock item created"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Expired Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:411
-msgid "Show items which expired before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:417
-msgid "Expired After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:418
-msgid "Show items which expired after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:424
-msgid "Updated Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:425
-msgid "Show items updated before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Updated After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:431
-msgid "Show items updated after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:436
-msgid "Stocktake Before"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:437
-msgid "Show items counted before this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:442
-msgid "Stocktake After"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:443
-msgid "Show items counted after this date"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:448
-msgid "External Location"
-msgstr ""
-
-#: src/tables/stock/StockItemTable.tsx:449
-msgid "Show items in an external location"
+#: src/tables/stock/StockItemTable.tsx:441
+msgid "Order items"
msgstr ""
#: src/tables/stock/StockItemTable.tsx:528
#~ msgid "Delete stock items"
#~ msgstr "Delete stock items"
-#: src/tables/stock/StockItemTable.tsx:559
-msgid "Order items"
-msgstr ""
-
#: src/tables/stock/StockItemTable.tsx:595
#~ msgid "Add a new stock item"
#~ msgstr "Add a new stock item"
@@ -12294,7 +12500,7 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:307
-#: src/tables/stock/StockItemTestResultTable.tsx:378
+#: src/tables/stock/StockItemTestResultTable.tsx:379
msgid "Edit Test Result"
msgstr ""
@@ -12303,7 +12509,7 @@ msgid "Test result updated"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:315
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:388
msgid "Delete Test Result"
msgstr ""
@@ -12327,27 +12533,27 @@ msgstr ""
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:405
+#: src/tables/stock/StockItemTestResultTable.tsx:406
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:409
+#: src/tables/stock/StockItemTestResultTable.tsx:410
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:410
+#: src/tables/stock/StockItemTestResultTable.tsx:411
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:414
+#: src/tables/stock/StockItemTestResultTable.tsx:415
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:415
+#: src/tables/stock/StockItemTestResultTable.tsx:416
msgid "Show only passed tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:420
+#: src/tables/stock/StockItemTestResultTable.tsx:421
msgid "Show results for enabled tests"
msgstr ""
@@ -12392,15 +12598,23 @@ msgstr ""
msgid "Set parent location for the selected items"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:77
+#: src/tables/stock/StockTrackingTable.tsx:93
+msgid "Old Status"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:109
msgid "Added"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:82
+#: src/tables/stock/StockTrackingTable.tsx:114
msgid "Removed"
msgstr ""
-#: src/tables/stock/StockTrackingTable.tsx:221
+#: src/tables/stock/StockTrackingTable.tsx:250
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: src/tables/stock/StockTrackingTable.tsx:276
msgid "No user information"
msgstr ""
diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po
index 5ad159434a..734d481d6f 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: 2025-12-07 07:36\n"
+"PO-Revision-Date: 2026-03-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -35,7 +35,7 @@ msgstr "Düzenle"
#: src/components/items/RoleTable.tsx:155
#: src/hooks/UseForm.tsx:164
#: src/pages/Notifications.tsx:109
-#: src/tables/plugin/PluginListTable.tsx:243
+#: src/tables/plugin/PluginListTable.tsx:249
msgid "Delete"
msgstr "Sil"
@@ -44,36 +44,36 @@ msgstr "Sil"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:188
#: src/components/items/ActionDropdown.tsx:277
#: src/components/items/ActionDropdown.tsx:278
-#: src/contexts/ThemeContext.tsx:45
+#: src/contexts/ThemeContext.tsx:57
#: src/hooks/UseForm.tsx:33
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:146
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:321
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:412
-#: src/tables/FilterSelectDrawer.tsx:336
-#: src/tables/build/BuildOutputTable.tsx:560
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414
+#: src/tables/FilterSelectDrawer.tsx:382
+#: src/tables/build/BuildOutputTable.tsx:610
msgid "Cancel"
msgstr "Vazgeç"
#: lib/components/RowActions.tsx:136
#: src/components/nav/NavigationDrawer.tsx:190
-#: src/forms/PurchaseOrderForms.tsx:854
-#: src/forms/StockForms.tsx:796
-#: src/forms/StockForms.tsx:843
-#: src/forms/StockForms.tsx:896
-#: src/forms/StockForms.tsx:942
-#: src/forms/StockForms.tsx:980
-#: src/forms/StockForms.tsx:1066
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:962
+#: src/forms/PurchaseOrderForms.tsx:855
+#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:851
+#: src/forms/StockForms.tsx:904
+#: src/forms/StockForms.tsx:950
+#: src/forms/StockForms.tsx:988
+#: src/forms/StockForms.tsx:1098
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976
msgid "Actions"
msgstr "Eylemler"
#: lib/components/SearchInput.tsx:34
-#: src/components/forms/fields/RelatedModelField.tsx:479
+#: src/components/forms/fields/RelatedModelField.tsx:480
#: src/components/nav/Header.tsx:169
#: src/components/wizards/ImportPartWizard.tsx:200
#: src/components/wizards/ImportPartWizard.tsx:233
#: src/pages/Index/Settings/UserSettings.tsx:75
-#: src/pages/part/PartDetail.tsx:1176
+#: src/pages/part/PartDetail.tsx:1191
msgid "Search"
msgstr "Ara"
@@ -86,42 +86,46 @@ msgid "Fail"
msgstr "Hata"
#: lib/components/YesNoButton.tsx:43
-#: src/tables/Filter.tsx:35
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:77
msgid "Yes"
msgstr "Evet"
#: lib/components/YesNoButton.tsx:44
-#: src/tables/Filter.tsx:36
+#: src/tables/Filter.tsx:41
+#: src/tables/Filter.tsx:78
msgid "No"
msgstr "Hayır"
#: lib/enums/ModelInformation.tsx:29
#: src/components/wizards/OrderPartsWizard.tsx:279
-#: src/forms/BuildForms.tsx:332
-#: src/forms/BuildForms.tsx:407
-#: src/forms/BuildForms.tsx:472
-#: src/forms/BuildForms.tsx:630
-#: src/forms/BuildForms.tsx:793
-#: src/forms/BuildForms.tsx:896
-#: src/forms/PurchaseOrderForms.tsx:850
-#: src/forms/ReturnOrderForms.tsx:242
-#: src/forms/SalesOrderForms.tsx:384
-#: src/forms/StockForms.tsx:360
-#: src/forms/StockForms.tsx:791
-#: src/forms/StockForms.tsx:838
-#: src/forms/StockForms.tsx:891
-#: src/forms/StockForms.tsx:937
-#: src/forms/StockForms.tsx:975
-#: src/forms/StockForms.tsx:1018
-#: src/forms/StockForms.tsx:1062
-#: src/forms/StockForms.tsx:1110
-#: src/forms/StockForms.tsx:1154
-#: src/pages/build/BuildDetail.tsx:201
-#: src/pages/part/PartDetail.tsx:1228
+#: src/forms/BuildForms.tsx:364
+#: src/forms/BuildForms.tsx:441
+#: src/forms/BuildForms.tsx:511
+#: src/forms/BuildForms.tsx:669
+#: src/forms/BuildForms.tsx:832
+#: src/forms/BuildForms.tsx:935
+#: src/forms/PurchaseOrderForms.tsx:851
+#: src/forms/ReturnOrderForms.tsx:243
+#: src/forms/SalesOrderForms.tsx:428
+#: src/forms/StockForms.tsx:367
+#: src/forms/StockForms.tsx:799
+#: src/forms/StockForms.tsx:846
+#: src/forms/StockForms.tsx:899
+#: src/forms/StockForms.tsx:945
+#: src/forms/StockForms.tsx:983
+#: src/forms/StockForms.tsx:1026
+#: src/forms/StockForms.tsx:1094
+#: src/forms/StockForms.tsx:1142
+#: src/forms/StockForms.tsx:1186
+#: src/pages/build/BuildDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:1243
#: src/tables/ColumnRenderers.tsx:91
+#: src/tables/build/BuildOrderParametricTable.tsx:26
#: src/tables/part/PartTestResultTable.tsx:247
#: src/tables/part/RelatedPartTable.tsx:53
-#: src/tables/stock/StockTrackingTable.tsx:87
+#: src/tables/stock/StockTrackingTable.tsx:119
+#: src/tables/stock/StockTrackingTable.tsx:237
msgid "Part"
msgstr "Parça"
@@ -134,7 +138,7 @@ msgstr "Parça"
#: src/pages/part/CategoryDetail.tsx:285
#: src/pages/part/CategoryDetail.tsx:340
#: src/pages/part/CategoryDetail.tsx:371
-#: src/pages/part/PartDetail.tsx:978
+#: src/pages/part/PartDetail.tsx:989
msgid "Parts"
msgstr "Parçalar"
@@ -152,11 +156,11 @@ msgid "Parameter"
msgstr ""
#: lib/enums/ModelInformation.tsx:40
-#: src/components/panels/ParametersPanel.tsx:19
+#: src/components/panels/ParametersPanel.tsx:21
#: src/components/wizards/ImportPartWizard.tsx:807
#: src/pages/Index/Settings/AdminCenter/Index.tsx:195
#: src/pages/Index/Settings/SystemSettings.tsx:191
-#: src/pages/part/PartDetail.tsx:943
+#: src/pages/part/PartDetail.tsx:953
msgid "Parameters"
msgstr "Parametreler"
@@ -180,80 +184,83 @@ msgstr "Parça Test Şablonları"
#: lib/enums/ModelInformation.tsx:59
#: src/components/wizards/OrderPartsWizard.tsx:290
-#: src/pages/company/SupplierPartDetail.tsx:418
+#: src/pages/company/SupplierPartDetail.tsx:419
#: src/pages/stock/StockDetail.tsx:289
#: src/tables/build/BuildAllocatedStockTable.tsx:152
#: src/tables/part/PartPurchaseOrdersTable.tsx:50
#: src/tables/purchasing/SupplierPartParametricTable.tsx:29
-#: src/tables/purchasing/SupplierPartTable.tsx:83
-#: src/tables/stock/StockItemTable.tsx:247
+#: src/tables/purchasing/SupplierPartTable.tsx:106
+#: src/tables/stock/StockItemTable.tsx:99
msgid "Supplier Part"
-msgstr "Sağlayıcı Parçası"
+msgstr "Tedarikçi Parçası"
#: lib/enums/ModelInformation.tsx:60
-#: src/pages/purchasing/PurchasingIndex.tsx:128
+#: src/pages/purchasing/PurchasingIndex.tsx:129
msgid "Supplier Parts"
msgstr "Tedarikçi Parçaları"
#: lib/enums/ModelInformation.tsx:69
-#: src/pages/company/ManufacturerPartDetail.tsx:288
+#: src/pages/company/ManufacturerPartDetail.tsx:289
#: src/pages/company/SupplierPartDetail.tsx:162
#: src/tables/part/PartPurchaseOrdersTable.tsx:56
-#: src/tables/stock/StockItemTable.tsx:253
+#: src/tables/stock/StockItemTable.tsx:106
msgid "Manufacturer Part"
msgstr "Üretici Parçası"
#: lib/enums/ModelInformation.tsx:70
-#: src/pages/purchasing/PurchasingIndex.tsx:177
+#: src/pages/purchasing/PurchasingIndex.tsx:179
msgid "Manufacturer Parts"
msgstr "Üretici Parçaları"
#: lib/enums/ModelInformation.tsx:79
#: src/pages/part/CategoryDetail.tsx:371
-#: src/tables/Filter.tsx:389
+#: src/tables/Filter.tsx:449
msgid "Part Category"
-msgstr "Parça Sınıfı"
+msgstr "Parça Kategorisi"
#: lib/enums/ModelInformation.tsx:80
#: lib/enums/Roles.tsx:37
#: src/pages/part/CategoryDetail.tsx:279
#: src/pages/part/CategoryDetail.tsx:362
-#: src/pages/part/PartDetail.tsx:1217
+#: src/pages/part/PartDetail.tsx:1232
msgid "Part Categories"
msgstr "Parça Kategorileri"
#: lib/enums/ModelInformation.tsx:88
-#: src/forms/BuildForms.tsx:473
-#: src/forms/BuildForms.tsx:633
-#: src/forms/BuildForms.tsx:794
-#: src/forms/SalesOrderForms.tsx:386
-#: src/pages/stock/StockDetail.tsx:1005
+#: src/forms/BuildForms.tsx:512
+#: src/forms/BuildForms.tsx:672
+#: src/forms/BuildForms.tsx:833
+#: src/forms/SalesOrderForms.tsx:430
+#: src/pages/stock/StockDetail.tsx:1008
+#: src/tables/ColumnRenderers.tsx:129
#: src/tables/part/PartTestResultTable.tsx:256
-#: src/tables/stock/StockTrackingTable.tsx:48
-#: src/tables/stock/StockTrackingTable.tsx:55
+#: src/tables/stock/InstalledItemsTable.tsx:66
+#: src/tables/stock/StockTrackingTable.tsx:65
+#: src/tables/stock/StockTrackingTable.tsx:72
+#: src/tables/stock/StockTrackingTable.tsx:247
msgid "Stock Item"
-msgstr "Stok Ögesi"
+msgstr "Stok Kalemi"
#: lib/enums/ModelInformation.tsx:89
#: lib/enums/Roles.tsx:45
#: src/pages/company/CompanyDetail.tsx:211
#: src/pages/part/CategoryDetail.tsx:314
-#: src/pages/part/PartStockHistoryDetail.tsx:101
-#: src/pages/stock/LocationDetail.tsx:121
-#: src/pages/stock/LocationDetail.tsx:180
+#: src/pages/part/PartStockHistoryDetail.tsx:117
+#: src/pages/stock/LocationDetail.tsx:130
+#: src/pages/stock/LocationDetail.tsx:211
msgid "Stock Items"
msgstr "Stok Kalemleri"
#: lib/enums/ModelInformation.tsx:98
#: lib/enums/Roles.tsx:47
-#: src/pages/stock/LocationDetail.tsx:420
+#: src/pages/stock/LocationDetail.tsx:457
msgid "Stock Location"
msgstr "Stok Konumu"
#: lib/enums/ModelInformation.tsx:99
-#: src/pages/stock/LocationDetail.tsx:174
-#: src/pages/stock/LocationDetail.tsx:412
-#: src/pages/stock/StockDetail.tsx:996
+#: src/pages/stock/LocationDetail.tsx:185
+#: src/pages/stock/LocationDetail.tsx:449
+#: src/pages/stock/StockDetail.tsx:999
msgid "Stock Locations"
msgstr "Stok Konumları"
@@ -266,8 +273,8 @@ msgid "Stock Location Types"
msgstr "Stok Konum Türleri"
#: lib/enums/ModelInformation.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:254
-#: src/pages/part/PartDetail.tsx:900
+#: src/pages/Index/Settings/SystemSettings.tsx:255
+#: src/pages/part/PartDetail.tsx:910
msgid "Stock History"
msgstr "Stok Geçmişi"
@@ -277,31 +284,31 @@ msgstr "Stok Geçmişleri"
#: lib/enums/ModelInformation.tsx:120
msgid "Build"
-msgstr "Yap"
+msgstr "Üret"
#: lib/enums/ModelInformation.tsx:121
msgid "Builds"
-msgstr "Yapılar"
+msgstr "Üretimler"
#: lib/enums/ModelInformation.tsx:130
msgid "Build Line"
-msgstr "Yapı Satırı"
+msgstr "Üretim Satırı"
#: lib/enums/ModelInformation.tsx:131
msgid "Build Lines"
-msgstr "Yapı Satırları"
+msgstr "Üretim Satırları"
#: lib/enums/ModelInformation.tsx:138
msgid "Build Item"
-msgstr "Yapı Ögesi"
+msgstr "Üretim Kalemi"
#: lib/enums/ModelInformation.tsx:139
msgid "Build Items"
-msgstr "Yapı Ögeleri"
+msgstr "Üretim Kalemleri"
#: lib/enums/ModelInformation.tsx:144
-#: src/pages/company/CompanyDetail.tsx:345
-#: src/tables/company/CompanyTable.tsx:47
+#: src/pages/company/CompanyDetail.tsx:347
+#: src/tables/company/CompanyTable.tsx:56
#: src/tables/company/ContactTable.tsx:67
#: src/tables/company/ParametricCompanyTable.tsx:18
msgid "Company"
@@ -312,12 +319,12 @@ msgid "Companies"
msgstr "Şirketler"
#: lib/enums/ModelInformation.tsx:152
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:335
#: src/pages/purchasing/PurchaseOrderDetail.tsx:254
#: src/pages/sales/ReturnOrderDetail.tsx:232
#: src/pages/sales/SalesOrderDetail.tsx:225
-#: src/tables/ColumnRenderers.tsx:362
-#: src/tables/Filter.tsx:286
+#: src/tables/ColumnRenderers.tsx:566
+#: src/tables/Filter.tsx:346
#: src/tables/TableHoverCard.tsx:101
msgid "Project Code"
msgstr "Proje Kodu"
@@ -330,24 +337,24 @@ msgstr "Proje Kodları"
#: lib/enums/ModelInformation.tsx:159
#: src/components/wizards/OrderPartsWizard.tsx:338
#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:33
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:555
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:565
#: src/pages/stock/StockDetail.tsx:352
#: src/tables/part/PartPurchaseOrdersTable.tsx:32
-#: src/tables/stock/StockItemTable.tsx:239
-#: src/tables/stock/StockTrackingTable.tsx:120
+#: src/tables/stock/StockItemTable.tsx:91
+#: src/tables/stock/StockTrackingTable.tsx:152
msgid "Purchase Order"
msgstr "Satın Alma Siparişi"
#: lib/enums/ModelInformation.tsx:160
#: lib/enums/Roles.tsx:39
-#: src/defaults/actions.tsx:104
-#: src/pages/Index/Settings/SystemSettings.tsx:289
+#: src/defaults/actions.tsx:106
+#: src/pages/Index/Settings/SystemSettings.tsx:301
#: src/pages/company/CompanyDetail.tsx:204
#: src/pages/company/SupplierPartDetail.tsx:267
-#: src/pages/part/PartDetail.tsx:864
+#: src/pages/part/PartDetail.tsx:874
#: src/pages/purchasing/PurchasingIndex.tsx:66
msgid "Purchase Orders"
-msgstr "Satın Alma Emirleri"
+msgstr "Satın Alma Siparişleri"
#: lib/enums/ModelInformation.tsx:169
msgid "Purchase Order Line"
@@ -358,31 +365,31 @@ msgid "Purchase Order Lines"
msgstr "Satın Alma Sipariş Satırları"
#: lib/enums/ModelInformation.tsx:175
-#: src/pages/build/BuildDetail.tsx:290
+#: src/pages/build/BuildDetail.tsx:308
#: src/pages/part/pricing/SaleHistoryPanel.tsx:24
-#: src/pages/sales/SalesOrderDetail.tsx:619
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:103
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:446
+#: src/pages/sales/SalesOrderDetail.tsx:629
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:101
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:435
#: src/pages/stock/StockDetail.tsx:361
-#: src/tables/part/PartSalesAllocationsTable.tsx:41
-#: src/tables/sales/SalesOrderAllocationTable.tsx:110
-#: src/tables/sales/SalesOrderShipmentTable.tsx:143
-#: src/tables/stock/StockTrackingTable.tsx:131
+#: src/tables/part/PartSalesAllocationsTable.tsx:42
+#: src/tables/sales/SalesOrderAllocationTable.tsx:111
+#: src/tables/sales/SalesOrderShipmentTable.tsx:136
+#: src/tables/stock/StockTrackingTable.tsx:163
msgid "Sales Order"
msgstr "Satış Siparişi"
#: lib/enums/ModelInformation.tsx:176
#: lib/enums/Roles.tsx:43
-#: src/defaults/actions.tsx:114
-#: src/pages/Index/Settings/SystemSettings.tsx:305
+#: src/defaults/actions.tsx:116
+#: src/pages/Index/Settings/SystemSettings.tsx:317
#: src/pages/company/CompanyDetail.tsx:224
-#: src/pages/part/PartDetail.tsx:876
+#: src/pages/part/PartDetail.tsx:886
#: src/pages/sales/SalesIndex.tsx:53
msgid "Sales Orders"
-msgstr "Satış Emirleri"
+msgstr "Satış Siparişleri"
#: lib/enums/ModelInformation.tsx:185
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:445
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:434
msgid "Sales Order Shipment"
msgstr "Satış Siparişi Gönderisi"
@@ -391,28 +398,28 @@ msgid "Sales Order Shipments"
msgstr "Satış Siparişi Gönderileri"
#: lib/enums/ModelInformation.tsx:194
-#: src/pages/sales/ReturnOrderDetail.tsx:554
-#: src/tables/stock/StockTrackingTable.tsx:142
+#: src/pages/sales/ReturnOrderDetail.tsx:564
+#: src/tables/stock/StockTrackingTable.tsx:174
msgid "Return Order"
msgstr "İade Emri"
#: lib/enums/ModelInformation.tsx:195
#: lib/enums/Roles.tsx:41
-#: src/defaults/actions.tsx:125
-#: src/pages/Index/Settings/SystemSettings.tsx:322
+#: src/defaults/actions.tsx:127
+#: src/pages/Index/Settings/SystemSettings.tsx:334
#: src/pages/company/CompanyDetail.tsx:231
-#: src/pages/part/PartDetail.tsx:883
+#: src/pages/part/PartDetail.tsx:893
#: src/pages/sales/SalesIndex.tsx:99
msgid "Return Orders"
-msgstr "İade Emirleri"
+msgstr "İade Siparişleri"
#: lib/enums/ModelInformation.tsx:204
msgid "Return Order Line Item"
-msgstr "İade Emri Satır Ögesi"
+msgstr "İade Siparişi Satırı"
#: lib/enums/ModelInformation.tsx:205
msgid "Return Order Line Items"
-msgstr "İade Emri Satır Ögeleri"
+msgstr "İade Siparişi Satırları"
#: lib/enums/ModelInformation.tsx:210
#: src/tables/company/AddressTable.tsx:52
@@ -420,7 +427,7 @@ msgid "Address"
msgstr "Adres"
#: lib/enums/ModelInformation.tsx:211
-#: src/pages/company/CompanyDetail.tsx:265
+#: src/pages/company/CompanyDetail.tsx:266
msgid "Addresses"
msgstr "Adresler"
@@ -434,13 +441,13 @@ msgid "Contact"
msgstr "Bağlantı"
#: lib/enums/ModelInformation.tsx:218
-#: src/pages/company/CompanyDetail.tsx:259
+#: src/pages/company/CompanyDetail.tsx:260
#: src/pages/core/CoreIndex.tsx:33
msgid "Contacts"
msgstr "Bağlantılar"
#: lib/enums/ModelInformation.tsx:224
-#: src/tables/ColumnRenderers.tsx:444
+#: src/tables/ColumnRenderers.tsx:648
msgid "Owner"
msgstr "Sahip"
@@ -451,15 +458,15 @@ msgstr "Sahipler"
#: lib/enums/ModelInformation.tsx:231
#: src/pages/Auth/ChangePassword.tsx:36
#: src/pages/core/UserDetail.tsx:220
-#: src/tables/ColumnRenderers.tsx:395
-#: src/tables/Filter.tsx:335
-#: src/tables/settings/ApiTokenTable.tsx:106
-#: src/tables/settings/ApiTokenTable.tsx:126
+#: src/tables/ColumnRenderers.tsx:599
+#: src/tables/Filter.tsx:395
+#: src/tables/settings/ApiTokenTable.tsx:107
+#: src/tables/settings/ApiTokenTable.tsx:127
#: src/tables/settings/BarcodeScanHistoryTable.tsx:79
#: src/tables/settings/ExportSessionTable.tsx:44
#: src/tables/settings/ImportSessionTable.tsx:77
-#: src/tables/stock/StockTrackingTable.tsx:190
-#: src/tables/stock/StockTrackingTable.tsx:218
+#: src/tables/stock/StockTrackingTable.tsx:225
+#: src/tables/stock/StockTrackingTable.tsx:273
msgid "User"
msgstr "Kullanıcı"
@@ -513,7 +520,7 @@ msgid "Report Templates"
msgstr "Rapor Şablonları"
#: lib/enums/ModelInformation.tsx:270
-#: src/components/plugins/PluginDrawer.tsx:145
+#: src/components/plugins/PluginDrawer.tsx:153
msgid "Plugin Configuration"
msgstr "Eklenti Yapılandırma"
@@ -543,31 +550,31 @@ msgstr "Seçim Listeleri"
#: src/components/dashboard/DashboardLayout.tsx:281
#: src/components/editors/NotesEditor.tsx:74
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158
-#: src/components/forms/fields/ApiFormField.tsx:237
+#: src/components/forms/fields/ApiFormField.tsx:251
#: src/components/forms/fields/TableField.tsx:45
#: src/components/importer/ImportDataSelector.tsx:192
-#: src/components/importer/ImporterColumnSelector.tsx:234
+#: src/components/importer/ImporterColumnSelector.tsx:261
#: src/components/importer/ImporterDrawer.tsx:88
#: src/components/modals/LicenseModal.tsx:85
#: src/components/nav/NavigationTree.tsx:211
#: src/components/nav/NotificationDrawer.tsx:235
#: src/components/nav/SearchDrawer.tsx:572
-#: src/components/settings/SettingList.tsx:139
+#: src/components/settings/SettingList.tsx:145
#: src/components/wizards/ImportPartWizard.tsx:574
#: src/components/wizards/ImportPartWizard.tsx:719
-#: src/forms/BomForms.tsx:69
-#: src/functions/auth.tsx:643
+#: src/forms/BomForms.tsx:74
+#: src/functions/auth.tsx:687
#: src/pages/ErrorPage.tsx:11
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:315
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:406
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:637
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:816
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:175
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:317
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:408
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:639
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:830
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:189
#: src/pages/part/PartPricingPanel.tsx:71
#: src/states/IconState.tsx:46
#: src/states/IconState.tsx:76
-#: src/tables/InvenTreeTableHeader.tsx:125
-#: src/tables/bom/BomTable.tsx:557
+#: src/tables/InvenTreeTableHeader.tsx:124
+#: src/tables/bom/BomTable.tsx:561
#: src/tables/settings/EmailTable.tsx:109
#: src/tables/stock/StockItemTestResultTable.tsx:338
msgid "Error"
@@ -584,26 +591,30 @@ msgid "Admin"
msgstr "Yönetici"
#: lib/enums/Roles.tsx:33
-#: src/defaults/actions.tsx:135
-#: src/pages/Index/Settings/SystemSettings.tsx:270
+#: src/defaults/actions.tsx:146
+#: src/pages/Index/Settings/SystemSettings.tsx:282
#: src/pages/build/BuildIndex.tsx:67
-#: src/pages/part/PartDetail.tsx:893
-#: src/pages/sales/SalesOrderDetail.tsx:422
+#: src/pages/part/PartDetail.tsx:903
+#: src/pages/sales/SalesOrderDetail.tsx:431
msgid "Build Orders"
-msgstr "Yapım İşi Emirleri"
+msgstr "Üretim Emirleri"
-#: lib/enums/Roles.tsx:50
-#: src/pages/Index/Settings/AdminCenter/Index.tsx:202
-#~ msgid "Stocktake"
-#~ msgstr "Stocktake"
+#: lib/hooks/MonitorDataOutput.tsx:57
+#: lib/hooks/MonitorDataOutput.tsx:116
+msgid "Process failed"
+msgstr "İşlem başarısız"
-#: src/components/Boundary.tsx:12
-msgid "Error rendering component"
-msgstr "Bileşeni oluşturmada hata"
+#: lib/hooks/MonitorDataOutput.tsx:75
+msgid "Process completed successfully"
+msgstr "İşlem başarı ile tamamlandı"
#: src/components/Boundary.tsx:14
+msgid "Error rendering component"
+msgstr "Bileşen görüntüleme hatası"
+
+#: src/components/Boundary.tsx:16
msgid "An error occurred while rendering this component. Refer to the console for more information."
-msgstr "Bu bileşeni oluştururken bir hata oluştu. Daha fazla bilgi için konsola bakın."
+msgstr "Bu bileşeni görüntülerken bir hata oluştu. Daha fazla bilgi için konsola bakın."
#: src/components/DashboardItemProxy.tsx:34
#~ msgid "Title"
@@ -637,7 +648,7 @@ msgstr "Barkod"
#: src/components/barcodes/BarcodeInput.tsx:35
#: src/components/barcodes/BarcodeKeyboardInput.tsx:18
-#: src/defaults/actions.tsx:85
+#: src/defaults/actions.tsx:137
msgid "Scan"
msgstr "Tara"
@@ -668,8 +679,8 @@ msgstr "Barkod verisi gir"
#: src/components/barcodes/BarcodeScanDialog.tsx:56
#: src/components/buttons/ScanButton.tsx:27
#: src/components/nav/NavigationDrawer.tsx:122
-#: src/forms/PurchaseOrderForms.tsx:509
-#: src/forms/PurchaseOrderForms.tsx:615
+#: src/forms/PurchaseOrderForms.tsx:496
+#: src/forms/PurchaseOrderForms.tsx:613
msgid "Scan Barcode"
msgstr "Barkod Tara"
@@ -688,7 +699,7 @@ msgstr "Barkod beklenen model ile uyuşmuyor"
#: src/components/wizards/ImportPartWizard.tsx:566
#: src/components/wizards/ImportPartWizard.tsx:691
#: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45
-#: src/tables/bom/BomTable.tsx:548
+#: src/tables/bom/BomTable.tsx:552
#: src/tables/settings/PendingTasksTable.tsx:68
msgid "Success"
msgstr "Başarılı"
@@ -732,18 +743,18 @@ msgstr "Barkod Verisi:"
#: src/components/barcodes/QRCode.tsx:138
msgid "Select Error Correction Level"
-msgstr "Hata Düzeltme Düzeyini Seçin"
+msgstr "Hata Düzeltme Seviyesini Seçin"
#: src/components/barcodes/QRCode.tsx:170
msgid "Failed to link barcode"
msgstr "Barkod bağlanamadı"
#: src/components/barcodes/QRCode.tsx:179
-#: src/pages/part/PartDetail.tsx:521
+#: src/pages/part/PartDetail.tsx:538
#: src/pages/purchasing/PurchaseOrderDetail.tsx:223
#: src/pages/sales/ReturnOrderDetail.tsx:189
#: src/pages/sales/SalesOrderDetail.tsx:182
-#: src/pages/sales/SalesOrderShipmentDetail.tsx:120
+#: src/pages/sales/SalesOrderShipmentDetail.tsx:118
#: src/pages/stock/StockDetail.tsx:186
msgid "Link"
msgstr "Bağlantı"
@@ -754,7 +765,7 @@ msgstr "Bu, ilgili barkoda olan bağlantıyı kaldıracaktır"
#: src/components/barcodes/QRCode.tsx:205
#: src/components/items/ActionDropdown.tsx:192
-#: src/forms/PurchaseOrderForms.tsx:606
+#: src/forms/PurchaseOrderForms.tsx:604
msgid "Unlink Barcode"
msgstr "Barkodun Bağlantısını Kaldır"
@@ -766,11 +777,11 @@ msgstr "Yönetici arayüzünde aç"
#~ msgid "Copy to clipboard"
#~ msgstr "Copy to clipboard"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copied"
msgstr "Kopyalandı"
-#: src/components/buttons/CopyButton.tsx:42
+#: src/components/buttons/CopyButton.tsx:50
msgid "Copy"
msgstr "Kopyala"
@@ -798,19 +809,15 @@ msgstr "Rapor Yazdırma"
#~ msgid "The label could not be generated"
#~ msgstr "The label could not be generated"
-#: src/components/buttons/PrintingActions.tsx:124
+#: src/components/buttons/PrintingActions.tsx:126
msgid "Print Label"
msgstr "Etiket Yazdır"
-#: src/components/buttons/PrintingActions.tsx:134
-#: src/components/buttons/PrintingActions.tsx:168
+#: src/components/buttons/PrintingActions.tsx:138
+#: src/components/buttons/PrintingActions.tsx:172
msgid "Print"
msgstr "Yazdır"
-#: src/components/buttons/PrintingActions.tsx:152
-#~ msgid "Generate"
-#~ msgstr "Generate"
-
#: src/components/buttons/PrintingActions.tsx:153
#~ msgid "Report printing completed successfully"
#~ msgstr "Report printing completed successfully"
@@ -819,19 +826,19 @@ msgstr "Yazdır"
#~ msgid "The report could not be generated"
#~ msgstr "The report could not be generated"
-#: src/components/buttons/PrintingActions.tsx:161
+#: src/components/buttons/PrintingActions.tsx:165
msgid "Print Report"
msgstr "Rapor Yazdır"
-#: src/components/buttons/PrintingActions.tsx:189
+#: src/components/buttons/PrintingActions.tsx:193
msgid "Printing Actions"
msgstr "Yazdırma Eylemleri"
-#: src/components/buttons/PrintingActions.tsx:195
+#: src/components/buttons/PrintingActions.tsx:199
msgid "Print Labels"
msgstr "Etiketler Yazdır"
-#: src/components/buttons/PrintingActions.tsx:201
+#: src/components/buttons/PrintingActions.tsx:205
msgid "Print Reports"
msgstr "Raporlar Yazdır"
@@ -860,8 +867,8 @@ msgstr "Diğer işlemler için sağlayıcıya yönlendirileceksiniz."
#~ msgstr "Open QR code scanner"
#: src/components/buttons/ScanButton.tsx:32
-msgid "Open Barcode Scanner"
-msgstr "Barkod tarayıcıyı aç"
+#~ msgid "Open Barcode Scanner"
+#~ msgstr "Open Barcode Scanner"
#: src/components/buttons/SpotlightButton.tsx:12
msgid "Open spotlight"
@@ -883,27 +890,32 @@ msgstr "Bildirimleri iptal edin"
msgid "Subscribe to notifications"
msgstr "Bildirimlere abone olun"
-#: src/components/calendar/Calendar.tsx:102
-#: src/components/calendar/Calendar.tsx:165
+#: src/components/calendar/Calendar.tsx:118
+#: src/components/calendar/Calendar.tsx:181
msgid "Calendar Filters"
msgstr "Takvim Filtreleri"
-#: src/components/calendar/Calendar.tsx:117
+#: src/components/calendar/Calendar.tsx:133
msgid "Previous month"
msgstr "Önceki Ay"
-#: src/components/calendar/Calendar.tsx:126
+#: src/components/calendar/Calendar.tsx:142
msgid "Select month"
msgstr "Ay Seç"
-#: src/components/calendar/Calendar.tsx:147
+#: src/components/calendar/Calendar.tsx:163
msgid "Next month"
msgstr "Sonraki ay"
#: src/components/calendar/Calendar.tsx:178
#: src/tables/InvenTreeTableHeader.tsx:294
-msgid "Download data"
-msgstr "Veriyi indir"
+#~ msgid "Download data"
+#~ msgstr "Download data"
+
+#: src/components/calendar/Calendar.tsx:194
+#: src/tables/InvenTreeTableHeader.tsx:288
+msgid "Export data"
+msgstr ""
#: src/components/calendar/OrderCalendar.tsx:132
msgid "Order Updated"
@@ -914,34 +926,34 @@ msgid "Error updating order"
msgstr "Sipariş güncellenirken hata oluştu"
#: src/components/calendar/OrderCalendar.tsx:178
-#: src/tables/Filter.tsx:152
+#: src/tables/Filter.tsx:194
msgid "Overdue"
msgstr "Gecikmiş"
#: src/components/dashboard/DashboardLayout.tsx:282
msgid "Failed to load dashboard widgets."
-msgstr "Dashboard widget'ları yüklenemedi."
+msgstr "Pano kartları yüklenemedi."
#: src/components/dashboard/DashboardLayout.tsx:293
msgid "No Widgets Selected"
-msgstr "Bir widget seçilmedi"
+msgstr "Hiç kart seçilmedi"
#: src/components/dashboard/DashboardLayout.tsx:296
msgid "Use the menu to add widgets to the dashboard"
-msgstr "Gösterge paneline == Widget == eklemek için menüyü kullanın"
+msgstr "Panoya kart eklemek için menüyü kullanın"
#: src/components/dashboard/DashboardMenu.tsx:62
#: src/components/dashboard/DashboardMenu.tsx:138
msgid "Accept Layout"
-msgstr "Bu düzeni onayla"
+msgstr "Yerleşimi Onayla"
#: src/components/dashboard/DashboardMenu.tsx:94
#: src/components/nav/NavigationDrawer.tsx:64
-#: src/defaults/actions.tsx:41
+#: src/defaults/actions.tsx:42
#: src/defaults/links.tsx:31
#: src/pages/Index/Home.tsx:8
msgid "Dashboard"
-msgstr "Panel"
+msgstr "Pano"
#: src/components/dashboard/DashboardMenu.tsx:102
msgid "Edit Layout"
@@ -949,215 +961,215 @@ msgstr "Yerleşimi Düzenle"
#: src/components/dashboard/DashboardMenu.tsx:111
msgid "Add Widget"
-msgstr "Widget ekle"
+msgstr "Kart Ekle"
#: src/components/dashboard/DashboardMenu.tsx:120
msgid "Remove Widgets"
-msgstr "Widgetları kaldır"
+msgstr "Kartları Kaldır"
#: src/components/dashboard/DashboardMenu.tsx:129
msgid "Clear Widgets"
-msgstr "Widgetları Temizle"
+msgstr "Kartları Temizle"
#: src/components/dashboard/DashboardWidget.tsx:81
msgid "Remove this widget from the dashboard"
-msgstr "Bu widget'ı panodan kaldır"
+msgstr "Bu kartı panodan kaldır"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:77
msgid "Filter dashboard widgets"
-msgstr "Panodaki widgetları filtrele"
+msgstr "Pano kartlarını filtrele"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:98
msgid "Add this widget to the dashboard"
-msgstr "Bu widget'ı panoya ekle"
+msgstr "Bu kartı panoya ekle"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:123
msgid "No Widgets Available"
-msgstr "Hiç widget yok"
+msgstr "Hiç Kart Yok"
#: src/components/dashboard/DashboardWidgetDrawer.tsx:124
msgid "There are no more widgets available for the dashboard"
-msgstr "Panoya eklenebilecek daha fazla widget yok"
-
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:24
-msgid "Subscribed Parts"
-msgstr "Abone Olunan Parçalar"
+msgstr "Pano için kullanılabilir kart kalmadı"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:25
-msgid "Show the number of parts which you have subscribed to"
-msgstr "Abone olduğunuz parçaların sayısını gösterin"
+msgid "Subscribed Parts"
+msgstr "Takip Edilen Parçalar"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:31
-msgid "Subscribed Categories"
-msgstr "Abone Olunan Sınıflar"
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:26
+msgid "Show the number of parts which you have subscribed to"
+msgstr "Takip edilen parça sayısını göster"
#: src/components/dashboard/DashboardWidgetLibrary.tsx:32
-msgid "Show the number of part categories which you have subscribed to"
-msgstr "Abone olduğunuz parça kategorilerinin sayısını gösterin"
+msgid "Subscribed Categories"
+msgstr "Tekip Edilen Kategoriler"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:41
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:33
+msgid "Show the number of part categories which you have subscribed to"
+msgstr "Takip edilen parça kategorisi sayısını göster"
+
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
msgid "Invalid BOMs"
msgstr "Geçersiz BOM'lar"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:42
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:43
msgid "Assemblies requiring bill of materials validation"
-msgstr "Malzeme listesi doğrulaması gerektiren montajlar"
+msgstr "Ürün ağacı doğrulaması gerektiren montajlar"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:53
-#: src/tables/part/PartTable.tsx:263
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:54
+#: src/tables/part/PartTable.tsx:264
msgid "Low Stock"
msgstr "Düşük Stok"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:55
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:56
msgid "Show the number of parts which are low on stock"
-msgstr "Stokta düşük olan parçaların sayısını gösterin"
+msgstr "Stokta düşük olan parça sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:64
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:65
msgid "Required for Build Orders"
-msgstr "Yapı Siparişleri için Gerekli"
+msgstr "Üretim Emirleri için Gerekenler"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:66
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:67
msgid "Show parts which are required for active build orders"
-msgstr "Aktif sipariş oluşturma ihtiyacı olan parçaları gösterin"
+msgstr "Aktif üretim emirleri için gereken parçaları göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:71
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:72
msgid "Expired Stock Items"
-msgstr "Son kullanma tarihi Geçmiş Stok Ürünleri"
+msgstr "Süresi Dolan Stok Kalemleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:73
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:74
msgid "Show the number of stock items which have expired"
-msgstr "Son kullanma tarihi geçen stok ürünlerinin sayısını gösterin"
+msgstr "Süresi dolan stok kalemlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:79
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:80
msgid "Stale Stock Items"
-msgstr "Beklenen oranda artık satış olmayan stok ürünleri"
+msgstr "Eskiyen Stok Kalemleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:81
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:82
msgid "Show the number of stock items which are stale"
-msgstr "Beklenen oranda satış olmayan stok ürünlerinin sayısını gösterin"
+msgstr "Eskiyen stok kalemlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:87
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:88
msgid "Active Build Orders"
msgstr "Aktif Üretim Emirleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:89
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:90
msgid "Show the number of build orders which are currently active"
-msgstr "Şuan aktif olan üretim emirlerinin sayısını gösterin"
+msgstr "Şu an aktif olan üretim emirlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:94
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:95
msgid "Overdue Build Orders"
-msgstr "Geciken Yapım Siparişleri"
+msgstr "Geciken Üretim Emirleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:96
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:97
msgid "Show the number of build orders which are overdue"
-msgstr "Süresi gecikmiş sipariş ihtiyaçlarının sayısını gösterin"
+msgstr "Geciken üretim emirlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:101
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:102
msgid "Assigned Build Orders"
msgstr "Atanmış Üretim Emirleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:103
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:104
msgid "Show the number of build orders which are assigned to you"
-msgstr "Size atanan sipariş oluşturma ihtiyaçlarının sayısını gösterin"
+msgstr "Size atanan üretim emirlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:108
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:109
msgid "Active Sales Orders"
msgstr "Aktif Satış Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:110
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:111
msgid "Show the number of sales orders which are currently active"
-msgstr "Şu anda aktif olan satış siparişlerinin sayısını gösterin"
+msgstr "Şu an aktif olan satış siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:115
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:116
msgid "Overdue Sales Orders"
msgstr "Geciken Satış Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:117
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:118
msgid "Show the number of sales orders which are overdue"
-msgstr "Gecikmiş olan satış siparişlerinin sayısını gösterin"
+msgstr "Geciken satış siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:122
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:123
msgid "Assigned Sales Orders"
-msgstr "Atanmış Satış Emirleri"
+msgstr "Atanmış Satış Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:124
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:125
msgid "Show the number of sales orders which are assigned to you"
-msgstr "Size atanmış satış emirlerinin sayısını gösterin"
+msgstr "Size atanmış satış siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:129
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:130
#: src/pages/sales/SalesIndex.tsx:87
msgid "Pending Shipments"
msgstr "Bekleyen Gönderiler"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:131
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:132
msgid "Show the number of pending sales order shipments"
msgstr "Bekleyen satış siparişi gönderimlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:136
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:137
msgid "Active Purchase Orders"
-msgstr "Aktif Satın Alma Emirleri"
+msgstr "Aktif Satın Alma Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:138
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:139
msgid "Show the number of purchase orders which are currently active"
msgstr "Şu anda aktif olan satın alma siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:143
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:144
msgid "Overdue Purchase Orders"
msgstr "Geciken Satın Alma Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:145
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:146
msgid "Show the number of purchase orders which are overdue"
-msgstr "Vadesi geçmiş satın alma siparişlerinin sayısını gösterin"
+msgstr "Geciken satın alma siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:150
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:151
msgid "Assigned Purchase Orders"
-msgstr "Atanmış Satın Alma Emirleri"
+msgstr "Atanmış Satın Alma Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:152
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:153
msgid "Show the number of purchase orders which are assigned to you"
msgstr "Size atanmış satın alma siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:157
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:158
msgid "Active Return Orders"
-msgstr "Aktif İade Emirleri"
+msgstr "Aktif İade Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:159
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:160
msgid "Show the number of return orders which are currently active"
-msgstr "Şuan aktif olan iade emirlerinin sayısını gösterin"
+msgstr "Şu an aktif olan iade siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:164
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:165
msgid "Overdue Return Orders"
msgstr "Gecikmiş iade siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:166
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:167
msgid "Show the number of return orders which are overdue"
-msgstr "Gecikmiş iade siparişlerinin sayısını gösterin"
+msgstr "Gecikmiş iade siparişlerinin sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:171
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:172
msgid "Assigned Return Orders"
-msgstr "Atanmış İade Emirleri"
+msgstr "Atanmış İade Siparişleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:173
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:174
msgid "Show the number of return orders which are assigned to you"
-msgstr "Size atanana gecikmiş iade siparişlerinin sayısını gösterin"
+msgstr "Size atanan gecikmiş iade siparişi sayısını göster"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:193
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
#: src/components/dashboard/widgets/GetStartedWidget.tsx:15
#: src/defaults/links.tsx:86
msgid "Getting Started"
msgstr "Başlarken"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:194
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:195
#: src/defaults/links.tsx:89
msgid "Getting started with InvenTree"
msgstr "InvenTree ile başlarken"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:201
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
#: src/components/dashboard/widgets/NewsWidget.tsx:123
msgid "News Updates"
msgstr "Güncelleme Haberleri"
-#: src/components/dashboard/DashboardWidgetLibrary.tsx:202
+#: src/components/dashboard/DashboardWidgetLibrary.tsx:203
msgid "The latest news from InvenTree"
msgstr "InvenTree'den en son haberler"
@@ -1190,7 +1202,7 @@ msgstr "Süper Kullanıcı Gerekir"
#: src/components/dashboard/widgets/NewsWidget.tsx:116
msgid "This widget requires superuser permissions"
-msgstr "Bu Widget Süper Kullanıcı İzinlerine İhtiyaç duyar"
+msgstr "Bu kart süper kullanıcı izinleri gerektirir"
#: src/components/dashboard/widgets/NewsWidget.tsx:133
msgid "No News"
@@ -1200,11 +1212,34 @@ msgstr "Haber yok"
msgid "There are no unread news items"
msgstr "Burada okunmamış haber yok"
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:15
+msgid "Generating Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:20
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:53
+#: src/pages/part/PartStockHistoryDetail.tsx:96
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:37
+#: src/pages/part/PartStockHistoryDetail.tsx:108
+msgid "Generate"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:64
+msgid "Stocktake"
+msgstr ""
+
+#: src/components/dashboard/widgets/StocktakeDashboardWidget.tsx:65
+msgid "Generate a new stocktake report"
+msgstr ""
+
#: src/components/details/Details.tsx:117
#~ msgid "Email:"
#~ msgstr "Email:"
-#: src/components/details/Details.tsx:123
+#: src/components/details/Details.tsx:129
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76
#: src/pages/core/UserDetail.tsx:93
#: src/pages/core/UserDetail.tsx:203
@@ -1212,110 +1247,118 @@ msgstr "Burada okunmamış haber yok"
msgid "Superuser"
msgstr "Süper Kullanıcı"
-#: src/components/details/Details.tsx:124
+#: src/components/details/Details.tsx:130
#: src/pages/core/UserDetail.tsx:87
#: src/pages/core/UserDetail.tsx:200
#: src/tables/settings/UserTable.tsx:405
msgid "Staff"
msgstr "Personel"
-#: src/components/details/Details.tsx:125
+#: src/components/details/Details.tsx:131
msgid "Email: "
msgstr "E-Posta:"
-#: src/components/details/Details.tsx:411
+#: src/components/details/Details.tsx:423
msgid "No name defined"
msgstr "Herhangi bir ad tanımlanmamış"
#: src/components/details/DetailsImage.tsx:77
msgid "Remove Image"
-msgstr "Resmi Kaldır"
+msgstr "Görseli Kaldır"
#: src/components/details/DetailsImage.tsx:80
msgid "Remove the associated image from this item?"
-msgstr "Bu ögeyle ilişkilendirilmiş resim kaldırılsın mı?"
+msgstr "Bu ögeyle ilişkilendirilmiş görsel kaldırılsın mı?"
#: src/components/details/DetailsImage.tsx:83
-#: src/forms/StockForms.tsx:895
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:324
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:415
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:884
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:903
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:254
+#: src/forms/StockForms.tsx:903
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:917
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268
#: src/tables/build/BuildAllocatedStockTable.tsx:178
-#: src/tables/build/BuildAllocatedStockTable.tsx:258
-#: src/tables/build/BuildLineTable.tsx:111
-#: src/tables/build/BuildLineTable.tsx:665
-#: src/tables/sales/SalesOrderAllocationTable.tsx:224
-#: src/tables/sales/SalesOrderAllocationTable.tsx:247
+#: src/tables/build/BuildAllocatedStockTable.tsx:274
+#: src/tables/build/BuildLineTable.tsx:116
+#: src/tables/build/BuildLineTable.tsx:671
+#: src/tables/sales/SalesOrderAllocationTable.tsx:223
+#: src/tables/sales/SalesOrderAllocationTable.tsx:246
msgid "Remove"
msgstr "Kaldır"
-#: src/components/details/DetailsImage.tsx:109
+#: src/components/details/DetailsImage.tsx:88
+msgid "Image removed"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:89
+msgid "The image has been removed successfully"
+msgstr ""
+
+#: src/components/details/DetailsImage.tsx:115
msgid "Drag and drop to upload"
msgstr "Yüklemek için sürükle ve bırak"
-#: src/components/details/DetailsImage.tsx:112
+#: src/components/details/DetailsImage.tsx:118
msgid "Click to select file(s)"
msgstr "Dosya(ları) seçmek için tıkla"
-#: src/components/details/DetailsImage.tsx:172
+#: src/components/details/DetailsImage.tsx:178
msgid "Image uploaded"
-msgstr "Görüntü yüklendi"
+msgstr "Görsel yüklendi"
-#: src/components/details/DetailsImage.tsx:173
+#: src/components/details/DetailsImage.tsx:179
msgid "Image has been uploaded successfully"
-msgstr "Görüntü başarıyla yüklendi"
+msgstr "Görsel başarıyla yüklendi"
-#: src/components/details/DetailsImage.tsx:180
+#: src/components/details/DetailsImage.tsx:186
#: src/tables/general/AttachmentTable.tsx:201
msgid "Upload Error"
msgstr "Yükleme Hatası"
-#: src/components/details/DetailsImage.tsx:250
+#: src/components/details/DetailsImage.tsx:256
#: src/components/forms/fields/AutoFillRightSection.tsx:34
msgid "Clear"
msgstr "Temizle"
-#: src/components/details/DetailsImage.tsx:256
+#: src/components/details/DetailsImage.tsx:262
#: src/components/forms/ApiForm.tsx:696
-#: src/contexts/ThemeContext.tsx:44
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:149
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:568
+#: src/contexts/ThemeContext.tsx:56
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570
msgid "Submit"
msgstr "Gönder"
-#: src/components/details/DetailsImage.tsx:300
+#: src/components/details/DetailsImage.tsx:306
msgid "Select from existing images"
-msgstr "Var olan resimlerden seç"
+msgstr "Mevcut görsellerden seç"
-#: src/components/details/DetailsImage.tsx:308
+#: src/components/details/DetailsImage.tsx:314
msgid "Select Image"
-msgstr "Resim Seç"
+msgstr "Görsel Seç"
-#: src/components/details/DetailsImage.tsx:324
+#: src/components/details/DetailsImage.tsx:330
msgid "Download remote image"
-msgstr "Uzak görüntüyü indirin"
+msgstr "Uzak görseli indir"
-#: src/components/details/DetailsImage.tsx:339
+#: src/components/details/DetailsImage.tsx:345
msgid "Upload new image"
-msgstr "Yeni resim yükle"
+msgstr "Yeni görsel yükle"
-#: src/components/details/DetailsImage.tsx:346
+#: src/components/details/DetailsImage.tsx:352
msgid "Upload Image"
-msgstr "Resim Yükle"
+msgstr "Görsel Yükle"
-#: src/components/details/DetailsImage.tsx:359
+#: src/components/details/DetailsImage.tsx:365
msgid "Delete image"
-msgstr "Resmi sil"
+msgstr "Görseli sil"
-#: src/components/details/DetailsImage.tsx:393
+#: src/components/details/DetailsImage.tsx:399
msgid "Download Image"
-msgstr "Görüntüyü indirin"
+msgstr "Görseli İndir"
-#: src/components/details/DetailsImage.tsx:398
+#: src/components/details/DetailsImage.tsx:404
msgid "Image downloaded successfully"
-msgstr "Görüntü başarıyla indirildi"
+msgstr "Görsel başarıyla indirildi"
#: src/components/details/PartIcons.tsx:43
#~ msgid "Part is a template part (variants can be made from this part)"
@@ -1347,11 +1390,11 @@ msgstr "Görüntü başarıyla indirildi"
#: src/components/editors/NotesEditor.tsx:75
msgid "Image upload failed"
-msgstr "Resim yükleme başarısız oldu"
+msgstr "Görsel yükleme başarısız oldu"
#: src/components/editors/NotesEditor.tsx:85
msgid "Image uploaded successfully"
-msgstr "Görüntü başarıyla yüklendi"
+msgstr "Görsel başarıyla yüklendi"
#: src/components/editors/NotesEditor.tsx:119
msgid "Notes saved successfully"
@@ -1399,7 +1442,7 @@ msgstr "Kod"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:50
msgid "Error rendering preview"
-msgstr "Önizleme görüntülenemiyor"
+msgstr "Önizleme görüntüleme hatası"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:120
msgid "Preview not available, click \"Reload Preview\"."
@@ -1436,7 +1479,7 @@ msgstr "Önizlemeyi Kaydedip Yeniden Yüklemek istediğinize emin misiniz?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:183
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?"
-msgstr "Önizlemeyi oluşturmak için mevcut şablonun, aktif kullanımdaysa etiketi bozabilecek değişikliklerinizle sunucuda değiştirilmesi gerekir. Devam etmek istiyor musunuz?"
+msgstr "Önizlemeyi görüntülemek için mevcut şablonun, aktif kullanımdaysa etiketi bozabilecek değişikliklerinizle sunucuda değiştirilmesi gerekir. Devam etmek istiyor musunuz?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:187
msgid "Save & Reload"
@@ -1480,7 +1523,7 @@ msgstr "Önizlenecek örneği seçin"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:423
msgid "Error rendering template"
-msgstr "Şablonu oluşturmada hata"
+msgstr "Şablonu işleme hatası"
#: src/components/errors/ClientError.tsx:23
msgid "Client Error"
@@ -1546,7 +1589,7 @@ msgstr "Bir veya daha fazla form alanında hatalar var"
#: src/components/forms/ApiForm.tsx:734
#: src/hooks/UseForm.tsx:133
-#: src/tables/plugin/PluginListTable.tsx:204
+#: src/tables/plugin/PluginListTable.tsx:210
msgid "Update"
msgstr "Güncelle"
@@ -1579,21 +1622,21 @@ msgstr "Başarıyla giriş yapıldı"
#: src/components/forms/AuthenticationForm.tsx:81
#: src/components/forms/AuthenticationForm.tsx:89
-#: src/functions/auth.tsx:132
-#: src/functions/auth.tsx:141
+#: src/functions/auth.tsx:133
+#: src/functions/auth.tsx:142
msgid "Login failed"
msgstr "Giriş başarısız"
#: src/components/forms/AuthenticationForm.tsx:82
#: src/components/forms/AuthenticationForm.tsx:90
#: src/components/forms/AuthenticationForm.tsx:106
-#: src/functions/auth.tsx:133
-#: src/functions/auth.tsx:313
+#: src/functions/auth.tsx:134
+#: src/functions/auth.tsx:350
msgid "Check your input and try again."
msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın."
#: src/components/forms/AuthenticationForm.tsx:100
-#: src/functions/auth.tsx:304
+#: src/functions/auth.tsx:341
msgid "Mail delivery successful"
msgstr "E-posta teslimi başarılı"
@@ -1628,7 +1671,7 @@ msgstr "Kullanıcı adınız"
#: src/components/forms/AuthenticationForm.tsx:143
#: src/components/forms/AuthenticationForm.tsx:311
#: src/pages/Auth/ResetPassword.tsx:34
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:193
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:195
msgid "Password"
msgstr "Parola"
@@ -1655,7 +1698,7 @@ msgstr "Size giriş yapabilmeniz için bir link göndereceğiz - eğer kayıtlı
#: src/components/forms/AuthenticationForm.tsx:190
msgid "Send me an email"
-msgstr "Bize bir eposta gönderin"
+msgstr "Bana bir e-posta gönder"
#: src/components/forms/AuthenticationForm.tsx:192
msgid "Use username and password"
@@ -1703,7 +1746,7 @@ msgid "Repeat password"
msgstr "Şifreyi tekrar girin"
#: src/components/forms/AuthenticationForm.tsx:332
-#: src/pages/Auth/Login.tsx:121
+#: src/pages/Auth/Login.tsx:123
#: src/pages/Auth/Register.tsx:13
msgid "Register"
msgstr "Kaydol"
@@ -1720,6 +1763,10 @@ msgstr "Kayıt aktif değil"
msgid "This might be related to missing mail settings or could be a deliberate decision."
msgstr "Bu, eksik posta ayarlarıyla ilgili olabilir veya kasıtlı bir karar olabilir."
+#: src/components/forms/DateTimeField.tsx:64
+msgid "Select date and time"
+msgstr ""
+
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:67
msgid "Host"
@@ -1731,14 +1778,14 @@ msgstr "Sunucu"
#: src/components/plugins/PluginDrawer.tsx:68
#: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:19
#: src/pages/part/CategoryDetail.tsx:91
-#: src/pages/part/PartDetail.tsx:446
-#: src/pages/stock/LocationDetail.tsx:82
+#: src/pages/part/PartDetail.tsx:463
+#: src/pages/stock/LocationDetail.tsx:91
#: src/tables/machine/MachineTypeTable.tsx:67
#: src/tables/machine/MachineTypeTable.tsx:149
#: src/tables/machine/MachineTypeTable.tsx:252
#: src/tables/machine/MachineTypeTable.tsx:355
-#: src/tables/plugin/PluginErrorTable.tsx:33
-#: src/tables/settings/ApiTokenTable.tsx:57
+#: src/tables/plugin/PluginErrorTable.tsx:35
+#: src/tables/settings/ApiTokenTable.tsx:58
#: src/tables/settings/GroupTable.tsx:95
#: src/tables/settings/GroupTable.tsx:148
#: src/tables/settings/GroupTable.tsx:256
@@ -1818,6 +1865,7 @@ msgstr "API Sürümü"
#: src/components/forms/InstanceOptions.tsx:142
#: src/components/nav/NavigationDrawer.tsx:197
+#: src/defaults/actions.tsx:173
#: src/pages/Index/Settings/AdminCenter/Index.tsx:228
#: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:46
msgid "Plugins"
@@ -1829,7 +1877,7 @@ msgstr "Eklentiler"
#: src/tables/part/PartTestTemplateTable.tsx:117
#: src/tables/settings/TemplateTable.tsx:251
#: src/tables/settings/TemplateTable.tsx:362
-#: src/tables/stock/StockItemTestResultTable.tsx:419
+#: src/tables/stock/StockItemTestResultTable.tsx:420
msgid "Enabled"
msgstr "Etkin"
@@ -1850,7 +1898,7 @@ msgstr "Durdu"
msgid "Running"
msgstr "Çalışıyor"
-#: src/components/forms/fields/ApiFormField.tsx:197
+#: src/components/forms/fields/ApiFormField.tsx:206
msgid "Select file to upload"
msgstr "Yüklemek için dosya seçin"
@@ -1858,7 +1906,7 @@ msgstr "Yüklemek için dosya seçin"
msgid "Accept suggested value"
msgstr "Önerilen değeri kabul et"
-#: src/components/forms/fields/DateField.tsx:76
+#: src/components/forms/fields/DateField.tsx:73
msgid "Select date"
msgstr "Tarih seçin"
@@ -1868,18 +1916,18 @@ msgstr "Hiç simge seçilmedi"
#: src/components/forms/fields/IconField.tsx:161
msgid "Uncategorized"
-msgstr "Sınıflandırılmamış"
+msgstr "Kategorisiz"
#: src/components/forms/fields/IconField.tsx:211
-#: src/components/nav/Layout.tsx:138
-#: src/tables/part/PartThumbTable.tsx:199
+#: src/components/nav/Layout.tsx:139
+#: src/tables/part/PartThumbTable.tsx:209
msgid "Search..."
msgstr "Ara..."
#: src/components/forms/fields/IconField.tsx:225
#: src/components/wizards/ImportPartWizard.tsx:304
msgid "Select category"
-msgstr "Sınıf seç"
+msgstr "Kategori seçin"
#: src/components/forms/fields/IconField.tsx:234
msgid "Select pack"
@@ -1890,13 +1938,13 @@ msgstr "Paket seç"
msgid "{0} icons"
msgstr "{0} simge"
-#: src/components/forms/fields/RelatedModelField.tsx:480
+#: src/components/forms/fields/RelatedModelField.tsx:481
#: src/components/modals/AboutInvenTreeModal.tsx:96
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:383
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:397
msgid "Loading"
msgstr "Yükleniyor"
-#: src/components/forms/fields/RelatedModelField.tsx:482
+#: src/components/forms/fields/RelatedModelField.tsx:483
msgid "No results found"
msgstr "Hiçbir şey bulunamadı"
@@ -1918,7 +1966,7 @@ msgstr "Yeni satır ekle"
#: src/components/images/Thumbnail.tsx:12
msgid "Thumbnail"
-msgstr "Küçük resim"
+msgstr "Küçük görsel"
#: src/components/importer/ImportDataSelector.tsx:175
msgid "Importing Rows"
@@ -1940,49 +1988,49 @@ msgstr "Veriyi Düzenle"
msgid "Delete Row"
msgstr "Satır Sil"
-#: src/components/importer/ImportDataSelector.tsx:276
+#: src/components/importer/ImportDataSelector.tsx:280
msgid "Row"
msgstr "Satır"
-#: src/components/importer/ImportDataSelector.tsx:294
+#: src/components/importer/ImportDataSelector.tsx:298
msgid "Row contains errors"
msgstr "Satırda hatalar var"
-#: src/components/importer/ImportDataSelector.tsx:335
+#: src/components/importer/ImportDataSelector.tsx:339
msgid "Accept"
msgstr "Kabul et"
-#: src/components/importer/ImportDataSelector.tsx:368
+#: src/components/importer/ImportDataSelector.tsx:372
msgid "Valid"
msgstr "Geçerli"
-#: src/components/importer/ImportDataSelector.tsx:369
+#: src/components/importer/ImportDataSelector.tsx:373
msgid "Filter by row validation status"
msgstr "Satır doğrulama durumuna göre süz"
-#: src/components/importer/ImportDataSelector.tsx:374
+#: src/components/importer/ImportDataSelector.tsx:378
#: src/components/wizards/WizardDrawer.tsx:113
-#: src/tables/build/BuildOutputTable.tsx:533
+#: src/tables/build/BuildOutputTable.tsx:582
msgid "Complete"
msgstr "Tam"
-#: src/components/importer/ImportDataSelector.tsx:375
+#: src/components/importer/ImportDataSelector.tsx:379
msgid "Filter by row completion status"
msgstr "Satır tamamlanma durumuna göre süz"
-#: src/components/importer/ImportDataSelector.tsx:393
+#: src/components/importer/ImportDataSelector.tsx:397
msgid "Import selected rows"
msgstr "Seçlen satırları içe aktar"
-#: src/components/importer/ImportDataSelector.tsx:408
+#: src/components/importer/ImportDataSelector.tsx:412
msgid "Processing Data"
msgstr "Veri İşleniyor"
#: src/components/importer/ImporterColumnSelector.tsx:56
-#: src/components/importer/ImporterColumnSelector.tsx:203
+#: src/components/importer/ImporterColumnSelector.tsx:230
#: src/components/items/ErrorItem.tsx:12
#: src/functions/api.tsx:60
-#: src/functions/auth.tsx:364
+#: src/functions/auth.tsx:397
msgid "An error occurred"
msgstr "Bir hata oluştu"
@@ -2002,31 +2050,31 @@ msgstr "Sütun seçin veya bu alanı yok saymak için boş bırakın."
#~ msgid "Imported Column Name"
#~ msgstr "Imported Column Name"
-#: src/components/importer/ImporterColumnSelector.tsx:209
+#: src/components/importer/ImporterColumnSelector.tsx:236
msgid "Ignore this field"
msgstr "Bu alanı yok say"
-#: src/components/importer/ImporterColumnSelector.tsx:223
+#: src/components/importer/ImporterColumnSelector.tsx:250
msgid "Mapping data columns to database fields"
msgstr "Veri sütunları veritabanı alanları ile eşleştiriliyor"
-#: src/components/importer/ImporterColumnSelector.tsx:228
+#: src/components/importer/ImporterColumnSelector.tsx:255
msgid "Accept Column Mapping"
msgstr "Sütun Eşleştirmesini Kabul Et"
-#: src/components/importer/ImporterColumnSelector.tsx:241
+#: src/components/importer/ImporterColumnSelector.tsx:268
msgid "Database Field"
msgstr "Veritabanı Alanı"
-#: src/components/importer/ImporterColumnSelector.tsx:242
+#: src/components/importer/ImporterColumnSelector.tsx:269
msgid "Field Description"
msgstr "Alan Açıklaması"
-#: src/components/importer/ImporterColumnSelector.tsx:243
+#: src/components/importer/ImporterColumnSelector.tsx:270
msgid "Imported Column"
msgstr "İçe Aktarılmış Sütun"
-#: src/components/importer/ImporterColumnSelector.tsx:244
+#: src/components/importer/ImporterColumnSelector.tsx:271
msgid "Default Value"
msgstr "Varsayılan Değer"
@@ -2039,8 +2087,8 @@ msgid "Map Columns"
msgstr "Sütunları Eşleştir"
#: src/components/importer/ImporterDrawer.tsx:45
-msgid "Import Data"
-msgstr "Veri İçe Aktar"
+msgid "Import Rows"
+msgstr ""
#: src/components/importer/ImporterDrawer.tsx:46
msgid "Process Data"
@@ -2070,8 +2118,8 @@ msgstr "Veri başarıyla içe aktarıldı"
#: src/components/modals/AboutInvenTreeModal.tsx:205
#: src/components/modals/ServerInfoModal.tsx:134
#: src/components/wizards/ImportPartWizard.tsx:773
-#: src/forms/BomForms.tsx:132
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:685
+#: src/forms/BomForms.tsx:137
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:687
msgid "Close"
msgstr "Kapat"
@@ -2104,8 +2152,8 @@ msgstr "Ayarlar"
#~ msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:171
+#: src/tables/InvenTreeTableHeader.tsx:192
#: src/tables/InvenTreeTableHeader.tsx:193
-#: src/tables/InvenTreeTableHeader.tsx:194
msgid "Barcode Actions"
msgstr "Barkod Eylemleri"
@@ -2177,10 +2225,15 @@ msgstr "Bilinmeyen hata"
msgid "None"
msgstr "Hiçbiri"
-#: src/components/items/InvenTreeLogo.tsx:23
+#: src/components/items/InvenTreeLogo.tsx:36
+#: src/components/items/InvenTreeLogo.tsx:40
msgid "InvenTree Logo"
msgstr "InvenTree Logo"
+#: src/components/items/LanguageSelect.tsx:44
+msgid "Default Language"
+msgstr ""
+
#: src/components/items/LanguageToggle.tsx:21
msgid "Select language"
msgstr "Dil Seç"
@@ -2208,9 +2261,10 @@ msgstr "Grup rolleri güncelleniyor"
#: src/components/items/RoleTable.tsx:118
#: src/components/settings/ConfigValueList.tsx:42
-#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/BomPricingPanel.tsx:151
#: src/pages/part/pricing/VariantPricingPanel.tsx:51
-#: src/tables/purchasing/SupplierPartTable.tsx:155
+#: src/tables/ColumnRenderers.tsx:731
+#: src/tables/purchasing/SupplierPartTable.tsx:186
msgid "Updated"
msgstr "Güncellendi"
@@ -2223,7 +2277,7 @@ msgid "Role"
msgstr "Rol"
#: src/components/items/RoleTable.tsx:140
-#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:892
+#: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:906
msgid "View"
msgstr "Görüntüle"
@@ -2232,8 +2286,8 @@ msgid "Change"
msgstr "Değiştir"
#: src/components/items/RoleTable.tsx:150
-#: src/forms/StockForms.tsx:941
-#: src/tables/stock/StockItemTestResultTable.tsx:367
+#: src/forms/StockForms.tsx:949
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Add"
msgstr "Ekle"
@@ -2255,14 +2309,14 @@ msgstr "Öğe yok"
#: src/components/items/TransferList.tsx:161
#: src/components/render/Stock.tsx:102
-#: src/pages/part/PartDetail.tsx:1009
+#: src/pages/part/PartDetail.tsx:1020
#: src/pages/stock/StockDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:942
-#: src/tables/build/BuildAllocatedStockTable.tsx:132
-#: src/tables/build/BuildLi